The day after the proof of concept
I'm using my Hotkey device now since some days and it is pretty practical for the daily workflow. So I've decided to make a more clean or professional version of the HotKey device.
The surprise
I've ordered one of these external USB number pads for notebooks just to have a look inside if there would be enough space to replace the electronics and maybe reuse the keypad matrix.
JACKPOT! After I have opened it I figured out that there is plenty of space for my upcoming PCB design and also the Keypad Matrix is not glued to the PCB its connected by a flat flex connector, so that it could be reused completely.
A closer look to the area above the connector of the keypad shows us that the designer of the PCB was so kind to add some labelled test points for me.
This gave me the ability to quickly figure out which button triggers which row and column.
Ordered by key:
Ordered by column and row:
Some reverse engineering
A closer look to the area above the connector of the keypad shows us that the designer of the PCB was so kind to add some labelled test points for me.
This gave me the ability to quickly figure out which button triggers which row and column.
Ordered by key:
NUM | C1 R1 | ||||||
TAB | C5 R4 | / | C4 R1 | * | C3 R1 | BCKSPC | C4 R2 |
7 | C1 R2 | 8 | C2 R2 | 9 | C3 R2 | "-" | C2 R1 |
4 | C1 R3 | 5 | C2 R3 | 6 | C3 R3 | "+" | C4 R3 |
1 | C1 R4 | 2 | C2 R4 | 3 | C3 R4 |
Enter
|
C4 R4
|
0 | C1 R5 | 00 | C2 R5 | . | C4 R5 |
Ordered by column and row:
C1 R1 | NUM | C2 R1 | - | C3 R1 | * | C4 R1 | / | C5 R1 | |
C1 R2 | 7 | C2 R2 | 8 | C3 R2 | 9 | C4 R2 | BCKSPC | C5 R2 | |
C1 R3 | 4 | C2 R3 | 5 | C3 R3 | 6 | C4 R3 | + | C5 R3 | |
C1 R4 | 1 | C2 R4 | 2 | C3 R4 | 3 | C4 R4 | ENTER | C5 R4 | TAB |
C1 R5 | 0 | C2 R5 | 00 | C3 R5 | C4 R5 | . | C5 R5 |
Then it was quite easy to also figure out the pin out of the connector:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
C1 | C2 | C3 | C4 | NC | R1 | R2 | R3 | R4 | R5 | C5 |
What's Next?
The next step would be to wire up the keypad matrix to the Arduino Leonardo and figure out a proper algorithm to read the key presses from the matrix.
No comments:
Post a Comment