Golem mechanical keyboard project

Pro Micro Pinout

The Arduino Pro Micro is cheap (~3$) and perfect for small boards (less than 81 keys). With a little hack though, it can drive a keyboard with up to 100 keys.

Available pins: 18+2

The Arduino Pro Micro has 18 easily accessible bidirectional digital pins, that's enough for a board with up to 81 keys.

However, there are 2 more pins, used by the onboard leds, which can be quite easily turned into usable pins. Just desolder the leds or solder your wire directly to the resistors of the leds. This way you can wire up a board with up to 100 keys (using the 18+2 pins).

The Atmega32u4 has even more GPIO pins (26), which could be available by soldering directly to the microcontroller, but that seems too difficult to me.

Pinout & marking

Marking on the Pro Micro board can be confusing. Some pins on the AVR can also be used for special purposes such as serial, timer input, PWM output, etc. and they are therefore sometimes labelled by those functions.

Arduino makes it even more confusing: it doesn't maps its pin numbers to AVR ports.

Here is the mapping:

[pic pinout - sajátot csinálni]

In the figure above, Pxy stands for digital port x, bit y.


Unlike the Teensy 2.0, the Arduino Pro Micro has a built-in voltage regulator (it was designed to run on batteries).

There are two variants of the Pro Micro: One which feeds the AVR 3.3V, and one which is made to feed it 5V - the 5V version being the most common. If it does not say, it should be the 5V version.

If you do feed it with +5.0V from USB, however, there is a penalty - the voltage regulator will deliver only +4.9V.

The AVR should run well on 4.9V, but you could also bypass the voltage regulator by bridging J1 with solder.

RAW = +5V from the USB port (or power IN if you use battery). VCC = +4.9V (or 3.3V) from the voltage regulator, or +5V if bypassed.

On 3.3V, the AVR is limited to 8 MHz and the firmware needs to be made for it but since most firmwares are made for the Teensy 2.0 which runs always on 5V, if you have the 3.3V of the Pro Micro you should bridge J1 to run that firmware.


scottc, Findecanon, Ladrigon


  • https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/Pro_Micro_v13b.pdf

  • https://deskthority.net/keyboards-f2/cheaper-teensy-alternative-t14362.html

  • https://deskthority.net/keyboards-f2/in-praise-of-bigfoot-t8956.html#p192171

  • https://imgur.com/gallery/uO9HO

  • https://www.reddit.com/r/MechanicalKeyboards/comments/5uhbva/you_actually_have_more_than_18_gpio_pins_on_a_pro/