Trying out an XMEGA uC
Above is the shiny new XMEGA development board which arrived a few days ago. I have had a plan for a while to switch the NTP Server project from the smaller MEGA microcontrollers to something a bit larger.
It's been something of an ordeal to get just basic features of the board functioning. I appear to have tripped over some sort of bug in the Linux USB CDC code since it utterly refuses to treat the USB Serial bridge on the board as anything useful at all. Thankfully I wasn't planning on relying on any bootloader in the main XMEGA chip, so lacking the bridge is an annoyance rather than a complete killer - the board still breaks out two further TTL-level USARTs (as well as SPI and I2C!) so I can actually work around it fairly easily.
Otherwise the board is quite neat. It has the requisite blinky LEDs (8 of them!), a bunch of buttons arranged the way I tend to do so (they pull the input to ground, and rely on an internal pull-up in the uC), RTC crystal, along with stuff slightly less useful to me now (a speaker wired up to the DAC, a temp sensor, a light sensor, and 1MB of SDRAM). What's great is none of this takes away from having a decent number of IO pins left over. They've also made sure that while the firmware on the bridge chip needs some improvements, the hardware has been built to support a number of interesting future uses for the bridge chip.
So far I've managed to also validate I can reflash the USB bridge chip with arbitrary code, since it has a DFU bootloader on it. I think the only things they've got wrong is they could have staggered the USB bridge chip off the accessible JTAG port as well as the main XMEGA chip, but instead it's JTAG interface is test points on the underside. And it has unpopulated footprints for flash, which considering it's maybe a couple of bucks for 1MB of flash is a bit cheap to leave off.
We'll see how this goes. It's looking at least promising enough I'm willing to consider switching to the XMEGA line for the next major board revision of the endless NTP Server project!