Convert a BlackBerry QWERTY Keyboard to an I2C Device

arturo182's BBQ10KBD quickly adds a keyboard to any project.

baldengineer
over 4 years ago Upcycling

There are three options to add a keyboard to your project: building a matrix, adding USB HID support, or using an off-the-shelf keyboard. All three options can present a significant software challenge for most microcontroller programmers. While there are a wide variety of off-the-shelf keyboards available, very few support a standard protocol like I2C. That would make interfacing with them easier and integrating into a project faster. Now, thanks to arturo182, there is a BB10QKBD PMOD adapter available that re-purposes the application-specific BlackBerry Q10 keyboard into a generic I2C keyboard.

The BB10QKBD's onboard SAM D20 microcontroller (MCU) handles input from the keyboard matrix, I2C communication, and even the keyboard's backlight. I2C commands provide a queue of keypresses, and a register map gives status updates like the caps lock state. It is also possible to set interrupts for events like a keypress or when the keypress buffer is full.

The adapter's pinout follows the open Peripheral MODule (PMOD) standard. It is an interface you might see on a microcontroller board or FPGA platforms like the Arty from Digilent. The choice of the PMOD standard means the BB10QKBD adapter can communicate with almost any microcontroller using SPI, I2C, UART, or GPIO.

For example, you can use most (if not all) PMOD devices with an Arduino-compatible microcontroller. The BBQ10KBD adapter's GitHub repository includes links to libraries to interfaces with Arduino-compatible boards and MCUs running Circuit Python.

In addition to the open software resources provided, the BBQ10 Keyboard PMOD holds an Open Source Hardware (OSHW) certification. (Fun fact: At the time of writing, artuo182 holds two of the three Sweden based OSHW certs issued so far!)

If you already have a BlackBerry Q10 keyboard or a source for them, you can purchase just the $13.50 USD BBQ10KBD adapter board from arturo182's Tindie store. Alternatively, he also sells a keyboard for $6.50 USD more.

baldengineer

Electronics enthusiast, Bald Engineer, and freelance content creator. AddOhms on YouTube. KN6FGY.

Latest Articles