author

Frank_Adams

GitHub Site
24
Inbox View Profile
2Instructables59,094Views71CommentsShelton, Wa
I am a retired Boeing engineer that enjoys experimenting with Pi & Teensy projects.

Achievements

10K+ Views Earned a bronze medal
  • How to Make a USB Laptop Keyboard Controller

    I used Python 3.7.3 on a Raspberry Pi 4.I used the Thonny IDE under the programming tab to load and run the matrixgenerator_LC.py code. The pin list file needs to be in the same directory as the python program. The pin list should be named either "Keyboard_with_number_pad.txt" or "Keyboard_without_number_pad.txt"If you're still having trouble, send me an email with your pin list file and I'll run it with the python code and return the results. thedalles77@gmail.com

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I've been looking into a wireless solution but have not yet built anything. I'll post when I do.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Sorry to hear your Teensy has broken pins. I have not tried the other microcontrollers you listed. If any of them have enough I/O pins and have the hardware circuit to act as a USB keyboard HID, then it should be possible to make one of them work. You would need to make a new connector circuit board as well. It would probably be easier to buy a new Teensy 2.0++ clone from AliExpress.com

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I'm glad you got the .ino file to load. Could you please edit your previous post by removing the giant error report.

    The "Matrix_Decoder_2pp.ino" code is set to scan FPC pins 1 thru 36. I assume you soldered your FPC connector on pads 1 thru 24, and pads 25 thru 36 are empty. Changing the max_pin value to 24 will not fix the keys that are unresponsive. If certain pins are not working, it is usually caused by a bad solder connection, tarnished cable, or misaligned contacts. Sometimes the keyboard has a bad key switch but usually not multiple keys.To prove the code will report all connections, use a small flat screwdriver to momentarily short pads 1 and 2 at the FPC connector, right on top of your solder joint. Move on to pads 2 and 3, 3 and 4....., proceeding up to pads 23 and 24, taking note of any pad numbers that don't work. For the pads that don't give a response, reheat the solder joint on…

    see more »

    The "Matrix_Decoder_2pp.ino" code is set to scan FPC pins 1 thru 36. I assume you soldered your FPC connector on pads 1 thru 24, and pads 25 thru 36 are empty. Changing the max_pin value to 24 will not fix the keys that are unresponsive. If certain pins are not working, it is usually caused by a bad solder connection, tarnished cable, or misaligned contacts. Sometimes the keyboard has a bad key switch but usually not multiple keys.To prove the code will report all connections, use a small flat screwdriver to momentarily short pads 1 and 2 at the FPC connector, right on top of your solder joint. Move on to pads 2 and 3, 3 and 4....., proceeding up to pads 23 and 24, taking note of any pad numbers that don't work. For the pads that don't give a response, reheat the solder joint on the FPC connector pad and if necessary, at the header pin on the Teensy. Sometimes people forget to add all the header pins on the Teensy. Use the Teensy ++2.0 table in step 14 to translate the FPC pin number to the I/O name on the Teensy that is not working. Keep fixing your solder joints until you get a response for every pin when you short them with a screw driver. If some keyboard keys are still not working, there must be a bad connection to the FPC cable. Gently clean the FPC cable with an eraser if the metal traces look tarnished. Use a magnifying glass to inspect inside the FPC connector to see if the contact points are in alignment with the cable traces. You may need to trim the side of the FPC cable to get the proper alignment. If alignment looks good, push down on the FPC connector or lift up on the cable while trying the bad keys to see if you can sometimes make them work. You may need to add a thin piece of paper to the plastic backing on the FPC cable to get a tighter fit.If the keyboard still will not work, send me an email at thedalles77@gmail.com with a picture of your Teensy connector board and the pin list results from pushing all the keys.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Do not select Serial + Keyboard + Mouse + Joystick. Change it to Keyboard + Mouse + JoystickThis compiles with no errors for me on: Arduino 1.8.13, TD 1.53, Windows 7, 16 MHz, Italian, Teensy ++2.0If it still doesn't work, please send the error report to my email at thedalles77@gmail.com

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Yes I believe it could be done. Look at my KVM Instructable for more information.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Well done! Show us a picture of your 3D case when you get it finished.

    Congrat's on a successful build. It looks like you also have the trackpoint signals coming to the Teensy so you can get that working as well. Thanks for the Picture.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Yes I believe the Teensy can decode this keyboard. I can't tell the pitch of the 21 pin cable but if it's larger than 1mm, you might need to make a special circuit board. An example would be the Zenith Supersport that you can read about at my repo. An alternative would be to solder 21 wires from the keyboard directly to the Teensy, so you won't need a connector or special circuit board. An example would be the Heathkit H89 also at my repo. These old mechanical keyboards have diodes for each key to prevent sneak paths that cause ghosting. When you decode the key matrix, you have to make sure the diode is forward biased. I cover this in the Instructable. Here is a link to my repo so you can check out the Zenith and Heathkit:https://github.com/thedalles77/USB_Laptop_Keyboard...

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I can't tell for sure from pictures online but I think there is a proprietary connector on the end of the FPC cable. If that's the case, you will have a hard time finding a mating connector that will fit the keyboard. Your only option is to unsolder the connector from the old motherboard. This connector probably has a unique pin layout that will require a new circuit board that routes the signals to the Teensy. This board will be similar to the boards I did for the T61 Thinkpad keyboard. Once you have the connector and circuit board, you will be able to modify my software to give the pin connections when you push a key. Then you can build the key matrix and use my USB Keyboard code.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I have not heard of anyone using my setup with a STM32 Blue Pill. A quick look at the specs shows it has plenty of I/O but like the Uno, it doesn't have USB HID support built into the hardware.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    It's hard to tell from your pictures but my first guess is that the FPC cable is inserted upside down. FPC connectors can have contacts on the top or bottom but bottom contacts are more common. Make sure the bare metal traces on the end of the FPC cable match up to the contact pins that you can see inside the connector. Try flipping the cable over in the connector and see if the continuity tester code will give numbers when a key is pressed. 100 ohm switch resistance is normal for a keyboard. I've measured 250 ohms on some keyboards and it still works. Send me an email at thedalles77@gmail.com if you still can't get it to work.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    There is no standard pinout for laptop keyboards, that's why I have the Teensy act as a continuity tester while you test each key to see how it's connected.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    That's a fine looking keyboard. I see why you wanted to get it working again. If you also want to get the touchpad working, check out my tutorial at https://www.hackster.io/frank-adams/laptop-touchpad-conversion-to-usb-d70519

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Yes the Teensy ++2.0 should be able to work with the X30 keyboard. The Teensy ++2.0 board shown in step 7 will work if the keyboard has a single FPC cable. You will need a new board if the keyboard has dual cables or a connector on the end of the cable as shown in step 16. This Hackaday project describes the process to make an IBM 380 keyboard and trackpoint work over USB: https://hackaday.io/project/171439-ibm-thinkpad-380ed-keyboardtrackpoint-to-usb

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Happy to help you. I'll need some more information. Send me an email at thedalles77@gmail.com with the following:A picture of your Teensy circuit board with the connector.A picture of the end of the FPC cable.A picture of your keyboard and the laptop model it came from.The "Matrix_Decoder_3p2.ino" code that didn't get any keys to work.The "Matrix_Decoder_3p2_alternate.ino" code that got most keys to work.The key list text file with the numbers that you got when you used the alternate matrix decoder program.Once I can see the pictures, look at the key list numbers and examine the code, I'll be able to tell you what things to try as we debug this problem.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I/O D6 drives the LED on the Teensy 2.0++ board but I also wired I/O D6 to pin 15 on the keyboard FPC connector. The LED acts as a pull down resistor and fools my code into thinking a key has been pressed. The solution is to unsolder the LED on the Teensy. If you don't, it will show the numbers 1 15 on the editor when you run the matrix decoder code and then the code will hang.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Luigi, it's probably best to help you debug your keyboard by email instead of comments. Send me an email at thedalles77@gmail.com with the following:A picture of your board with the Teensy LC soldered on it and the FPC cable plugged in to the connector. I'll be looking to see if you forgot to solder jumpers at I/O locations 24, 25, and 26. I'm also looking to see if the FPC cable and FPC connector each have bottom contacts (or top contacts). If one is opposite of the other, it won't give any response. Do some of the keys give you pin numbers when pushed or do you not get anything for any keys? If you get some numbers, send me the key list text file so I can try to figure out which pins are not working. Once we know which pins are not working, you can touch a jumper wire between the two Te…

    see more »

    Luigi, it's probably best to help you debug your keyboard by email instead of comments. Send me an email at thedalles77@gmail.com with the following:A picture of your board with the Teensy LC soldered on it and the FPC cable plugged in to the connector. I'll be looking to see if you forgot to solder jumpers at I/O locations 24, 25, and 26. I'm also looking to see if the FPC cable and FPC connector each have bottom contacts (or top contacts). If one is opposite of the other, it won't give any response. Do some of the keys give you pin numbers when pushed or do you not get anything for any keys? If you get some numbers, send me the key list text file so I can try to figure out which pins are not working. Once we know which pins are not working, you can touch a jumper wire between the two Teensy I/O pins to see if it sends numbers. If a wire can't make it send numbers then there is something wrong with the code and I'll need you to send me what you're using so I can check the min_pin, max_pin, and con_pin values. If you get numbers when shorting with a jumper at the Teensy then the corresponding FPC pin is not soldered to the board properly and needs to be re-soldered. It may also be the FPC cable is not making good contact in the connector and needs to be re-seated. You can try cleaning the exposed metal traces on the end of the cable with an eraser. Send me an email with more information.Good Luck

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    That sounds great. Post some pic's when you get it all done.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The board size is 48mm x 48mm but when I upload the zip file, it doesn't ask for the size because once it's uploaded, it knows the size.These are the steps to order boards:Download the file Keyboard_Scanner_LT2_2020-06-09.zip from my repo at https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/tree/master/Keyboard_Scanner_Eagle_LayoutsGo to JLCPCB.com and click "Quote Now"Click "Add your Gerber file" and load "Keyboard_Scanner_LT2_2020-06-09.zip" that you got from my repo.You will see the front and back side of the board and it will say it's 2 sided and is 48mm x 48mm.I leave all the other parameters at the default setting to get the lowest price.Click "Save to Cart" and then "Checkout Securely".Fill out the shipping and billing a…

    see more »

    The board size is 48mm x 48mm but when I upload the zip file, it doesn't ask for the size because once it's uploaded, it knows the size.These are the steps to order boards:Download the file Keyboard_Scanner_LT2_2020-06-09.zip from my repo at https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/tree/master/Keyboard_Scanner_Eagle_LayoutsGo to JLCPCB.com and click "Quote Now"Click "Add your Gerber file" and load "Keyboard_Scanner_LT2_2020-06-09.zip" that you got from my repo.You will see the front and back side of the board and it will say it's 2 sided and is 48mm x 48mm.I leave all the other parameters at the default setting to get the lowest price.Click "Save to Cart" and then "Checkout Securely".Fill out the shipping and billing address.Select the "More" tab under shipping method to get the lowest price shipping option.Complete the payment and submit.

    Yes the Keyboard_Scanner_LT2 board is the one to use and a Teensy LC or 3.2 would work.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Your 30 pin keyboard FPC cable has a 1mm pitch. You can find them on Aliexpress if you do a search on "FPC connector". The formula is: Total width = Pitch x (N x 1) where N is the number of pins. You can use this to find the pitch for the connector for your 4 pin backlight FPC cable. 2 of the pins go to the anodes for the backlight LEDs and 2 pins go to the cathodes. Since the current for the backlight LEDs will be much higher than the regular keyboard switches, they have designed 2 pins on the FPC cable that are in parallel to help handle the current. Use an ohm meter with "diode mode" to get the led polarity and the forward diode voltage. The backlight will need a 4 pin FPC connector with the right pitch on a small blank board. Wire a FET like the BS170 and a current…

    see more »

    Your 30 pin keyboard FPC cable has a 1mm pitch. You can find them on Aliexpress if you do a search on "FPC connector". The formula is: Total width = Pitch x (N x 1) where N is the number of pins. You can use this to find the pitch for the connector for your 4 pin backlight FPC cable. 2 of the pins go to the anodes for the backlight LEDs and 2 pins go to the cathodes. Since the current for the backlight LEDs will be much higher than the regular keyboard switches, they have designed 2 pins on the FPC cable that are in parallel to help handle the current. Use an ohm meter with "diode mode" to get the led polarity and the forward diode voltage. The backlight will need a 4 pin FPC connector with the right pitch on a small blank board. Wire a FET like the BS170 and a current limiting resistor but you will need to experiment with different resistor values to get full brightness (without excessive current). The control for the backlight will come from the Teensy and it will drive the gate on the FET with a PWM signal to reduce the brightness. You will need 30 I/O's for the keyboard matrix and another output for the backlight. This can be done with smaller connector boards with a Teensy 3.2, Teensy 4.0. The Teensy ++2.0 board would also work but it is bigger.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Nice to see an old Heathkit H89 keyboard working again. I uploaded the code and a PDF describing your project to my repo. https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/tree/master/Example_Keyboards/Heathkit%20H89

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The low priced Arduino's don't have built in hardware for the USB HID keyboard interface. All Arduino's have a different pinout than the Teensy so my circuit boards won't work with them. I recently added a circuit board for a Teensy ++2.0 (see step 6 item 8). You can send the zipped gerber file to JLCPCB and get 5 boards. A Teensy 2.0++ clone can be purchased from Ali Express here. https://www.aliexpress.com/item/32953459905.html?spm=a2g0o.productlist.0.0.1efb5eff2djMTg&algo_pvid=d36bcf0c-37cd-4f83-b9ec-a12bbf5cfbf1&algo_expid=d36bcf0c-37cd-4f83-b9ec-a12bbf5cfbf1-1&btsid=0ab6fa8115925021465414159e2a14&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_It must be the 2.0++, not the regular 2.0. Your keyboard FPC cable has 30 pins with nubs on the side that must be cut…

    see more »

    The low priced Arduino's don't have built in hardware for the USB HID keyboard interface. All Arduino's have a different pinout than the Teensy so my circuit boards won't work with them. I recently added a circuit board for a Teensy ++2.0 (see step 6 item 8). You can send the zipped gerber file to JLCPCB and get 5 boards. A Teensy 2.0++ clone can be purchased from Ali Express here. https://www.aliexpress.com/item/32953459905.html?spm=a2g0o.productlist.0.0.1efb5eff2djMTg&algo_pvid=d36bcf0c-37cd-4f83-b9ec-a12bbf5cfbf1&algo_expid=d36bcf0c-37cd-4f83-b9ec-a12bbf5cfbf1-1&btsid=0ab6fa8115925021465414159e2a14&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_It must be the 2.0++, not the regular 2.0. Your keyboard FPC cable has 30 pins with nubs on the side that must be cut off to fit in a generic FPC connector. I believe the pitch is 1mm but you should check it to be sure. A 30 pin 1mm pitch FPC connector can be purchased from Ali Express. This one has contacts on the bottom.https://www.aliexpress.com/item/32769748843.html?spm=a2g0o.productlist.0.0.51fe5d49vwYBnl&algo_pvid=8968769d-1103-4489-86ed-4f76f3e34e9b&algo_expid=8968769d-1103-4489-86ed-4f76f3e34e9b-4&btsid=0ab6fab215925024177193862ee3c1&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_They also have top contact connectors so check how your keyboard cable will be positioned and pick the correct top or bottom connector.If you want the backlight to work, you will need to order the correct FPC connector from Ali Express and solder it to the unused pads on the board. It will require some extra circuitry as described on step 20. If you need help with this, send me an email at thedalles77@gmail.com and I'll explain it further.

    The Teensy ++2.0 will have lots of extra I/O's for you to wire LEDs. Sorry I have never made a mechanical keyboard but a Google search shows lots of guides you can follow.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Wow, that's a lot of wires. I need to design a connector board for a Teensy ++2.0. It's more popular than I expected.

    Nice job. I guess I need to make a connector board for a Teensy ++2.0. Show us pictures of your finished laptop.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    That looks like a nice keyboard. Yes the flying leads are a bit challenging. Congratulations.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Sorry, I don't have any prebuilt units to sell. I just created a Teensy LC connector board pictured on step 3 that uses a thru-hole FPC connector with up to 26 pins so it is much easier to solder than the surface mount style.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    This looks great Ira. I'm glad you've got it working!

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Sorry, my boards won't work with a Teensy 2.0 but the software would work with some modifications to the I/O pin mapping. I did a board design for the Teensy ++2.0 that is covered in my Sony Vaio Raspberry Pi video here: https://www.youtube.com/watch?v=Gh3VTcLiJrI

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Sorry, there is no kit available. Send me an email at thedalles77@gmail.com if you want a circuit board. If you're having trouble figuring out which FPC connector to order from Digikey, email me pictures with a metric ruler next to the contacts. The Teensy can be ordered from PJRC.com

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I appreciate your efforts to create a new board for the IBM T43 keyboard and sharing your files at my repo: https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/tree/master/IBM%20T43%20Files Thinkpad keyboards like this one are great for re-purposing. Nice Job!

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I'm glad your spacebar is now working. Thanks for providing a solution to ghost keys. I've not encountered this problem yet, but if I do, I'll try your fix. I found a D630 keyboard at the recycling store for $2 so will give it a try.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Sorry Brian, I don't have any T60 circuit boards left. Send me an email at thedalles77@gmail.com if you need help ordering boards or assembling the controller.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I have completed testing of a new keyboard scanner board that uses a Teensy 4.0 instead of a 3.2. The Eagle board file is Keyboard_Scanner_4p0.brd and the JLCPCB Gerber file is Keyboard_Scanner_4p0_2020-02-26, both at my repo. See steps 4 thru 6 for new board information.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Hey I do stupid things all the time. The dual board won't work for a single FPC keyboard. Send me an email at thedalles77@gmail.com that has your mailing address and I'll give you a board for your single FPC keyboard for free.

    OK, let me know if you have any questions. Good Luck

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The backspace and enter keys share the same row connection as the space key. The N and B keys share the same column connection as the space key. Since you didn't mention having any problem with these keys, I'm assuming they work fine. This says that the soldering and the FPC connection are probably OK. I just finished converting a third Dell D630 keyboard to USB using the Teensy 3.2/circuit board and have not had any problems with the space bar. Changing the polling loop or settle out delay would effect all keys the same way so I think the software is OK. The only time I've seen trouble with the space key is when testing a bare keyboard with a block of wood underneath the left and right side so the Teensy could sit underneath. Most keyboards are stiff enough that I can type all keys and g…

    see more »

    The backspace and enter keys share the same row connection as the space key. The N and B keys share the same column connection as the space key. Since you didn't mention having any problem with these keys, I'm assuming they work fine. This says that the soldering and the FPC connection are probably OK. I just finished converting a third Dell D630 keyboard to USB using the Teensy 3.2/circuit board and have not had any problems with the space bar. Changing the polling loop or settle out delay would effect all keys the same way so I think the software is OK. The only time I've seen trouble with the space key is when testing a bare keyboard with a block of wood underneath the left and right side so the Teensy could sit underneath. Most keyboards are stiff enough that I can type all keys and get them to work but I did have one that would not always see the space key, due to excessive sag. Adding more support under the middle of the keyboard, (or installing it in the laptop) fixed the problem. The space key gets used the most on a keyboard, way more than the letter "E" and backspace. It seems likely that the switch for your keyboard's space key is beginning to fail due to age and use. If there is any way you could get another Dell D630 keyboard to try, this would confirm my suspicion.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The Teensy 4.0 has the same pin layout for I/O#0 thru 23 but I/O 24 and greater (on the back side) are in different locations. Looks like I need to design a new board.You can use a Teensy with pins already soldered on it if you want. I tend to use small jumper wires instead of a solid header row so it's easy to remove the Teensy (or a single wire) if I'm troubleshooting a problem.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Harjoc, very nice looking keyboard. Using Acrylic as a base plate is an excellent idea, plus it looks really cool. Your method for reducing the height gets it down to the bare minimum. Thanks for posting pictures so we can all learn from your hard work.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Bastian, I would be happy to take a look at your files. Send me all the files including the output from the Matrix detector, Marcel's results, and most importantly the final Teensy code. My email address is thedalles77@gmail.comFrank

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    No need to create a new board. It looks like the J5713 connector has 30 surface mount pins but I can't tell the pitch by looking at pictures. I suggest you order a connector and measure the pitch. If the pitch is 1mm or 0.8mm, order the Keyboard_Scanner_LT board from JLCPCB. If the pitch is 0.5mm, order the Keyboard_Scanner_LT_0p5 board instead.

    There are two sides to my circuit board. One side of the board is for a Teensy LC and it only has 26 pins for the keyboard connector. This side will not work for your connector. If you flip the board over, the other side is for a Teensy 3.2 and it has pads for up to 34 pins (see picture below). This is the side of the board where you will solder the connector, starting at pin 1. The 34 pads are spaced with a 1mm pitch and another row of pads have 0.8mm pitch. The J5713 connector should fit one of these rows with 4 pads extra. I don't think the J5713 has a 0.5mm pitch but if it does, I made a different board with that spacing. That's why I suggest you order the J5713 and measure the pitch to make sure you order the correct board from JLCPCB.Having a schematic of the keyboard connector will…

    see more »

    There are two sides to my circuit board. One side of the board is for a Teensy LC and it only has 26 pins for the keyboard connector. This side will not work for your connector. If you flip the board over, the other side is for a Teensy 3.2 and it has pads for up to 34 pins (see picture below). This is the side of the board where you will solder the connector, starting at pin 1. The 34 pads are spaced with a 1mm pitch and another row of pads have 0.8mm pitch. The J5713 connector should fit one of these rows with 4 pads extra. I don't think the J5713 has a 0.5mm pitch but if it does, I made a different board with that spacing. That's why I suggest you order the J5713 and measure the pitch to make sure you order the correct board from JLCPCB.Having a schematic of the keyboard connector will come in handy, especially since it looks like your keyboard has a ground, 2 touchpad pins, an on/off pin, a caps lock LED, and something for Num Lock as well. You will need to exclude these pins when you scan the keys to map out the matrix. Modify the Matrix_Decoder_T61.ino code from Step 17 so you can list the keyboard pins you want to scan and leave all the special pins out.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The Lenovo T30 keyboard has a different connector so the Digikey board connector that I used for my T61 probably won't work for you. Finding a source to buy a compatible board connector can be difficult so it's more likely that you would need to unsolder the motherboard connector. The circuit board I designed for the T61 would probably need to be modified for the new connector and keyboard pinout (which may be entirely different than the T61). I don't want to discourage you from this project but it will entail a lot of fine pitch soldering as well as Eagle board layout redesign, and software modifications. Learning how to solder is all about practice. Purchase a good quality soldering iron with various tips and use a lot of flux. I use a Hakko FX-888D Iron with a T18-C2 tip and AMTECH NC-…

    see more »

    The Lenovo T30 keyboard has a different connector so the Digikey board connector that I used for my T61 probably won't work for you. Finding a source to buy a compatible board connector can be difficult so it's more likely that you would need to unsolder the motherboard connector. The circuit board I designed for the T61 would probably need to be modified for the new connector and keyboard pinout (which may be entirely different than the T61). I don't want to discourage you from this project but it will entail a lot of fine pitch soldering as well as Eagle board layout redesign, and software modifications. Learning how to solder is all about practice. Purchase a good quality soldering iron with various tips and use a lot of flux. I use a Hakko FX-888D Iron with a T18-C2 tip and AMTECH NC-559-ASM-TF flux. To unsolder the original mother board connector, use FAST CHIP Removal Alloy and solder wick. Quickly melt this alloy on all the connector SMD board pads and it will stay molten long enough that you can lift the connector off the board with tweezers. Use solder wick to completely remove all of the alloy from the connector pins.My best advice is to find some local electronic hobbyists that can provide some "hands-on" guidance. Reprogramming the "home", "GUI", "ThinkVantage", and other keys is possible in the software. A couple people have commented about issues using the Teensy for a German keyboard but there are solutions (see my replies for Franzesco below).Good Luck

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Nice Job, Mike. Thanks for posting pictures. Good Luck with your Pi laptop.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Your 28 pin keyboard FPC cable would work with my connector board and a Teensy 3.2. but not with a Teensy LC.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Franz, another German keyboard user, "TheGreenMamba" has solved the problem with the '<' key by using the KEY_NON_US_BS instead of the KEY_NON_US_100. The problem with the '#' was solved by using the KEY_BACKSLASH. TheGreenMamba keyboard can be seen in the "I made it" section above the comments.Hope this helps.Frank

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Wow, this is incredible! I'm a big fan of this keyboard but you've taken it to a whole new level with an incredible 3D case. Filling it with weight was a great way to make it stay put. I was hoping someone with better software skills than me would improve the code and figure out the German '<' key. I'll add a link for you in this Instructable if you have a Github repo or website were you can post the code and 3D files. If not, I can add a folder for your files on my repo. My email address is thedalles77@gmail.com If you're interested.Thanks for posting all the pictures. Cheers

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    The code should work expect that the Teensy 2 and 2++ have a different pinout than the LC and 3.2. Also the circuit boards in this Instructable won't work with a 2 or 2++. If you want a Teensy 2++ circuit board for a 24 pin 1mm pitch FPC connector, go to my Github repo for building a Raspberry Pi Sony Vaio laptop. You will find the EagleCad board file and a PDF explaining the project. Here is the link:https://github.com/thedalles77/Pi_Teensy_Laptop

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    This is really cool. Thanks for sharing the pictures and the files at your Github repo:https://github.com/MrHDR/USB_Laptop_Keyboard_Controller

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I'm glad you were able to get this old keyboard working. It looks like it has good, full travel keys that give a nice "feel" for speed typing. Thanks for posting these pictures too! Cheers

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Franz, I just got done helping SimonT192 with his UKkeyboard. He had problems due to his non-US key layout that are similar toyours. Everything worked normally for him except the # and \ keys. If abackslash code was sent, it displayed a # (just like your keyboard) but therewas no way to get a backslash. Our solution for backslash was to use the Altcodes. I modified his Arduino routine to watch for a backslash key-press and then it sends Alt92. You could do something similar to get the “less than” key towork by sending Alt 60. Take a look at his Arduino code (lines 369 to 380) atmy Github repo to get an idea on how to do it. https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/blob/master/GRID%201550/1550.inoIf you need help, send me anemail at thedalles77@gmail.com alongwith your…

    see more »

    Franz, I just got done helping SimonT192 with his UKkeyboard. He had problems due to his non-US key layout that are similar toyours. Everything worked normally for him except the # and \ keys. If abackslash code was sent, it displayed a # (just like your keyboard) but therewas no way to get a backslash. Our solution for backslash was to use the Altcodes. I modified his Arduino routine to watch for a backslash key-press and then it sends Alt92. You could do something similar to get the “less than” key towork by sending Alt 60. Take a look at his Arduino code (lines 369 to 380) atmy Github repo to get an idea on how to do it. https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/blob/master/GRID%201550/1550.inoIf you need help, send me anemail at thedalles77@gmail.com alongwith your code and a picture of your keyboard.Frank

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I got your code to work by replacing all the '0' with 0 in the arrays. I'll email you the corrected code for you to try.

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Hi SimonT192, I would be happy to help you out. Did you change cols_max to 13 and rows_max to 11? Please send me your Teensy code and also the key_list text file with the connection numbers to my email address thedalles77@gmail.com, I can load it into my Teensy LC and simulate a key press by shorting two I/O's together (you can try this too). For example shorting Teensy I/O's 4 and 23 together while you have your computer running in an editor, should cause the number 6 to be displayed. If the 6 is displayed, then I would look at how the key_list file was translated into a matrix. If the 6 is not displayed, there must be a bug in the Teensy code perhaps due to the large number of columns (it's usually 8, not 13). Send me an email if you want more help. Good LuckFrank Adams

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I have not tried a Mac keyboard but I would expect it to behave the same as any other keyboard. Try inserting the two ribbon cables into a single FPC connector. The pictures from tcaschy in the "I made it" section above show two ribbon cables fitting in a single connector. Send me an email at thedalles77@gmail.com if you need a circuit board. Good Luck

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    Your understanding is correct. Take some pictures of the ribbon cable installed in the connector, then unsolder the connector from the motherboard and take some more pictures. Pay attention to which way the ribbon cable is installed (where pin 1 is located). Send the pictures to my email at thedalles77@gmail.com and I'll guide you on how to solder 15 wires from the connector pins to the Teensy LC. I can help you with the software as well. Several YouTube videos show how to unsolder using a solder sucker, flux, and wick like this one: https://www.youtube.com/watch?v=pu-nudUAGVo

    I had a CoCo back in the early 80's as my home computer. The chiclet keys were awful so I installed an aftermarket keyboard with full travel keys. I wish I still had my CoCo, it was a lot of fun. Only having 16 signals to the keyboard is not a problem for the Teensy LC and my software. I watched a YouTube video to refresh my old memory and it showed the 16 pin ribbon cable is thicker and has a wider pitch that modern keyboards (and only 15 signal traces are used). Look on Digikey or AliExpress if you don't want to unsolder the keyboard connector from the motherboard. You could solder wires from the 15 signals on the keyboard connector to 15 different Teensy LC I/O's. You may be able to bypass using the ribbon cable and solder 15 wires directly to the keyboard (I can't tell from the video …

    see more »

    I had a CoCo back in the early 80's as my home computer. The chiclet keys were awful so I installed an aftermarket keyboard with full travel keys. I wish I still had my CoCo, it was a lot of fun. Only having 16 signals to the keyboard is not a problem for the Teensy LC and my software. I watched a YouTube video to refresh my old memory and it showed the 16 pin ribbon cable is thicker and has a wider pitch that modern keyboards (and only 15 signal traces are used). Look on Digikey or AliExpress if you don't want to unsolder the keyboard connector from the motherboard. You could solder wires from the 15 signals on the keyboard connector to 15 different Teensy LC I/O's. You may be able to bypass using the ribbon cable and solder 15 wires directly to the keyboard (I can't tell from the video if there are solder pads on the keyboard). Remember not to use Teensy I/O #13 because it's tied to the on-board LED. If you are comfortable using a board layout tool like Eagle, you can make a new circuit board instead of soldering all those jumper wires. When it comes to decoding the matrix, you can use my software but it's not necessary since the schematic on page 68 of the Radio Shack reference manual shows how the keys are wired as a 7 x 8 matrix. Here is the manual: http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%20Computer%20Technical%20Reference%20Manual%20(Tandy).pdfOlga has done something similar to what you are doing with a Commodore 64 keyboard found here:https://github.com/thedalles77/USB_Laptop_Keyboard_Controller/blob/master/Commodore_64/Readme.pdfLet me know if you have any more questions. Good Luck

    View Instructable »
  • How to Make a USB Laptop Keyboard Controller

    I found CF30 and CF29 keyboard replacement YouTube videos that show two FPC cables so I assume that's what your CF-M34 has. One cable has about 16 signal traces and the other has 8 signal traces plus some more that are not used. If your FPC cables have a pitch of 1mm, you may be able to install the two cables side by side into a single 34 pin FPC connector. If that's the case, you could use my existing circuit board and a Teensy 3.2 with your keyboard. If you can't squeeze your two FPC cables into a single connector, you will need a new layout for a circuit board that has two connectors. Send me an email (thedalles77@gmail.com) if you need some help with the layout of a new circuit board.

    View Instructable »
  • I have added your Commodore 64 files to my repo. Thanks

    View Instructable »
  • Sounds great, I'll contact you by email to get the details.Thanks

    View Instructable »
  • Hi Tomas, the code will hang when it finds a short and not proceed to scan any other pins so you’ve got to fix the problem. I’ve had lots of shorts and this is my method to finding (or excluding) them:First make sure you have no shorts without the keyboard connected to the board. I’m assuming you have loaded my Matrix_Decoder_3p2.ino code into your Teensy 3.2. Open an editor on your PC and hook up the USB cable. After 20 seconds, if your board has any shorts, the connector pin numbers will be reported on the editor screen. I’ve had solder hairs that I couldn’t see but scrapping between the FPC connector pads with a dental pick, cleared the short. If you have no shorts on the board, make sure the code reports two pin numbers when you touch a wire between two of the Teensy I/O pins.If the …

    see more »

    Hi Tomas, the code will hang when it finds a short and not proceed to scan any other pins so you’ve got to fix the problem. I’ve had lots of shorts and this is my method to finding (or excluding) them:First make sure you have no shorts without the keyboard connected to the board. I’m assuming you have loaded my Matrix_Decoder_3p2.ino code into your Teensy 3.2. Open an editor on your PC and hook up the USB cable. After 20 seconds, if your board has any shorts, the connector pin numbers will be reported on the editor screen. I’ve had solder hairs that I couldn’t see but scrapping between the FPC connector pads with a dental pick, cleared the short. If you have no shorts on the board, make sure the code reports two pin numbers when you touch a wire between two of the Teensy I/O pins.If the shorts only show up when you hook up the keyboard cable, try re-positioning the cable to make sure you have the connector pins aligned in the center of the FPC traces. If the two shorted pins are at the side of the FPC cable (which is what you have), they may be grounds and you will need to exclude at least one of them in the Matrix_Decoder_3p2.ino code. An example would be if pin 1 and pin 30 are both grounds. They will be reported as tied together but they are not needed for scanning the key matrix. In this case, set the min_pin integer on line 44 to 2 and the max_pin integer on line 43 to 29. This method works if the shorts are at the edges of the FPC cable. If you have grounds throughout the cable like on a Lenovo T61 keyboard, you will need to switch to the Matrix_Decoder_T61.ino program. It has a list of pins that are scanned instead of scanning sequentially from min to max.I think you are correct that the small cable is for powering the backlight. Let me know how things are going and I'll try to help you out.You can send me an email with any test results or pictures.Good LuckFrankthedalles77@gmail.com

    View Instructable »
  • Yes I created the design pattern for the circuit board and the Teensy 3.2 side of the board will work with a 30 pin FPC keyboard. You can download the design pattern named Keyboard_Scanner.brd using the link at the bottom of step 6. Many circuit board manufacturers will accept the Eagle board file directly so you won't need to convert to GERBER format. If you install the free Eagle layout software from autodesk.com, you can take measurements and even make modifications or file conversions if necessary.Your Dell 9370 keyboard FPC cable may have nubs on the side that are used to lock the cable in the motherboard connector. If you're using a generic 30 pin FPC connector, you will need to trim off those nubs. You could use a 34 pin FPC connector and center the 30 pin cable in the middle so yo…

    see more »

    Yes I created the design pattern for the circuit board and the Teensy 3.2 side of the board will work with a 30 pin FPC keyboard. You can download the design pattern named Keyboard_Scanner.brd using the link at the bottom of step 6. Many circuit board manufacturers will accept the Eagle board file directly so you won't need to convert to GERBER format. If you install the free Eagle layout software from autodesk.com, you can take measurements and even make modifications or file conversions if necessary.Your Dell 9370 keyboard FPC cable may have nubs on the side that are used to lock the cable in the motherboard connector. If you're using a generic 30 pin FPC connector, you will need to trim off those nubs. You could use a 34 pin FPC connector and center the 30 pin cable in the middle so you don't need to trim the nubs. This keyboard has a backlight and maybe some other circuitry with grounds so you may need to modify the Matrix Decoder software to exclude these pins otherwise the code will hang because it detects two pins as shorted and it will wait (forever) for the short to go away. Sorry, I don't know of an easy way to add Bluetooth to this keyboard.Let me know if you have any more questions.Good Luck

    View Instructable »
  • Glad to see you got it working. Thanks for posting a picture.

    View Instructable »
  • I exported the Keyboard_Scanner.brd file to DXF and to STEP and put the files at https://github.com/thedalles77/USB_Laptop_Keyboard_Controller

    View Instructable »
  • Nice 3D CAD tutorial. I've never done any 3D CAD work (unless you count multi-layer circuit boards) so I'm not sure how much help I can be in that area. I have torn apart my share of laptops and have a good appreciation for the designers that manage to pack so much in such a small space. If there's anything I can do to help you, let me know.

    View Instructable »
  • More DIY laptop builds is exactly what I was going for. In addition to reducing waste, experimenting with a broken laptop is a great way to learn about electronics. And yes, you can "bring back the headphone jack".

    View Instructable »
    • How to Make a USB Laptop Keyboard Controller
      653 views
      3 favorites
      3 comments