Tim Hatch

Weblog | Photos | Projects | Panoramas | About


I wanted to make a compact board that would allow plugging in other daughterboards to act as a reprap controller. Specific goals include:

  • Compact. The goal is 2"x2" (or 50mmx50mm), because this is cheapest to manufacture.
  • Headers accept 2x5 IDC cables, and expose all of every port (except for USB) along with 3.3v power and ground.
  • Runs off 5v, using a standard connector (floppy molex, for running off an AT or ATX PSU), or some other 2-pin 0.100" of your choice.
  • Onboard regulator (2 included today, larger one on the bottom)
  • 2-layer board
  • Mostly components on one side, for reflow soldering
  • 3-pin connectors for endstops onboard, everything else separate so it's upgradeable using the same breakout.
  • USB and MicroSD (which don't come in 0.100" pinouts) built-in.
  • Special bottom pads for PDI programming using pogo pins



First version released to manufacturing. Top Both image.

Known problems: via-in-pad on crystal's load cap, AVCC missing bypass cap and ferrite, USB GND incorrectly on shield (short C6 as workaround), CN2 (PDI) too close to others, various grid problems, silkscreen overlapping with pad (PORTA/E polarity, PORTD vias, Y on power in, missing on all 0603), routing could be better (PORTD on bottom, swap PORTA bus and PDI), main power cap is small, can only install screw terminals for power if you skip the screw, can't power from usb.

To improve: (all of the above) + PORTC routing, usb connection led, polarity markers in library parts, more options for microsd/usb connector, document the ducky, document pogo header. Also some of the silkscreen is a mess. I haven't tested a few parts, which still includes: bottom side regulator, crystal, and microsd.

I intended the 10P headers to be a standard pinout, so I went with Px0-Px7,GND,VCC as used in the STK-500 and Xplained series. However, for the STM32F103DEV from Futurlec, is Px0-Px7,VCC,GND. I had hoped there would be an obvious standard here, but there isn't.


git clone git://code.timhatch.com/xmega-basic2.git

Versions are in tags of the same name.