Opens in a new tab

Arduino Pro Micro Pinout

Pro Micro is a SparkFun board (33 × 18 mm) with the ATmega32U4 chip – the same one as in the Arduino Leonardo and Micro. Thanks to native USB it is a popular base for custom keyboards, macro pads and game controllers.

Most boards on sale are cheap 5 V / 16 MHz clones; a 3.3 V / 8 MHz version also exists.

Specifications

  • ATmega32U4: 8-bit AVR with USB, 16 MHz (5 V version) or 8 MHz (3.3 V version)
  • 32 kB flash (4 kB used by the bootloader), 2.5 kB SRAM, 1 kB EEPROM
  • 18 GPIO on the headers (5× PWM), 9 analog inputs
  • UART (Serial1), I2C (pins 2/3) and SPI (pins 14, 15, 16)
  • native USB (keyboard, mouse, MIDI), micro USB (USB-C on some clones)
  • powered from USB or via RAW (up to 12 V)
  • 33 × 18 mm

In the Arduino IDE select the Arduino Leonardo board, or the SparkFun Pro Micro from SparkFun’s board package (required for the 3.3 V / 8 MHz version). With the wrong frequency selected, the board drops off USB after uploading and can only be revived with a double reset.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
Arduino Pro Micro – pinoutArduino Pro Micro – pinoutchiptron.eu · CC BY 4.0ATmega32U4micro USBRXTX D1 PD3 TX1 TXO D0 PD2 RX1 RXI GND GND D2 PD1 SDA INT1 D3 PD0 SCL PWM INT0 D4 PD4 A6 D5 PC6 PWM D6 PD7 PWM A7 D7 PE6 INT6 D8 PB4 A8 D9 PB5 PWM A9 RAW ← Power input max. 12 V (regulator to VCC) GND RST ← Reset – connect to GND; twice quickly = bootloader for 8 s VCC ↔ 5 V (3.3 V on the 8 MHz version) from the regulator or from USB A3 PF4 ADC4 A2 PF5 ADC5 A1 PF6 ADC6 A0 PF7 ADC7 D15 PB1 SCK D14 PB3 MISO D16 PB2 MOSI D10 PB6 PWM A10 GPIO Chip port UART I2C SPI ADC (analog) PWM Power Ground (GND) Control / reset
Download:PNGSVG
Pin table – Arduino Pro Micro
NameChip portDirectionUARTI2CSPIPWMADCNote
D0PD2input/outputRX1UART RX (Serial1) – hardware UART. Serial in Arduino is USB, not these pins. External interrupt INT2.
D1PD3input/outputTX1UART TX (Serial1), TXO on the silkscreen; external interrupt INT3
D2PD1input/outputSDAI2C SDA (Wire); external interrupt INT1
D3PD0input/outputSCLPWMI2C SCL (Wire); PWM (OC0B); external interrupt INT0
D4PD4input/outputA6Analog input A6 (ADC8)
D5PC6input/outputPWMPWM (OC3A)
D6PD7input/outputPWMA7PWM (OC4D); analog input A7 (ADC10)
D7PE6input/outputExternal interrupt INT6
D8PB4input/outputA8Analog input A8 (ADC11)
D9PB5input/outputPWMA9PWM (OC1A); analog input A9 (ADC12)
D10PB6input/outputPWMA10PWM (OC1B); analog input A10 (ADC13)
D14PB3input/outputMISOSPI MISO (14 on the silkscreen)
D15PB1input/outputSCKSPI SCK (15 on the silkscreen)
D16PB2input/outputMOSISPI MOSI (16 on the silkscreen)
A0PF7input/outputADC7
A1PF6input/outputADC6
A2PF5input/outputADC5
A3PF4input/outputADC4
GND–
GND–
VCCinput/outputRegulated board voltage – 5 V on the 16 MHz version, 3.3 V on the 8 MHz version. It is an output, but it can also power the board from a regulated supply. Jumper J1 (closed on the 5 V version) connects USB directly to VCC.
RSTinputThe board has no reset button: short RST to GND. Shorting it twice quickly starts the bootloader for 8 s – this revives a board that an uploaded program has "locked".
GND–
RAWinputUnregulated power input to the regulator (MIC5219, 500 mA). The safe maximum is 12 V, and the voltage should be at least 1 V above VCC. When powered from USB, RAW is about 4.8 V.

What to watch out for

  • The board has no LED on pin 13 – LED_BUILTIN lights nothing. You can blink the RX and TX LEDs instead.
  • The classic Pro Micro has no reset button: short RST to GND twice quickly = bootloader for 8 s.
  • Apply at most 12 V to RAW, and at least 6 V for the 5 V version.
  • The board version (5 V / 16 MHz or 3.3 V / 8 MHz) must match the setting in the Arduino IDE.
  • Clones vary: the J1 jumper, the regulator and the LED colors may differ from the original.

ATmega32U4 and small Arduinos on chiptron.eu/

Projects and guides on chiptron.eu/:

More pinouts

See all pinouts on the Pinouts page.

Related Articles