Keybow 2040

by Pimoroni

A luxe all-in-one 16 key mini mechanical keyboard with hot swap clicky or linear switches and per key customisable RGB lighting.

Keybow evolves into its final form with a 4x4 grid of keys, and low latency input, high reliability and a super slim footprint courtesy of the brand new RP2040 chip from Raspberry Pi. The RP2040 microcontroller chip is incorporated neatly into the Keybow 2040 PCB, so it's a tidy all-in-one unit. We've added our favourite Kailh Speed switches (now available in clicky, linear or tactile varieties) and smart transparent DSA keycaps that look incredible when lit up with the fully customisable per-key RGB lighting.

You could use Keybow 2040 as a streaming deck for adjusting in-stream audio settings and switching easily between OBS scenes, as a capable midi controller for triggering clips, tracks, or effects in Ableton Live or as a customisable hotkey pad for programs like Photoshop. It's also handy for pasting frequently-used text or code snippets.

Features

  • Powered by RP2040
  • 2MB of flash memory.
  • 16 (4x4 matrix) of low profile keys connected directly to GPIOs
  • Kailh hot-swap switch sockets (for Cherry MX-compatible switches)
  • Per key RGB LEDs driven by an IS31FL3731 PWM LED matrix driver
  • A BOOTSEL button (this can also be used as a user switch)
  • A reset button!
  • Powered and programmable via USB-C
  • Dimensions: approx 76mm x 76mm x 30mm (L x W x H, including switches, keycaps and feet)
  • No soldering required!
  • Comes with CircuitPython pre-installed
  • PMK CircuitPython library
  • Schematic

Includes

The clicky, linear and tactile kits contain everything you need* to assemble your own mini mechanical keyboard with high-quality clicky (Gold), linear (Silver) or tactile (Copper) Kailh Speed switches and clear DSA-profile key caps. The hot-swap Kailh sockets mean that assembly is super simple and there's absolutely no soldering required!

We also have a bare bones edition available, without keycaps and switches, for folks who would like to supply their own. The hot-swap sockets will work with Cherry-MX compatible switches and you'll need ones that have a recess on the underside for surface mount LEDs.

* A USB-C cable is not included, but we sell one here!

Getting started

This tutorial shows you how to assemble your Keybow 2040 - assembly is really straightforward and the only tool you'll need is a small Phillips screwdriver.

We're shipping Keybow 2040 with CircuitPython and all the necessary libraries pre-installed - it even comes set up with an example to get you going! 

Software

Our good friend Sandy has written a swish CircuitPython library which makes it easy to program and customise your Keybow 2040. There are simple examples to show you how to control the LEDs and buttons, as well as fancy ones to show you how set it up as a USB input device or even a midi controller/sequencer.

You can watch Sandy's livestream where he chats about Keybow 2040 and how the library works here.

About RP2040

Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.

One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.

65 customer reviews

7 days ago
Great product- using this to create (hopefully!) a live performance device for synthesisers, and of course there’s a library there to help get started with that. Love how easy Pimoroni make it to get started with their products!
by Scott about Keybow 2040 via REVIEWS.io
4 months ago
Thought it would be handy to use as a shortcut pad for my CAD package. Was on a special deal so I gave it a go. Easy to assemble and get up and running. As only a beginner at python it took a bit of figuring out to get it working how I wanted. But plenty of examples to use and adapt and with a bit of tinkering got it how I wanted. A few printed clear stickers on top of the keys and it is a time saving addition. I can swap the function of some of the keys so they do different things, depending on the CAD mode. The colour of the keys changes to indicate this. Thinking maybe worth getting another one for general use on my other computer now!
by Toby about Keybow 2040 via REVIEWS.io
9 months ago
I bought this to make a software macro keypad for my dad, as he struggles to remember keyboard shortcuts and thought that associating functions with grid positions and colours would make it easier to remember. Positive points: - The kit went together well and worked first time without issue - It looks nice and doesn't slide around in use - not too light - The CircuitPython examples provided on the device itself cover a good range of use cases Things that could be improved: - The provided screws are a little short, and don't engage much with the threaded standoffs - The assembly instructions say to "gently" push the layer with the keys attached into the layer with the hot-swap sockets, but the sheer number of pins involved (32) means you have to gradually work back and forth across the keys with slightly more force than feels comfortable until they eventually all seat, despite triple-checking that all of the pins were straight and meeting the sockets before starting - The reset and bootloader buttons next to the USB-C connector have labels printed next to them on the middle PCB, but these are completely hidden by the bottom plate once installed. It would be useful to repeat the labels on the bottom panel so you don't have to look up which button is which later on - The keypad shipped with an old beta version of CircuitPython installed on it (I think it was 6.x, and 9.x is current at time of review), so needed to be upgraded to work with the modern library bundles I wrote some code to parse the key combinations from a simple text config file and to read the LED colours from a 4x4 pixel bitmap file, both stored in the root of the CircuitPython USB drive. Dad was pleased at how easy this makes it to reconfigure - you can just open, modify and save one of the files or drag replacements onto the drive to switch between entirely different configurations, and it will immediately reboot and pick up the configuration changes. No messing around with the code itself. He's since asked if I can make one of the keys switch between configurations on the fly, and it's great to be able to say "yes" without having to work within the limitations of an off-the-shelf commerical keypad.
by Anonymous about Keybow 2040 via REVIEWS.io
2 years ago
Great build quality, and great size! Not to mention well designed as well as beautiful gold and black art on the bottom!
by Anonymous about Keybow 2040 via REVIEWS.io
2 years ago
Love this keypad, documentation is pretty good for programming it. My only suggestion for improvement would be to provide some more coding guides aimed towards beginners I would love to give one to my nephew but I don't think the guides are oriented towards novices
by Patrick about Keybow 2040 via REVIEWS.io
2 years ago
Nice but I wish more GPIO pins would be exposed for use. Now nearly impossible to add let's say I2S device to play music using the keyboard. Did try some serial communication to another pico but ended up destroying the pico serial port. So sits not in the drawer without any use.
by Otto-Ilari about Keybow 2040 via REVIEWS.io
2 years ago
Possibly the easiest bit of programming I've done in a while. I had no hassle setting this up, and it continues to be reliable
by Ryan about Keybow 2040 via REVIEWS.io
2 years ago
I bought this as a gift to my keyboard loving friend, and he seem to love it!
by Jimmy about Keybow 2040 via REVIEWS.io
2 years ago
Easy to assemble and get started with coding macros and RGB lights. Comes with some excellent built-in example code, and you can find plenty more on GitHub too. I like the reset and boot mode buttons, but it would be better if you could still see the labels when the assembly is complete. Lights are good but don't expect them to show up very brightly in the day or a well-lit room. FYI, you might have some issues with this if you are developing on an M1 Mac (Ventura OS has some issues copying firmware files to the USB). If you do have a problem, then use the "cp" command in the terminal to copy instead and it should work just fine.
by Doug about Keybow 2040 via REVIEWS.io
2 years ago
Using this a macropad for tiling window management and gaming. Works wonderfully. Not that proficient at programming myself but was able to find some suitable code on github to play with and now have custom keymaps on 4 separate layers. Brilliant little thing. Pimoroni you could shake up the custom mech keyboard market with a full ortholinear version version, or a 6x8 version of this (two to make a split kb?) 3D printable tented cases? :D
by Stuart about Keybow 2040 via REVIEWS.io

11 user photos