Arduino Pro Micro
Manufacturer | Sparkfun (and others) |
---|---|
License | Creative Commons Share-alike 4.0 International |
Host port | USB Micro B |
Microcontroller | ATMega32U4 |
MPU | AVR (8-bit) |
Voltage | 3.3V or 5V |
Clock speed | 8 MHz or 16 MHz |
Digital I/O pins | 18 |
RAM | 2.5 KB |
Program memory | 32 KB |
EEPROM | 1 KB |
Boot loader | Caterina |
Website | www.sparkfun.com/products/12640 |
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.
Description
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 | ATmega32u4 port |
---|---|---|
red | power on | |
yellow | USB receiving data | PB0 (active low) |
green | USB sending data | PD5 (active low) |
Pinout
Arduino | AVR | ↑ | AVR | Arduino | ||
---|---|---|---|---|---|---|
USB port | ||||||
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 | D15 | 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 Pro Micro is programmed using a command line tool called avrdude. Sparkfun's and scottc's tutorials explain this further (see links).
Clones
- See the Pro Micro category for controller boards that are pin-compatible.
- See the ATmega32U4 category for controller boards with the same microcontroller (but different pinout).
Beware that there are clones that differ from the original in incompatible ways:
- Longer circuit board
- Pin-compatible alternatives for the keyboard community may be longer for extra functionality, such as fitting a USB-C port (which is larger), more pins, buzzer (for "click") and/or circuitry for a Bluetooth transceiver. They will not fit all keyboard PCBs or cases.
- Wider circuit board
- Wider, with the rows of pins one or two positions farther apart.[1] These will not fit a (keyboard) PCB made for the proper hole spacing.
- Shorts VBUS to Vcc
- Some 5V clones have no 5V voltage regulator and diode or connect the regulator only to the RAW pin. This can be a problem for some split keyboards with a Pro Micro in each half of which only one is connected to the host: voltage on the VBUS input is usually used to determine which side should be master and which should be slave.
- 8 MHz crystal
- Both 5V and 3.3V Sparkfun Pro Micros have a 16MHz clock crystal. The max clock for 3.3V is 8 MHz, and software intended to run on Pro Micros at 3.3V could set the prescaler to halve the input frequency — and then instead run at 4 MHz.
- Wrong pinout
- Pro Micro clones with USB-C have been spotted where the PB1 and PB3 pins have been swapped.[2]
Developer information
- Deskthority forum tutorial: How to use a Pro Micro as a cheap controller/converter by scottc
- SparkFun's ProMicro Product Page, with links to schematic, EAGLE files, datasheets, drivers and an application tutorial
References
- ↑ 40 Percent Club—Another black Pro Micro that's not the right size.. Dated 2018-08-08. Retrieved 2019-09-03
- ↑ Reddit /r/MechanicalKeyboards: BEWARE of the USB-C Pro Micro Clones. Dated 2021-10-28. Retrieved 2021-11-01