Q-10/MAX7329 Keyboard for the Raspberry Pi
Background
The Raspberry Pi is great, but one downside when you are writing
bare-metal programs is that typically to get a keyboard you
need to implement USB. Not an easy task!
For my baretal OS,
vmwOS, I originally made a PS/2 keyboard
adapter but for various reasons this was not very convenient.
So I was looking for a more portable option.
The Q-10 Keyboard
This is a nice keypad from Blackberry phones. The only
downside is trying to connect to that tiny connector.
For now I am using a breakout board I bought off of e-bay.
They keypad is a nice size, and also has a backlight.
The MAX7349
The MAX7349 is a nice keypad scanning IC from Maxim (sadly, it, and
its related chips are being discontinued). It can scan the keyboard,
provide the results over I2c, and provide an interrupt. This is much
more efficient (and uses a lot fewer GPIO lines) than polling.
The chip also has some other interesting features. It can play musical
notes to a piezo speaker, and also can treat extra scanning lines you
aren't using as LED gpios.
Source Code
Some sample code for accessing this is available in
my
vmw-meter source repository under the max7349 directory.
Also included are the GEDA design files and gerbers.
Related Work
A few other people are using the Q-10 in embedded projects.
TODO
Build Log
19 June 2018
Got all keypresses working. Had some issues
which turned out to be off-by-one on the pin numbers
15 June 2018
Got some initial keypresses working.
14 June 2018
Got some initial music playing.
13 June 2018
Next attempt at soldering, with more flux, went a bit better. Though
two of the pins are still bridged. Should probably be useing solder
paste and an oven.
11 June 2018
Initial attempt at doing surface-mount soldering of a QSOP-24 device.
Did not go well.
Back to VMW hardware productions