Repurposing A Palm Portable Keyboard

Typing comfortably on a Smart Phone is best done using an external keyboard, especially if you spend a lot of time on IRC or use other chat apps. Obviously, the keyboard needs to be portable too. [cy384] felt the current crop of portable keyboards left a lot to be desired in terms of build quality and feel. That’s when the Palm Portable Keyboard (PPK) caught his eye. It’s small enough to fold up and fit in a pocket, yet unfolds to a size big enough to feel comfortable while typing. Unfortunately, the version he preferred to use did not have either a Bluetooth or a USB interface, so he built up this Palm keyboard adapter.

The portable keyboards have a serial interface and custom connectors depending on the Palm model they were designed to connect to. [cy384]’s goal was to adapt the PPK as a generic USB HID keyboard using an Arduino Pro Mini clone, with a 3D printed adapter for both of the keyboard types that he had. The keyboards  use inverted TTL logic at 9600 baud with no parity and one stop bit. Some handshaking needs to be taken care of and there’s a low power mode that needs to be managed via the Arduino code. He was lucky to get his hands on a reference document that provided the hardware and software details to help him crack all of this. His Github repository has the code and 3D printable files for the adapters.

35 thoughts on “Repurposing A Palm Portable Keyboard

  1. Nice trick. I still have an old PocketPC version (Palm’s competing PDA) and it connects via IR and swiveling mirror to manage IR’s line from the keyboard’s emitter to PDA’s IR receiver. I’m also guessing it’s a basic one way serial type connection. I need to find it and see if I can make it work with my cell phone, its tiny keyboard is hard for Andre the Giant-sized hands.

  2. nice hack, and very nice build log. that arduino running at 16MHz doing bit banged serial is quite the powerhog though, there’s a lot of room for improvement, since this is a battery operated device..

    1. And I got lucky to buy one while there were still made (even got the limited “luxury” edition with shiny silver metal, and with the leater holder).
      It eats batteries rather fast to my taste, but unlike the cheap no-name asian clones mentionned above by Ash, its bluetooth connection is more reliable (as long as the AAA battery is charged).

      Saddly, over time (and having successingly served a Tapwave Zodiac 2, a Palm TX, a Palm Pre*, an HP Pre3*, and now finally a Jolla – so its been (ab)used quite a lot), it’s starting to break down. The battery cover is compley broken, and the screw supposed to hold the whole battery compartement gave away.

      I was thinking on my own that a converter could be doable, thanks to cy384 for his wonderful work!

    1. Did you read the part about the Build Quality?
      The current bunch of foldable keyboards are mostly crap, as people don’t want to pay for quality.
      At least, that’s the perception at most companies.

  3. The magic in question is just code running on an Arduino that can ast as a USB HID. Code’s up on Github, either have the connectors 3D printed yourself, or do a bit of splicing if you have to, put a more reasonable connector on yourself. Then use the leftover bit of cable to make an adaptor to connect back to a Palm again if you need to.

    Maybe if you want the hassle of selling them, Mr Cy will let you do it yourself. Running a business is a much bigger pain than a bit of soldering and whatnot, I can understand why people don’t want to sell their stuff as products, however much we beg. People will beg for one for themselves, but if it turns out sub-perfect they’ll complain halfway across the Internet. Or sometimes complain for reasons that are the person’s own fault, or expecting more than the laws of physics or economics can support.

    Even without dude’s skills, you might be able to hack up an ugly version of this to use yourself.

  4. Hi there, i have a similar Palm Keyboard (Thinkoutside model, but with palm print) bought from ebay. I have a wireless model with infrared, but my palm Vx and my palm Tungsten C need a driver (a single prc file). I have searched hours and hours to find a working driver, with the result to get at least some symbols and input signals working on the Vx. But it seems to be the wrong character table, the driver is from a competitor.
    Does anyone here have a driver for the palm wireless IR model ? I just need a file uploaded to google drive or similar cloud drives. I hope anyone can help,

    Thanks in advance,


  5. Hello, Very good job, I did the assembly, I had a keyboard stored for the Palm3, and I added new macro functions with the “keyboard.h” library, can you help me with a question about the source code?

  6. For those who couldn’t build by themselves: I’ve made a few extra for the Palm III version, and listed them on ebay. You can try searching for “USB adapter for Palm Portable Keyboard” on ebay.

    The price I’m charging is just to cover the BOM and fees, not trying to profit from it, just want to help those who don’t have the skills to build it. Thank you cy384 for this wonderful project!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.