Phillips LFH-0210 dictation pedal turned into custom HID input device (HP KU-0316 keyboard mod)
Phillips LFH-0210 dictation pedal turned into custom HID input device (HP KU-0316 keyboard mod)
What do you get if you take an old, obsolete dictation foot pedal and merge it with a thrashed keyboard full of yogurt? An awesome custom input device for your game or application, that's what!
The office where I work use foot pedals for dictation and I have been thinking for a while of converting one to use as an extra button for gaming. I was waiting for one of the newest USB models to break and get thrown out so I can salvage it and modify it to do my bidding but it seems that none of them has failed for a while. We also have a bunch of much older pedal that was used years ago with tape recorder that has long been abandoned for digital recorder. They are not USB and they do not look as sleek as the newest model but I ended up with one that had its wire cut to free it from behind a heavy desk. I decided I would put my idea in motion with this model.
Now I had this idea in my head for a good 2 years and recently came accross an article by Rupert Hirst from Run Away Brainz and I was pleased to see that someone not only had the same idea as I had but also shared all his information and arduino code to duplicate it. It seems I would have my work cut out for me. But then I realized I had a keyboard that was going to be thrashed because of a deadly yogurt spill and tought, why not use that instead of an arduino? I remember over a decade ago, I used a USB keyboard to make a homemade arcade controller using the encoder of a USB keyboard and this new project was basically the same concept with fewer keys used. The only issue with using keyboards for a custom game controller could be ghosting problems where the keyboard fail to recognize certain key if multiple key are pressed at the same time. But ghosting shouldn't be an issue with a foot pedal as there is no way you would ever click more than two buttons at the same time (unless you have a third leg).
The particular keyboard I will be cannibalizing is a HP KU-0316 but this information will be applicable to any USB keyboard. The key might be mapped differently on the keyboard matrix but you can easily apply the same technique to figure it out. For the pedal, I will be modifying an old Phillips LFH-0210 dictation foot pedal.
So first things first, we need to open up the keyboard, remove the keyboard encoder PCB and figure out the key mapping. Modern PC keyboards, at least regular models (gaming keyboard/mechanical will be different) use a rubber membrane over 2 sheet of transparent plastic with conductive dots under each key (the keyboard matrix) with an extra plastic sheet with holes sandwiched between the two. When the user press a key, the rubber membrane then gets pushed down. The rubber membrane then press against the conductive dot on the first layer of the matrix forcing it to be pushed further down and making it get into contact with the second conductive dot on third plastic layer effectively connecting the two together and closing the circuit telling the keyboard encoder which key was pressed. We just need to figure out where each key connect and simulate the membrane with a switch.
Looking at the keyboard matrix sheets, you can see that many of the keys are connected together. So you might have key 1 to 9 all connected to the same trace. To differenciate key #1 from key #9, the keyboard encoder need to know the key's location from both sheets, just like a set of coordinate. To figure all of this, all we have to do is follow the conductive dot under the key of your choice on both keyboard matrix sheet and find out where they connect on the encoder. It would be better if you pick 3 key that are interconnected on one of the two matrix sheet as it will reduce the wiring later on.
I went ahead and tried to map as much as the keyboard as I could in hope that it might make it easier for someone or in the future if I ever need to re-use the same keyboard encoder for another project:
Key
Keyboard Encoder
a
25,4
b
19,1
c
22,2
d
22,1
e
21,3
f
21,2
g
20,2
h
19,2
i
17,5
j
18,8
k
17,6
l
16,8
m
18,7
n
19,1
o
16,6
p
15,6
q
24,3
r
22,3
s
25,4
t
20,2
u
18,6
v
21,1
w
23,3
x
23,1
y
19,4
z
24,1
1
23,4
2
22,4
3
21,4
4
20,4
5
19,3
6
16,8
7
17,8
8
16,5
9
15,5
0
19,5
1 (numpad)
13,4
2 (numpad)
14,6
3 (numpad)
14,3
4 (numpad)
16,4
5 (numpad)
14,5
6 (numpad)
15,3
7 (numpad)
14,4
8 (numpad)
13,8
9 (numpad)
14,5
0 (numpad)
19,5
-(numpad)
13,3
#- 2
14,5
+ (numpad)
14,1
Delete (numpad)
14,2
Numlock
14,8
/
13,7
*
13,6
-
19,3
+
20,5
Enter (numpad)
13,1
Maj (Left)
24,4
Menu
12,4
up
18,4
down
16,2
left
17,3
right
15,1
Enter
16,4
Shift (Right)
20,5
Shift (Left)
24,3
CTRL (Right)
10,5
CTRL (Left)
10,3
Enter 2
16,3
Backspace
18,3
Alt (Left)
25,1
Delete
18,1
End
17,1
Page up
15,2
Page down
16,1
Win key (Left)
25,2
«»
24,2
Insert
18,2
Home
17,2
Alt (Right)
25,8
;
15,8
,
17,7
.
16,7
?
15,7
[
19,8
]
20,6
<>}
20,8
Shift (Left)
11,8
F1
24,7
F2
24,6
F3
24,5
F4
23,5
F5
23,6
F6
23,8
F7
23,7
F8
22,7
F9
22,8
F10
22,6
F11
22,5
F12
21,5
Scroll
21,8
Win key (Right)
12,6
Print
21,6
*
13,6
Space
25,7
{
19,7
Shift (Right)
11,7
\
25,7
Escape
25,7
Pause
21,7
/ (numpad
13,5
Here is a partial keymap if your encoder is looking like this rather than the previous pictures (thanks to Chris Patrone for the information!):
Key
Keyboard
Encoder
0
7,17
1
7,24
2
7,23
3
7,22
4
7,21
5
8,21
6
8,20
7
7,20
8
7,19
9
7,18
-
8,17
+
8,19
<
2,19
>
2,18
A
4,24
B
1,21
C
2,22
D
4,22
E
6,22
F
4,21
G
3,21
H
3,20
I
6,19
J
4,20
K
4,19
L
4,18
M
2,20
N
1,20
O
6,18
P
6,17
Q
6,24
R
6,21
S
4,23
T
5,21
U
6,20
V
2,21
W
6,23
X
2,23
Y
5,20
Z
2,24
Once we have figured out where each of our chosen keys connect, we can get down to business and dissasemble the foot pedal.
It was a nice surprise to see that this old pedal was using high quality and easily replaceable OMRON switch. They are not soldered to a circuit board like most newer model and it would be really easy to change and replace one of the switch if they were to become defective and it make this mod even easier to complete since all the switch are pre-wired. All we have to do is remove the little circuit board from the pedal and unsolder the wire coming from the switches. It would be also a good time to figure out the best location to put our keyboard encoder. Just double check and make sure the location you chose won't prevent you from closing the pedals after it's addition. You could easily install it under the metal plate but I was too lazy to remove it and installed it over instead. The board wouldn't fit where I wanted so I had to shave a bit of plastic that was in the way but it really wasn't that much. I put some electrical tape first where the board will be resting to isolate the PCB from the metal plate .
Once this is done, we need to rewire them to the proper pin on the keyboard encoder PCB. Start by locating the pin you will be using and scratch each of them to remove the conductive carbon ink that is covering it with a fiber glass pen or any sharp object by being careful not to scratch too deep to not damage the gold contact under. Once the contacts are exposed, apply some solder paste to them (if you have some) and flow some solder on over each contacts so it will eb easier to solder your wires later on.
You will see that one of the pins of the three switches are connected together. Just solder a wire to one of those pin and connect the other side to the common pin they are sharing on the keyboard encoder PCB. Then take each of the wires connected to the switches and solder them to the appropriate pins for the keys we have chosen to use on the keyboard encoder.
Once everything is soldered, we can finaly test out our new custom input device. Just launch a text editor on your computer and connect the USB cable from your foot pedal while being careful to avoid having the wire and circuit board touch anything that could cause a short circuit and start pressing on the switch. If all goes well, you should see the the chosen character being typed.
Once that everything seem to be working, route the USB cable where the old pedal cable used to be in a way that it won't create issue while re-assembling. I re-used the rubber portion of the old pedal cable to make our new USB cord all nice and snug by cutting a groove in the rubber and inserting the USB cable inside before reclipping the rubber holder in its place at the back of the pedal. You could also add a bit of glue inside the rubber cable holder before inserting the USB cord for added stress relief.
All that is left to do now is find a way to secure the keyboard encoder PCB inside. You could drill two small holes in the plate and screw the encoder board into place but I was too tired to break out the power tool so I decided to go with hot glue it insted. I usualy re-heat hot glue with my hot air iron to remelt it as it seem to create a much stronger bond. You wil lalso find an extra ground wire with a eyelets that is usualy held into place with a screen making contact with the metal shielding. You can try to solder it but it is going to be hard as the metal plate will diffuse the heat of your iron. You can drill a little hole and secure it with a screw. Personnally, I just wrapped it in electrical tape and taped it somewhere as it wil lstill work OK without that extra grounding.
You should test it one last time and then you can re-assemble the pedal. One great thing about using an old keyboard is that this will work on pretty much any OS or device without the need to install drivers.Twitter
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));{lang: 'en-GB'}
What do you get if you take an old, obsolete dictation foot pedal and merge it with a thrashed keyboard full of yogurt? An awesome custom input device for your game or application, that's what!
The office where I work use foot pedals for dictation and I have been thinking for a while of converting one to use as an extra button for gaming. I was waiting for one of the newest USB models to break and get thrown out so I can salvage it and modify it to do my bidding but it seems that none of them has failed for a while. We also have a bunch of much older pedal that was used years ago with tape recorder that has long been abandoned for digital recorder. They are not USB and they do not look as sleek as the newest model but I ended up with one that had its wire cut to free it from behind a heavy desk. I decided I would put my idea in motion with this model.
Now I had this idea in my head for a good 2 years and recently came accross an article by Rupert Hirst from Run Away Brainz and I was pleased to see that someone not only had the same idea as I had but also shared all his information and arduino code to duplicate it. It seems I would have my work cut out for me. But then I realized I had a keyboard that was going to be thrashed because of a deadly yogurt spill and tought, why not use that instead of an arduino? I remember over a decade ago, I used a USB keyboard to make a homemade arcade controller using the encoder of a USB keyboard and this new project was basically the same concept with fewer keys used. The only issue with using keyboards for a custom game controller could be ghosting problems where the keyboard fail to recognize certain key if multiple key are pressed at the same time. But ghosting shouldn't be an issue with a foot pedal as there is no way you would ever click more than two buttons at the same time (unless you have a third leg).
The particular keyboard I will be cannibalizing is a HP KU-0316 but this information will be applicable to any USB keyboard. The key might be mapped differently on the keyboard matrix but you can easily apply the same technique to figure it out. For the pedal, I will be modifying an old Phillips LFH-0210 dictation foot pedal.
So first things first, we need to open up the keyboard, remove the keyboard encoder PCB and figure out the key mapping. Modern PC keyboards, at least regular models (gaming keyboard/mechanical will be different) use a rubber membrane over 2 sheet of transparent plastic with conductive dots under each key (the keyboard matrix) with an extra plastic sheet with holes sandwiched between the two. When the user press a key, the rubber membrane then gets pushed down. The rubber membrane then press against the conductive dot on the first layer of the matrix forcing it to be pushed further down and making it get into contact with the second conductive dot on third plastic layer effectively connecting the two together and closing the circuit telling the keyboard encoder which key was pressed. We just need to figure out where each key connect and simulate the membrane with a switch.
Looking at the keyboard matrix sheets, you can see that many of the keys are connected together. So you might have key 1 to 9 all connected to the same trace. To differenciate key #1 from key #9, the keyboard encoder need to know the key's location from both sheets, just like a set of coordinate. To figure all of this, all we have to do is follow the conductive dot under the key of your choice on both keyboard matrix sheet and find out where they connect on the encoder. It would be better if you pick 3 key that are interconnected on one of the two matrix sheet as it will reduce the wiring later on.
I went ahead and tried to map as much as the keyboard as I could in hope that it might make it easier for someone or in the future if I ever need to re-use the same keyboard encoder for another project:
Key
Keyboard Encoder
a
25,4
b
19,1
c
22,2
d
22,1
e
21,3
f
21,2
g
20,2
h
19,2
i
17,5
j
18,8
k
17,6
l
16,8
m
18,7
n
19,1
o
16,6
p
15,6
q
24,3
r
22,3
s
25,4
t
20,2
u
18,6
v
21,1
w
23,3
x
23,1
y
19,4
z
24,1
1
23,4
2
22,4
3
21,4
4
20,4
5
19,3
6
16,8
7
17,8
8
16,5
9
15,5
0
19,5
1 (numpad)
13,4
2 (numpad)
14,6
3 (numpad)
14,3
4 (numpad)
16,4
5 (numpad)
14,5
6 (numpad)
15,3
7 (numpad)
14,4
8 (numpad)
13,8
9 (numpad)
14,5
0 (numpad)
19,5
-(numpad)
13,3
#- 2
14,5
+ (numpad)
14,1
Delete (numpad)
14,2
Numlock
14,8
/
13,7
*
13,6
-
19,3
+
20,5
Enter (numpad)
13,1
Maj (Left)
24,4
Menu
12,4
up
18,4
down
16,2
left
17,3
right
15,1
Enter
16,4
Shift (Right)
20,5
Shift (Left)
24,3
CTRL (Right)
10,5
CTRL (Left)
10,3
Enter 2
16,3
Backspace
18,3
Alt (Left)
25,1
Delete
18,1
End
17,1
Page up
15,2
Page down
16,1
Win key (Left)
25,2
«»
24,2
Insert
18,2
Home
17,2
Alt (Right)
25,8
;
15,8
,
17,7
.
16,7
?
15,7
[
19,8
]
20,6
<>}
20,8
Shift (Left)
11,8
F1
24,7
F2
24,6
F3
24,5
F4
23,5
F5
23,6
F6
23,8
F7
23,7
F8
22,7
F9
22,8
F10
22,6
F11
22,5
F12
21,5
Scroll
21,8
Win key (Right)
12,6
Print
21,6
*
13,6
Space
25,7
{
19,7
Shift (Right)
11,7
\
25,7
Escape
25,7
Pause
21,7
/ (numpad
13,5
Here is a partial keymap if your encoder is looking like this rather than the previous pictures (thanks to Chris Patrone for the information!):
Key
Keyboard
Encoder
0
7,17
1
7,24
2
7,23
3
7,22
4
7,21
5
8,21
6
8,20
7
7,20
8
7,19
9
7,18
-
8,17
+
8,19
<
2,19
>
2,18
A
4,24
B
1,21
C
2,22
D
4,22
E
6,22
F
4,21
G
3,21
H
3,20
I
6,19
J
4,20
K
4,19
L
4,18
M
2,20
N
1,20
O
6,18
P
6,17
Q
6,24
R
6,21
S
4,23
T
5,21
U
6,20
V
2,21
W
6,23
X
2,23
Y
5,20
Z
2,24
Once we have figured out where each of our chosen keys connect, we can get down to business and dissasemble the foot pedal.
It was a nice surprise to see that this old pedal was using high quality and easily replaceable OMRON switch. They are not soldered to a circuit board like most newer model and it would be really easy to change and replace one of the switch if they were to become defective and it make this mod even easier to complete since all the switch are pre-wired. All we have to do is remove the little circuit board from the pedal and unsolder the wire coming from the switches. It would be also a good time to figure out the best location to put our keyboard encoder. Just double check and make sure the location you chose won't prevent you from closing the pedals after it's addition. You could easily install it under the metal plate but I was too lazy to remove it and installed it over instead. The board wouldn't fit where I wanted so I had to shave a bit of plastic that was in the way but it really wasn't that much. I put some electrical tape first where the board will be resting to isolate the PCB from the metal plate .
Once this is done, we need to rewire them to the proper pin on the keyboard encoder PCB. Start by locating the pin you will be using and scratch each of them to remove the conductive carbon ink that is covering it with a fiber glass pen or any sharp object by being careful not to scratch too deep to not damage the gold contact under. Once the contacts are exposed, apply some solder paste to them (if you have some) and flow some solder on over each contacts so it will eb easier to solder your wires later on.
You will see that one of the pins of the three switches are connected together. Just solder a wire to one of those pin and connect the other side to the common pin they are sharing on the keyboard encoder PCB. Then take each of the wires connected to the switches and solder them to the appropriate pins for the keys we have chosen to use on the keyboard encoder.
Once everything is soldered, we can finaly test out our new custom input device. Just launch a text editor on your computer and connect the USB cable from your foot pedal while being careful to avoid having the wire and circuit board touch anything that could cause a short circuit and start pressing on the switch. If all goes well, you should see the the chosen character being typed.
Once that everything seem to be working, route the USB cable where the old pedal cable used to be in a way that it won't create issue while re-assembling. I re-used the rubber portion of the old pedal cable to make our new USB cord all nice and snug by cutting a groove in the rubber and inserting the USB cable inside before reclipping the rubber holder in its place at the back of the pedal. You could also add a bit of glue inside the rubber cable holder before inserting the USB cord for added stress relief.
All that is left to do now is find a way to secure the keyboard encoder PCB inside. You could drill two small holes in the plate and screw the encoder board into place but I was too tired to break out the power tool so I decided to go with hot glue it insted. I usualy re-heat hot glue with my hot air iron to remelt it as it seem to create a much stronger bond. You wil lalso find an extra ground wire with a eyelets that is usualy held into place with a screen making contact with the metal shielding. You can try to solder it but it is going to be hard as the metal plate will diffuse the heat of your iron. You can drill a little hole and secure it with a screw. Personnally, I just wrapped it in electrical tape and taped it somewhere as it wil lstill work OK without that extra grounding.
You should test it one last time and then you can re-assemble the pedal. One great thing about using an old keyboard is that this will work on pretty much any OS or device without the need to install drivers.Twitter
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));{lang: 'en-GB'}
43 out of
100 with
1 ratings