GOLEM keyboard project

Raspberry Pi Pico

The Raspberry Pi Pico, an RP2040-based microcontroller board, just like other development boards based on the RP2040 chip, is a cheap and easy-to-use alternative to the Pro Micro and QMK approach.

In January 2021, the Raspberry foundation released a microcontroller board called the Pico. It's safe to say that the Raspberry Pi Pico and the RP2040 chip it's sporting proved to be revolutionary with regards to DIY keyboard building.

Just to make things clear: the RP2040 is the microcontroller chip designed by Raspberry and the Pi Pico is the first – but only one – of the many development boards built around that chip.

Their success is at least due to three different factors: low price, simple to use, and widely available. While not essential for a keyboard, add the relatively huge RAM and off-chip Flash, the powerful processor, the number of I/O pins, and it's pretty clear why you see more and more RP2040-based projects.

Pi Pico price

With its price in the $4-5 range, the Pi Pico became the cheapest alternative of go-to boards like the Pro Micro or Teensy 2.0. Meanwhile, the once cheap and popular Chinese Pro Micros, available for less than $3 pre-Covid, are going for $6-7 nowadays.

Simple to use

When using CircuitPython and KMK, Pi Pico based keyboards appear as a USB drive in your file manager. All you have to do to breath life into the board is dragging CircuitPython (a file), KMK (a directory) and your keymap (a text file) onto the drive.

In contrast, if you've ever built a custom keyboard based on a Pro Micro and QMK firmware, you know the intimidating workflow: setting up a local building environment, setting up QMK, compiling the HEX file, configuring AVRDude/Dudess to upload the firmware, etc.

You can set up KMK in just two minutes. No need to compile anything, no need to flash the firmware every time you want to make the tiniest update to your keymap. Just drag a file to the USB drive. I write about the necessary steps in this Adafruit KB2040 example and in this detailed guide on how to build a keyboard with CircuitPython, KMK and KB2040 – another RP2040-based controller board, this time by Adafruit.

RP2040 availability

As of writing this, the Atmega32u4 is unavailable at my go-to store of electronic components. In contrast, they have more than 50 million (?!) Pi Picos in stock...

And that's just the Pi Pico. There are a plethora of other RP2040 based development boards for general purpose and also specifically for keyboards: The KB2040 KeeBoard with Pro Micro footprint by Adafruit, various models from Sparkfun, the tiny RP2040-Zero or the RP2040 Stamp, just to name a few.

Number of pins

The Pi Pico sports 26 GPIO pins, in contrast to the 18(+2) pins of a classic Pro Micro.

That said, the Pro Micro's 18 or a "hacked" Pro Micro's 20 pins were sufficient for an average split keyboard or a monoblock with a reasonable number of keys.

However, a fullsize board – which is pretty rare when it comes to DIY keyboards – or a monoblock with extra features like rotary encoders, displays, LEDs, etc., may benefit from the increased number of pins.

Storage

If, for some reason, your firmware can't fit on the 32KB Flash of the Pro Micro, the Pi Pico's 264KB SRAM and 8MB SPI Flash chip will hopefully be able to host all the crucial typing cat animations, startup sounds and custom LED animations you as a serious keyboard designer can't live without.

Dimensions

This is probably the only aspect where the Pro Micro is superior to the Raspberry Pi Pico: the latter may be simply too bulky for some designs.

The Pi Pico with its 21mm x 51mm dimensions is considerably larger than the classic Pro Micro (18x33mm) or a Teensy 2.0 (18x31mm).

If that's a problem for your project, there are various RP2040-based development boards with smaller form factors. E.g. the RP2040-Zero or the RP2040 Stamp.

Summary

All in all, the Pi Pico is a powerhouse of features which makes it superior to common controllers used to build DIY keyboards like the Pro Micro, Teensy 2.0 or Elite-C.

For a considerably lower price you get much more GPIO pins, performance and storage place for your files/firware.

If you don't insist on the Pro Micro form factor, changing to the Pi Pico is a no-brainer.