Noot / Erwt Notes

Note #5 Wednesday 21 September 2011

Noot CPU

The low-cost Cortex-M3 cpus seem to be dominated by NXP (LPC13x) and ST (STM32x). While I’ve used TI’s Stellaris for all my Pindakaas development, in theory any M3 with a JTAG port will suffice. This immediately disqualifies the LPCs, as they only have Serial DebugWire (SWD) interfaces. OpenOCD (which Pindakaas uses to interface with the CPU) currently only supports pure JTAG, so that leaves me the STMs.

The most suitable STM seems to be STM32F100 series which comes in a 48 pin LQFP with 8KB RAM and up to 128KB flash. This is a quick layout test:

Noot layout

The boost converter is on the right, between the two bolts. The top right is FT2232 + related USB / JTAG stuff. Bottom left is the ARM and H-Bridge. I’ve added two of the reflectance sensors I used on the Foxbot as well, but I found those really annoying to mount so it’d probably be worth trying to find something better. USB connector, pushbutton, beeper (need to find an SMD one as the pins for the Foxbot one are annoying to fit on this board) and LEDs are on the other side.

SWD

I should investigate what’d be needed for SWD though, as I assume most low-pin-count ARMs will move towards it. There was some discussion about OpenOCDs support, so I assume it’ll eventually arrive. Also, I should look at a replacement for the FT2232, as it’s a rather expensive part for just JTAG interface. I’m sure a small USB-enabled ARM or AVR could provide equivalent functionality for much cheaper (Like the Arduino guys did with the USB AVR to replace their FT232). But thats a cost optimisation, so it can wait for now.