This is TweetTyper. It types sweet tweets.
Awarded Best Hardware Hack at HackRPI 2014
Awarded Best Hardware Hack by Bose
What is it?
TweetTyper will pull and type out* live tweets with a specific search term, in this case '@goHackRPI'.
How did you do it!?
- We created a simple python command line app that would pull live twitter feeds with "@goHackRPI", then send it over to the Arduino connected the typewriter's main board.
- We learned that the keyboard layout follows the common 8x8 matrix of switches in almost all keyboards. We reversed engineered the keyboard's layout and simulated the keystrokes by having the Arduino pass it along the keyboard ribbon cable.
- Modern circuit boards exposed some sort of uart or serial communication pins for debugging or programming. However, we couldnt find uart or serial inputs on this typewriter's old school controller. With no other way of communicating with the typewriter, we went for this approach.
What did you use?
- Brother SX-4000: $20 craigslist
- Arduino Mega 2560: ~$35
- Male to Male jumper cables
Software used?
- Python 2.7 (OSX)
- Arduino software
- TweetAPI (python module)
Backstory
I saw a typewriter at a thrift shop in Boston. I remember my mom demonstrating how to type with this thing when I was 5 years old. I remember the sound each hammer was triggered and the obnoxious series of noise when you 'white-out'. The nostalgia immediately inspired me to bring this back and create something awesome with it.
Special thanks to Scott Perry (@numist), who also reversed engineered the SX-4000 in 2010. We used his blog posted extensively to get us on the right path. It would have taken us more than 24 hours without this contribution
*By presentation time, all the pieces work independently. However, we were experiencing corrupt text being typed. We were not able to solve the synchronization issue when the typewriter would scan for a key pressed and us sending the key stroke. Also, keyboard ghosting issues where the keyboard thinks we are pressing more than one key at a time.

Log in or sign up for Devpost to join the conversation.