A very important part of the PIMP project is the Keyboard. Without a keyboard, no notetaking capabilities.
The Blackberry Q10 keyboard has a basic keyboard matrix and needs 5 pins for the rows and 7 pins for columns.
The first iteration of this controller is build with an Arduino Nano. Later I may change to a cheaper Microcontroller like STM8, EFM8 or a SAMD10.
The firmware is pretty easy. Scanning the keyboard matrix, checking for button changes and then writing the pressed keys to the serial console.
Of cause, there is a little bit "magic" in between to check if keypresses are actually printable characters. And because we can we also care for the keyboard backlight.
Thought Experiment: You solder a very tiny connector to an breakoutboard to try beep out the thing you connected to that connector. You find a few connections but for Farad sake you can not find others.
You totally must have broken some connections on the disassemly of that board, so you buy a few more components. Would you also check your Connector on that breakout board if that has all the connections you think, beep out all 28 Pins?
I did all this without checking the soldered connector. So i found all the missing connection for the Diodes where on PINs that where not really soldered on the Connector Breakout. I checked then with thin wire direct on the FlexPCB connector and there where all my missing connections.
I present you the Blackberry Q10 Keyboard Backlight Pinout :D
The resistor on this circuit seem to be in the ballpark of 1 Ohm. I tested the LEDs with 3V and they seem to like this voltage, 2.5 is minimum but also very dim
Things i learned:
Solder once Beepout Twice all your connections, every pin
So, i found the Q10 Keyboard for my project and JoeN from the EEVBlog Forum also already did the work to reverse engineer the Keyboard matrix. But as i know that this keyboard can also be backlit i wanted to to get the backlight running.
At first i tried just the good old try all the pins with all the other pins in Diode testing mode - and i did not really get much out of this. So as Dave Jones always says: “Don't turn it on, take it apart”, i then took it apart.
I found a lot of nice metallic tactile domes for the keys, a few Resistors AND 4 LEDs.
Now that i had access to the LEDs i was testing them directly with the diode test mode of my DMM and there they are White LEDs with 2.5v diode drop. Then i beeped out the connections of the diodes and got a really strange back to back front to front arrangement.
But while removing the flex pcb from the metal back i ripped of one of the resistors, and as i only have one keyboard left, i’ll wait for the next Aliexpress shipment of 6 of them to take another one apart and find the missing connections.
But i found the grounds and one LED connection for that connector. Hopefully i’ll find them all when i can take another one, more carefully, apart. If anyone has any tips on what this strange LED arrangement is please tell.
While thinking about this little project there might happend some featurecreep. But i will put all the Ideas for this little Gadget into the wild, so other will maybe give tipps for even more features.
LCD or OLED
eInk (maybe as backpack for showing pager information)
page like functionality
Blackberry Q10 Keyboard
maybe a stm8 based keyboard controller to not use up all the main MCU pins
NFC Tag Reader/Write
not enough pins?
could be main MCU or also just wifi coprocessor
no build in WiFi
could try to code in rust-lang
would love to have 2 to 3 days of usage
Charger via (micro)USB(-C)
18650 (Between 1 and 3)
create eeprom cartridges?
need to find a small/cheap pcb edge connector for this
NTP (sync the realtime clock)
Sync via WiFi to Nextcloud?!
Send in 433MHz spectrum?
Maybe more via gameboy like cartridges or bin files from sd card