Jump to content

[Hardware] Pimoroni Keybow 2040 Review: Programmable Keyboard with Pi Silicon Inside


Recommended Posts

Posted

Pimoroni Keybow 2040

 

 

Programmable keyboards are nothing new. Gamers and power users have had them for years. Making our own keyboards used to involve an Arduino Micro, lots of wiring and, if we were lucky, a 3D printed case. 

UK Raspberry Pi reseller Pimoroni has made its own RP2040 ‘Pi Silicon’ based programmable keyboard which requires no soldering and comes with 16 keys, all featuring independently controlled RGB LEDs.

Keybow 2040 is Pimoroni’s second RP2040 based board, following on from their Tiny 2040 which offered a smaller version of the Raspberry Pi Pico. We took the £50 ($70) Keybow 2040 for a test drive, using it to save us time at the terminal and to create a colorful light show during those cold, dark winter nights. 

Today's best Pimoroni Keybow 2040 deals
As you may have already guessed, the Keybow RP2040 is powered by an RP2040 ‘Pi Silicon’ SoC, this is the same chip as used in the Tiny 2040 and other third party ‘Pi Silicon’ boards. It differs from earlier B0 variants of the chip, as confirmed by Raspberry Pi Founder Eben Upton who told us that it has “some more floating point support functions I think. Moving these to ROM frees up a little more RAM in applications that use them. Checking the datasheet, there are no errata fixes in this stepping." 
The first thing that strikes us about the Keybow 2040 is not the keys on top, but rather the exquisite silkscreen printing on the unit. Most noticeable on the underside of the board, the gold and black design is striking and permeates through the layers used to construct the board. 

Ok now we can take a look at the keys, which have 16 clear keycaps covering your choice of linear (quiet) or clicky keys. Our review unit featured clicky keys via gold Kalih Cherry MX compatible switches. Each key features an RGB LED driven by an IS31FL3731 PWM LED matrix driver which handles all of the RGB effects, essentially reducing the work of the RP2040. 

On one edge of the PCB is a series of GPIO breakouts for I2C, UART and typical GPIO operations. All of these breakouts require some delicate soldering to fully use them. All of this is sandwiched in a chassis measuring just 3 x 3 x 1 inches (76 x 76 x 26mm).
The Keybow 2040 sits nicely upon our desk and glows, comfortingly, as we work. Right now the best way to use and enjoy Keybow is via Adafruit’s CircuitPython programming language, a version of which has been created to specifically support Keybow 2040. Pimoroni is working on its own version of MicroPython and USB HID necessary for emulating a keyboard / mouse is in the works and this code should be available soon after release. 

With CircuitPython, we were able to quickly control all 16 LEDs, creating flashing patterns and different color sequences with relative ease. CircuitPython’s adafruit_is31fl3731 library is part of a collections of libraries freely available for download, but we noticed that there was something wrong with what this library thought was the first key, and what the board library, used to interface with GPIO pins, thought was the first key. 

In fact they were off by 90 degrees and this meant that pressing a key would cause the wrong key to light up in our test code. We reached out for help and a member of the community responded and was able to resolve the issue with some algebra. The new code has been passed back to Adafruit and should be fixed within a couple of days. 

With the corrected version of CircuitPython, we created a simple project which mapped a sequence of key presses and text input to a single keystroke.  When we pressed the bottom left key, it would simulate a key sequence on our computer which opens a terminal window and types in a command to launch a system monitor application. The key would change color from green to blue, and back again.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.