We can’t say we’ve had problems typing on our iPhones here at HackaDay, must be the elfin fingers, but for [Ben Kurtz] it was a real pain. The obvious solution is to carry around an Arduino, 9 volt battery, iPhone breakout board, a ps2 keyboard, and of course the iPhone itself. Well, maybe it could be a little smaller with fewer parts, but at least it works. The Arduino reads input from the keyboard and converts it to serial, then the iPhone pulls the data via VNC. Like we said, a little roundabout, but we love the amount of ingenuity involved.
31 thoughts on “Finally, A Keyboard For The IPhone”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
love the smell of an arduino :)
Kinda takes the portability out of the iPhone, dontcha think?
just needs one of those roll-up keyboards. besides, with the level of man purses out there (re: back-packs) you can always carry a few more items.
Sweet, this is something I’ve been looking to make myself, and it looks like the only thing I’ll need to buy is the ipod connector breakout. I’m off to sparkfun ^_^
Does the iPhone seriously not support Bluetooth HID? Even my garbage dumbphone from Verizon supports BT keyboards.
okay, now /this/ is an appropriate use for an arduino
well done
A refined solution would be a very small PCB with a UART IC solution or whatever(I don’t know the specs) that is very low profile. You could probably use a much smaller cell too, something with maybe 5v and 2kmah+.
Thanks adruino for another hack.
Is such an easy solution possible for a BlackBerry instead of buying their proprietary keyboards?
Get a mini keyboard and shoehorn the battery and a Arduino Mini or Nano in it and you’re portable again.
I was hoping this was more info on the bluetooth keyboard iphone hack: http://www.ubiqkom.org/blog/?cat=9
haha all this when there is this: http://www.ubiqkom.org/blog/?p=51 good catch cptfalcon!
I did a little more sleuthing and found some code towards iphone/ipod bluetooth keyboards:
http://code.google.com/p/btstack/
http://code.google.com/p/ibluetoothproject/
I just I wish I had some time to hack on this. ibluetoothproject looks like more of a hack, while btstack looks more robust – or at least intends to be :) With the ipod portability / battery life, it makes an attractive portable computing system with a keyboard. You could get a full 80 width terminal in there with 6 pixels per character.
…for those waiting for Bluetooth HID, there will be a first release of the BTstack for iPhone soon, and a (beta?) Bluetooth iPhone HID driver in less than a months time.
http://shop.ebay.com/i.html?_nkw=iphone+keyboard&_armrs=1&_from=&_ipg=
??
I want this for my G1.
why?
because I want to map the keyboard in an car-motive controller for using it while i drive…
The iPhone is closed source. Why any serious hacker would want it is beyond me.
wowow this is grate NEWS
How is this a hack? Sorry, I thought it was tradition to say that to every post on this blog.
@Beavis
only since the great influx of idiots
@mj: Yep, shouldn’t be too hard to remove the ATMega from its arduino board and place it onto its own board along with the Sparkfun iPhone interface board, then shove it all inside the body of the keyboard.
It doesn’t look pretty, or portable, but it works (and documented nicely). It’s up to you to make a custom PCB and make it all-in-one and smaller.
Heres an arduino use we can all agree is good
http://imagebin.org/67911
Why not just use one of those tiny bluetooth keyboards?
Oh wait… Nevermind.
@Laurencium Needs an upgrade to the Atmel 328 ‘DD’ if you ask me
@Hackius: closed source can be part of the fun, if you enjoy RE :)
Well I can’t really use a bluetooth keyboard in my case since I have a first gen itouch, which lacks bluetooth >.<
Have a look at Atmel’s appnote AVR313: Interfacing the PC AT Keyboard.
http://www.atmel.com/dyn/resources/prod_documents/DOC1235.PDF
This was published in 2002 and includes full C source code for an AT keyboard-to-serial interface. Integrating an AVR and mini-din socket within the space of an iPhone connector shell is an exercise for the astute reader. It shouldn’t be too hard.
When all you have is an Arduino, the solution to every problem is doomed to be a $30+ rat’s nest.
For those of you interested in implementing this at home, there may be a better solution than either the Arduino or the bare AVR. Most PDAs manufactured in the past 10 years had various aftermarket keyboards available; you can find them for pocket change on the used market since the PDAs are obsolete. Most of these keyboards (Palm Pilot, Compaq IPAQ) use a simple serial interface which should connect directly to the iPhone’s serial lines. Here’s one guy’s project to get you started:
http://www.splorp.com/newton/stowaway/
Better jump on it before Apple releases Bluetooth HID and takes all the fun out of the hack.
Seems like a lot of hard work went into this project. I hacked together a keyboard using the same VNC method last year, but the wiring was much simpler.
It’s amazing. Now iphone users can also use the keyboard. But i wanna know that is this keyboard is portable?
Hi,
I’ve been trying to get TouchClient.c to compile on my ipod but so far no succes, when i type “gcc -static-libgcc -o TouchClient TouchClient.c -lvncclient ”
I get:
“ld: library not found for -lSystem
collect2: ld returned 1 exit status”
Does anyone know how to fix this?
Now iphone users can also use the keyboard. But i wanna know that is this keyboard is portable?