Arduino Pro Micro

From Deskthority wiki
Jump to: navigation, search

The Pro Micro is an Arduino-compatible microcontroller board developed under an open hardware license by Sparkfun. Clones of the Pro Micro are often used as a lower-cost alternative to a Teensy 2.0 as a basis for a DIY keyboard controller/converter when a lower number of pins would suffice.

Like the Teensy 2.0, it sports an AVR ATmega32u4 8-bit microcontroller which has an integrated USB controller. It has a micro-USB type B port (Teensy 2.0: mini-USB), 18 I/O pins (Teensy 2.0: 25 I/O pins) and an integrated voltage regulator for 3V operation.

The Pro Micro is sold in a 3.3 V version (8 MHz) and a 5 V version (16 MHz).

On the 3.3 V version, shorting a solder bridge (J1) on the chip bypasses the 3.3 V voltage regulator on the board. This would allow 5 V operation and running at 16 MHz clock. At 3.3 V, the ATmega32u4 is otherwise limited to 8 MHz clock.

The ProMicro has three LEDs:

Colour Function
red power on
yellow USB receiving data
green USB sending data

Pinout

Arduino AVR AVR Arduino
USB port
 
ProMicroClone.jpg
 
   
TX D1 PD3 RAW (+5V from USB)
RX D0 PD2 GND
GND Reset
GND Vcc (+3V*)
SDA D2 PD1 PF4 D21 A3
SCL D3 PD0 PF5 D20 A2
A6 D4 PD4 PF6 D19 A1
D5 PC6 PF7 D18 A0
A7 D6 PD7 PB1 D5 SCLK
D7 PE6 PB3 D14 MISO
A8 D8 PB4 PB2 D16 MOSI
A9 D9 PB5 PB6 D10 A10
  • Two more pins are accessible by soldering directly to the bottom of the two lower most LEDs - the one above the P in the "Pro" label (beside the number 8), and the o in the "Micro" (beside the 1 of the number 16 in the image). These are Pins PB0 and PD5 of the AVR.

The pinout is nearly identical to the Arduino Pro Mini which has pin 3 as an additional Reset line instead of Ground.

Programming

Uploading native software to run on the Pro Micro works different than for the Teensy 2.0. There is no reset button on the board, instead two pins have to be shortcut twice to bring the device in bootloader mode for 8 seconds. While the Teensy comes with an graphical uploader tool, the Micro Pro is programmed using a command line tool called avrdude. Sparkfun's and scottc's tutorials explain this further (see links).

See also