author

Frank_Adams

GitHub Repo
50
Inbox View Profile
3Instructables101,535Views108CommentsShelton Washington

Tell us about yourself!

Achievements

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

    Yes you can use a Teensy 3.2 with a 24 pin FPC connector. Solder starting at connector pin 1 and leave pads 25 thru 34 empty. You will need to solder the Teensy on the 3.2 side of the board (not the LC side). Also you will need to solder flying leads or right angle header pins in order to attach the surface mount I/O pads of the Teensy to the board.

    Yes you can use a Teensy 3.2 with a 24 pin FPC connector. Solder starting at connector pin 1 and leave pads 25 thru 34 empty. You will need to solder the Teensy on the 3.2 side of the board (not the LC side). Also you will need to solder flying leads or right angle header pins in order to attach the surface mount I/O pads of the Teensy to the board.

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

    Sorry for the late response. I designed a circuit board for the iBook G3 Clamshell keyboard based on the prototype built by Billy67. Check out step 18 for all the details you will need to make your own USB controller.

    Sorry for the late response. I designed a circuit board for the iBook G3 Clamshell keyboard based on the prototype built by Billy67. Check out step 18 for all the details you will need to make your own USB controller.

    Sorry for the late response. I designed a circuit board for the iBook G3 Clamshell keyboard based on the prototype built by Billy67. Check out step 18 for all the details you will need to make your own USB controller.

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

    I don't know why Marcel's program didn't include the shift keys. I can help you figure out where they go in the matrix. My email is thedalles77@gmail.com. Send me the text file from when you ran the matrix_decoder program. It should have pin pairs for the shift keys. Also send the finished Teensy code that is missing the shift keys.

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

    Wow, etching your own circuit board is impressive. I used to do that 30 years ago but I got old and lazy. Nice job!

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

    Looks great Billy. Nice to see the trackball is working too.

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

    I chose the Teensy because I had past experience with them. You can certainly use other less expensive controllers if you want.

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

    You asked;"are the FPC to teensy IO's different on the t61 board vs the other boards you made?" The answer is yes the I/O's are wired differently.You asked;"were you able to use marcel's script with the t61 board?" The answer is no, I decoded the T61 the manual way.If you want me to add the additional UK keys into your matrix, send me the results from your key list file plus any other connection info I'll need. My email address is thedalles77@gmal.comAs for the touchpad, I'll keep looking at your scope pictures but I don't understand why yours is acting so different than mine.I'll let you know if I come up with something.

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

    Nicely done Maddie. It looks great! I'm glad you are paying attention to your engineering teacher. I hope you learn to write cleaner code than mine.Cheers

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

    The Teensy 4.0 has a lot more processing capabilities but it's not needed for simple keyboard and trackpoint control. I prefer using the Teensy 3.2 because it is 5 volt tolerant so I never have to add level translators.

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

    Wow, you're doing some good research. I'm no expert on all the different Lenovo keyboards that use this 40 pin connector but I think the row and column signals are always the same so the basic keyboard scanning signals will work. It looks like the T420 keyboard has some extra features that use the no-connect pins of the T61. Assuming you want the extra features of the T420 keyboard, you should modify the layout to route traces to the signals that you've noted are different. You are correct that Grounds and Returns mean the same thing.

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

    Yes you can use two of these boards with hookup wires to the Teensy. One board would have a 20pin connector and the other would have a 12 pin connector. I see some of the traces on the FPC cable are "dead ends" and don't go to the keyboard so you don't need to wire them to the Teensy. Likewise, I see two adjacent traces that are tied together so you will only need to wire one of them to the Teensy. First guess looks like you will need 22 wires so a Teensy LC would work.I'm not sure from the picture but it looks like the 20 pin FPC cable has contacts on the top and the 12 pin FPC has contacts on the bottom and both are 1mm pitch (check to be sure). Depending on how you fold the cables when inserted, you will end up with one connector that has top contacts and the other with botto…

    see more »

    Yes you can use two of these boards with hookup wires to the Teensy. One board would have a 20pin connector and the other would have a 12 pin connector. I see some of the traces on the FPC cable are "dead ends" and don't go to the keyboard so you don't need to wire them to the Teensy. Likewise, I see two adjacent traces that are tied together so you will only need to wire one of them to the Teensy. First guess looks like you will need 22 wires so a Teensy LC would work.I'm not sure from the picture but it looks like the 20 pin FPC cable has contacts on the top and the 12 pin FPC has contacts on the bottom and both are 1mm pitch (check to be sure). Depending on how you fold the cables when inserted, you will end up with one connector that has top contacts and the other with bottom contacts. Remember to not wire up to Teensy I/O #13 because it has an LED onboard. You can use that LED for Caps Lock indication. If you wire the Teensy I/O's in lowest to highest order, then you will need to modify the translation Python code. If you don't want to deal with that then I suggest you wire the I/O's per the Teensy LC translation table on step 14. Start at one end of the 1st connector and wire each (usable) pin to Teensy I/O's as listed in the table (23,0,21,1,24,2,etc.) Continue wiring to the last pin of the 2nd connector. Doing this will allow you to use the Python code without modification. Let me know if you have any more questions. Good Luck!

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

    Wow, that's a nice looking laptop. Great Job!

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

    Hello Billy67, I'm glad you got your keyboard working. Please send in a picture to the "I made it" link above and send your finished code to my email at thedalles77@gmail.com. I'll upload it to my repo for others to use.I never have figured out how to use TMK/QMK but the software weenies swear by it so I had to describe it first before showing my crude Arduino code.Cheers

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

    I have not done a Bluetooth keyboard yet but I would recommend that you first follow the steps in this Instructable to build a USB keyboard. This will help you figure out the key matrix and gain experience with your keyboard.

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

    No need to modify the Keyboard_Scanner_LT2 board. Use it with a Teensy 3.2 and solder the 30 or 32 pin FPC connector starting at pin 1. Leave the unused pads empty.

    View Instructable »
    • Battery Powered Raspberry Pi in Repurposed Laptop
      154 views
      7 favorites
      0 comments
  • How to Make a USB Laptop Keyboard Controller

    It is possible to use the Teensy 2.0++ with the R61 keyboard but you would have to design a new PCB. As shown in steps 16 thru 18, there is a connector on the end of the R61 keyboard cable that needs a specific mating connector. I designed a special Teensy 3.2 board for that connector in step 17, and another special Teensy LC board for that connector in step 18. You would need to design a similar board using a Teensy 2.0++ using this special connector. Unless you really want to use the Teensy 2.0++ and are fluent with PCB layout tools like Eagle, I recommend you use the Teensy 3.2, even if it is expensive to import to your country. It is 5 volt tolerant so you won't need any extra level translators for the trackpoint signals. You can order the PCB by sending the file "Lenovo_Scanner_…

    see more »

    It is possible to use the Teensy 2.0++ with the R61 keyboard but you would have to design a new PCB. As shown in steps 16 thru 18, there is a connector on the end of the R61 keyboard cable that needs a specific mating connector. I designed a special Teensy 3.2 board for that connector in step 17, and another special Teensy LC board for that connector in step 18. You would need to design a similar board using a Teensy 2.0++ using this special connector. Unless you really want to use the Teensy 2.0++ and are fluent with PCB layout tools like Eagle, I recommend you use the Teensy 3.2, even if it is expensive to import to your country. It is 5 volt tolerant so you won't need any extra level translators for the trackpoint signals. You can order the PCB by sending the file "Lenovo_Scanner_2020-03-08.zip" from my Github repo to JLCPCB.com. Here is the link to my repo:https://github.com/thedalles77/USB_Laptop_Keyboard...Also at the repo is a PDF describing the Lenovo T61 project and the Teensy 3.2 Arduino code "Lenovo_T61_KBandTP.ino".All indications are that the R61 keyboard matrix and connector pinout is the same as the T61 so you can use the code "as-is". As explained in the PDF at my repo, the Molex PCB connector 0543630489 (also known as WM6787CT-ND) is not a perfect fit for the keyboard connector. It lacks the plastic guides that align the contacts as the connector is inserted. The end result is that you must plug it in and try it to see if you have it positioned correctly. If not, unplug it and try again. Once it is working, never unplug it because it may take several attempts. The alternative is to unsolder the connector from the old motherboard.Let me know if you have any more questions.

    Definitely don't try to solder to the cables directly, it won't work. 1.33mm pitch isn't a standard size but 1.27mm is standard. It's difficult to measure the pitch with calipers so it might be worthwhile to order the 487576-2 and 487576-6 1.27mm pitch connectors from Mouser and see if they fit. Here are the Mouser links:https://www.mouser.com/ProductDetail/TE-Connectivi...https://www.mouser.com/ProductDetail/TE-Connectivi...If they fit, you'll need to glue down both connectors on a blank board, then solder 24 wires from the connectors to a Teensy LC. This would be a good project to learn how to use Eagle layout.Let me know how it goes. Good Luck

    View Instructable »
  • DIY Portable KVM Crashcart From Recycled Laptop Provides VGA Display and USB Keyboard Touchpad With Optional Raspberry Pi

    Sorry I can't think of an easy solution. The keyboard is already being scanned by the motherboard so the Teensy can't be used. The display is driven by the graphics chips on the motherboard with no convenient way to feed in VGA from the server. The expensive solution is a box like this one: https://www.startech.com/en-us/server-management/n..

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

    The 14 pin cable will be the Teensy output rows and the 10 pin cable will go to the Teensy input columns. If the FPC cables have a 1mm pitch, then you can mount the row connector on a regular Teensy LC board. Use a separate 1mm pitch bare board for the 10 pin connector and run wires from it over to the Teensy. Check out step 19 where it says:"If you don't mind soldering a lot of wires, you can use the FPC breakout board shown above for one of the keyboard FPC connectors and put the other keyboard FPC connector and a Teensy on the regular board. The front side of the breakout board will accept an FPC connector with up to 18 pins and either a 1mm or 0.8mm pitch. "If your FPC cables have a 1.25 mm pitch, then use two boards from the Toshiba T1200 shown at this link. https://github.…

    see more »

    The 14 pin cable will be the Teensy output rows and the 10 pin cable will go to the Teensy input columns. If the FPC cables have a 1mm pitch, then you can mount the row connector on a regular Teensy LC board. Use a separate 1mm pitch bare board for the 10 pin connector and run wires from it over to the Teensy. Check out step 19 where it says:"If you don't mind soldering a lot of wires, you can use the FPC breakout board shown above for one of the keyboard FPC connectors and put the other keyboard FPC connector and a Teensy on the regular board. The front side of the breakout board will accept an FPC connector with up to 18 pins and either a 1mm or 0.8mm pitch. "If your FPC cables have a 1.25 mm pitch, then use two boards from the Toshiba T1200 shown at this link. https://github.com/thedalles77/USB_Laptop_Keyboard...Mount the Teensy LC on the board for the 14 pin cable and no Teensy on the board for the 10 pin cable but run 10 wires over to the Teensy.

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

    The Teensy 3.2 would be my choice for this keyboard. For the board, it looks like you will need a Keyboard_Scanner_LT_0p5_2020-02-26 from Step 6 item 4. You can download the gerber zip file my repo that can be sent to JLCPCB for fab, or you could send the Eagle Keyboard_Scanner_LT_0p5.brd file to OSH Park. You will need to use flying leads as shown in the video. The 30 pin 0.5mm pitch FPC connector can be purchased from Ali Express. Here is one example of a suitable connector:https://www.aliexpress.com/item/33015600219.html?s...Pick the 30 pin 0.5mm pitch and look at how the FPC cable will be positioned to decide if you want top or bottom contacts on the connector.There may be some trimming with scissors on the sides of the FPC cable to get it to fit in the connector. The alternative is t…

    see more »

    The Teensy 3.2 would be my choice for this keyboard. For the board, it looks like you will need a Keyboard_Scanner_LT_0p5_2020-02-26 from Step 6 item 4. You can download the gerber zip file my repo that can be sent to JLCPCB for fab, or you could send the Eagle Keyboard_Scanner_LT_0p5.brd file to OSH Park. You will need to use flying leads as shown in the video. The 30 pin 0.5mm pitch FPC connector can be purchased from Ali Express. Here is one example of a suitable connector:https://www.aliexpress.com/item/33015600219.html?s...Pick the 30 pin 0.5mm pitch and look at how the FPC cable will be positioned to decide if you want top or bottom contacts on the connector.There may be some trimming with scissors on the sides of the FPC cable to get it to fit in the connector. The alternative is to install a 32 or 34 pin connector and manually position the cable and try it to see if you've got it making contact.Good Luck and post pictures when you are finished.

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

    Hi Brad, this looks like a cool project. I don't claim to be a programmer either but muddle my way thru. Now that you have the matrix decoded, you could modify the standard keyboard code that is used in this Instructable. It would require additions to look for your special control-Fx keys. Then you would send keyboard.press and keyboard.release commands as described at https://www.pjrc.com/teensy/td_keyboard.htmlMy code is for a regular keyboard that can have multiple keys pressed at the same time. That is why it uses the "micromanager" method with 6 slots to hold the keys for 6 key rollover. Your keypad looks like you expect one key to be pushed at a time. You could switch over to use keyboard.press and keyboard.release for everything.Hope this helps. If you have more questions…

    see more »

    Hi Brad, this looks like a cool project. I don't claim to be a programmer either but muddle my way thru. Now that you have the matrix decoded, you could modify the standard keyboard code that is used in this Instructable. It would require additions to look for your special control-Fx keys. Then you would send keyboard.press and keyboard.release commands as described at https://www.pjrc.com/teensy/td_keyboard.htmlMy code is for a regular keyboard that can have multiple keys pressed at the same time. That is why it uses the "micromanager" method with 6 slots to hold the keys for 6 key rollover. Your keypad looks like you expect one key to be pushed at a time. You could switch over to use keyboard.press and keyboard.release for everything.Hope this helps. If you have more questions, you can send them to thedalles77@gmail.comGood LuckFrank

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

    I would use the Teensy 3.2 on a Keyboard_Scanner_LT2 circuit board.

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

    Send me an email at thedalles77@gmail.com

    That is correct.

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

    I've never seen that error before. Send me your code and I'll take a look.thedalles77@gmail.com

    View Instructable »
  • 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

    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.

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

    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

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

    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.

    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 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.

    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.

    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 »