I love tiny electronic gizmos! I have a special place in my heart for the Arduino UNO, which taught me some of the basics about electronics.

But I feel like the hardware design is lacking a certain... elegance. So I decided, for fun, to re-design it into a smaller package.

You can see pictures below:

penny included for scale


I used the following excellent resources:

  1. KiCAD and this tutorial.
  2. OshPark for manufacturing the PCB.
  3. Arduino website for instructions on burning a bootloader and this for instructions on how to program it with an FTDI chip.
  4. Sparkfun's FTDI Friend has an excellent schematic that I basically copied.
  5. DigiKey (where else?) for cheap electronic components.

The finished product (soldered by hand, not with a pick-n-place) works great! It has LED's for Tx, Rx, pin 13, and an FTDI chip which makes programming about as simple as it gets. Plug it in, fire up the Arduino IDE, and you are off to the races!

In order to save space, I did not include all of the pins that you can reach on the UNO, so I may go back and add a few in the future. I also may explore the following:

  1. Swap the Atmega328 for the more powerful Atmega1280 or the mighty STM32.
  2. Make the programming interface (eg. the FTDI) separate and include a battery for the micro-controller. That way, you could plug in the programmer, code it, disconnect, and continue to run the code on your mico-controller.
  3. Add additional 10-DOF sensors: 3-axis accelerometer, 3-axis Gyro, 3-axis Compass, Barometric sensors
  4. Add a GPS module.
  5. Add Kalman filtering!
  6. Include some ESP8266 to wirelessly output Kalman filtering results.

So there is a lot left to do. Endless possibilities and all that.