The board is based on the Atmel ATmega32u4 microcontroller, uses 3.3V power line, runs at 8MHz, breaks out all 13 digital channels, 6 analog input, have ISP port for programming, onboard reset button, TX/RX/Power/D13 LEDs (different colours for good fun!).

Embedded single board computers could also use the power of Arduino, but USB connections are flaky. It is much more reliable if things are screwed in, instead of just being plugged in.

Compatible boards

Might work

and others...

Software Notes

In Linux it only needs the USB CDC ACM (Communications Device Class Abstract Control Model) driver enabled, and the board will show up as a /dev/ttyACMx device, can be used in the Android IDE. Get the SparkFun Pro Micro definitions from the SparkFun GitHub repo. The firmware is the same as the SparkFun Pro Micro 3.3V/8MHz board, you can get the support files from their SF32u4_boards repo.

The firmware is Caterina-promicro8.hex, and PCIeDuino ships with that flashed. How to tell? When the board is powered up, the D13 LED will do a 1 second period version of the Fade script (will fade in/out).

The board shows up as a ACM device (eg. /dev/ttyACM0). For this the running kernel has to have CDC ACM support!

The Arduino IDE is not very well supported on ARM boards, apparently (on Debian e.g. the available version is 1.0, while at the time of writing the latest is 1.6.5). Need some software work, but can cross-compile: create the program on another machine, copy the resulting .hex file and flash that with avrdude as

avrdude -v -patmega32u4 -cavr109 -b57600 -D -Uflash:w:HEXFILENAME:i
or similar (where HEXFILENAME is the filename of the compiled program).

For flashing over the USB line, it seems one needs to put the board into "bootloader mode" (pressing the Reset button x2 with the SparkFun firmware). The firmware don't seem to be flashable over the USB line, only through the ISP headers (but need to investigate).

There's also plan to provide a port of the popular Optiboot firmware for this board, but this is currently in preparation (contributions are appreciated!)


This project was featured on Hackaday on 2015 July 24.