Keybow Kit (12-key) with Pi Zero WH

by Pimoroni

Keybow is an easy-to-build, solderless, DIY mini mechanical keyboard. It's Raspberry Pi-powered, with twelve illuminated keys, hot-swap clicky or linear switches, clear keycaps, and awesome customisable layouts and macros. It's the ultimate macro pad.

This kit has everything you need* to build your own mini mechanical keyboard. It's a fun, affordable, first step into the world of mechanical keyboards, with high-quality clicky (Gold) or linear (Silver) Kailh Speed switches and clear DSA-profile key caps that look incredible when lit up with the per-key RGB lighting. The fancy hot-swap Kailh sockets mean that there's absolutely no soldering required!

Kit includes*

  • Raspberry Pi Zero WH
  • Keybow PCB
  • Switch plate
  • Twelve Kailh Speed switches (Gold or Silver)
  • Twelve clear DSA-profile key caps
  • Acrylic baseplate
  • Fixings and feet
  • Micro-USB cable
  • Comes in a reusable kit box
  • Pinout

*Just add your own micro-SD card

Use Keybow as a hotkey pad for your favourite program like Adobe Lightroom, a custom games controller, to trigger clips, tracks, or effects in Ableton Live, or to paste frequently-used text or code snippets. So, if you want to open your web browser and search for cat GIFs all with a single keypress, we've got you covered. Because all your key and lighting customisation is stored on the device, it's completely portable too, meaning you can switch your setups between any machine you like.

Keybow is powered by a Raspberry Pi Zero WH (with pre-soldered header), and uses the Zero's USB HID gadget mode so that it appears as a real keyboard when plugged into your computer with the included USB cable. We've built a completely custom, stripped-down, RAM-disk-based Keybow OS with a Lua interface to customise the layout and lighting on your Keybow. It's Windows, Mac, and Linux-compatible.

Keybow features

  • Per-key RGB LEDs (APA102)
  • Kailh hot-swap switch sockets (for Cherry MX-compatible switches)
  • 40-pin female header
  • I2C breakout header for add-ons
  • Custom Keybow OS
  • Compatible with Raspberry Pi 4, 3B+, 3, 2, B+, A+, Zero, and Zero W
  • Assembled size: 85x56.5x38mm

Construction

The Keybow PCB has a 40-pin female header, like a regular Pi HAT, that plugs onto the 40-pin male header on the included Raspberry Pi Zero WH. The Pi is attached to the acrylic baseplate and shim, and the whole thing is rigidly held together by metal standoffs. Rubber feet on the baseplate stop Keybow from slipping around on your desk.

We've got a full tutorial on how to assemble your Keybow here.

Mechanical switches

Keybow comes with your choice of Kailh Speed Gold (clicky) or Silver (linear, non-clicky) switches. Both switches are light and smooth, and the gold switches have a satisying click when pressed.

We've chosen clear DSA key caps for Keybow, as they show off the per-key RGB LEDs really well. The slightly frosted finish on the clear key caps diffuses the light beautifully. Being DSA, the caps have a flat profile that suits small size of Keybow.

The switches slot into the PCB switch plate to hold them securely, and then push into the Kailh hot-swap sockets on the Keybow PCB. This means that there's no soldering required, and you can easily change out the switches in the future, if you wish.

Note that if you want to use different switches with Keybow, then you'll need to ensure that they have a recess on the underside for surface-mount LEDs.

Lighting

We've used the same tiny APA102 RGB LEDs that we use on our Picade Plasma PCBs, and there's one under each of the twelve keys. The LEDs sit in the cavity on the underside of the switch and shine up through, into the key cap.

There's a nifty way to light and animate the LEDs on Keybow. You can create a PNG file with a coloured gradient or pattern, and it will be animated across the LEDs from the top of the image to the bottom. The width of the PNG determines how it's displayed.

You can also manually set the LEDs on one or more keys, overriding the animation, or have them only light up when pressed.

There's a bunch of example animations to use, or you can create your own in your favourite graphics program.

Key mappings and layouts

The power of Keybow is in how customisable it is. You can map each of the twelve keys to whichever keyboard keys you want, or even have them trigger a whole series of keypresses or strings of text to be entered.

Our Keybow software uses the on-the-go micro-USB port on the Raspberry Pi Zero WH and USB HID gadget mode, so that it appears as a regular USB keyboard device when plugged into a computer.

The custom, stripped-down OS runs on a RAM-disk, meaning that it boots and runs quickly, it's robust against being unplugged, and there's no risk of SD card corruption.

To customise your Keybow layout and lighting, just pop the micro-SD card out and edit the keys.lua file on your computer.

We've included a bunch of useful code snippets and helper functions for Windows and Mac that can be used in your Keybow layouts, as well as whole example layouts to turn your Keybow into things like an Adobe Lightroom hotkey pad, a Pico-8 games controller, or just a regular numberpad.

You can read how to set up the Keybow OS and how to create your own macros and key layouts here on our learning portal.