The Rotary Emotiphone is a vintage rotary phone that’s been revived to tweet emoticons. This particular project, by Instructables user zvizvi comes with a list of predefined emoticons, each assigned to a single digit and matched with a uniquely colored LED.
Some of the materials and tools you’ll need are a rotary phone, an Arduino Uno, a WiFly shield, a MCP23017 I/O Expander, a perfboard or stripboard, seven different colored 3mm LEDs, three dual-color 3mm LEDs, 20 × 100 Ohm resistors, an on/off switch, electric wire, four AA battery holders, a DC power connector, a cordless drill, 3mm drill bit (for the LEDs), 12mm drill bit (for the switch), solder and soldering iron, hot glue gun and multimeter.
Videos by VICE

Before you start, disassemble the phone and take out anything you don’t need, including the solenoids, bells, large capacitors, and metal brackets. Then gently remove the flat, opaque disc located behind the finger holes of the dialer. Keeping in mind where the finger holes are, drill 10 3mm holes into the plastic behind the dialer. Connect a common ground wire to all of the single-color LEDs’ cathodes (short legs) and connect the wire as close as possible to the LEDs. Cut off the excess metal of the legs and bend them so they don’t stand in the way when reassembling the dialer and case. Also, remember to leave some wire at the end to connect to the Arduino.
For the bi-color LEDs, check whether they’re common anode or cathode. If they’re common anode, solder another common wire to their anodes (long legs) and connect the wire to the VCC of the Arduino. If they’re common cathode, use the the same common ground wire you used for the single-color LEDs and connect to their cathodes (short legs).
Now solder wires to the remaining LED legs (one wire for the single-color LEDs, two for the bi-color). Connect the ends of these wires to the MCP23017 (or the Arduino) and test your connections, making sure all LEDs are mounted firmly and light up when connected to 3V power.
Replace the opaque disc and the the dialer and re-test. Adjust LEDs to fit. Solder the MCP23017 onto the perfboard or stripboard and connect it to the LEDs on one side and the Arduino on the other. Test by uploading your sketch to the Arduino.

Now you will be manipulating the phone’s hardware. Take a single 1.5V battery and electrify the contacts coming from the curly handset wire. You will notice two contacts that make clicking sounds on the handset speaker. Connect these wires to these terminals and to the Arduino’s GND and Pin 9 terminals. Using the multimeter, find two contacts that conduct when the handset is up (on) and disconnect when it is down (off). Connect wires to these terminals and to the Arduino’s GND and Pin 2 terminals. Still using the multimeter, find the two contacts that “jump” (change conductivity quickly) when the dial is being wound and released. Connect wires to these terminals and to the Arduino’s GND and Pin 3 terminals.

Since the Emotiphone runs on batteries that tend to run out pretty quickly, add an on/off switch to conserve electricity. Drill a 12mm hole into the back of the phone, making sure the back part of the switch that’s inside the phone will not prevent the phone cover from closing. Hook the positive (red) wire coming from the four 1.5V battery holder to the switch and connect another wire to the other terminal on the switch. Take this last wire and the black wire coming from the battery holder and solder them the the DC power connector. The black wire should be connected to the outer connector ring and the red wire to the inner connector ring. Now plug the connector to the Arduino and test the power supply by switching it on and off.

Now hook up the WiFly Shield by following the instructions from SparkFun and download zvizvi’s modified WiFly Arduino library found in Step 4. Connect the WiFly to the Arduino (without the phone if possible) and upload one of WiFly’s sample sketches to test WiFly. Now connect the MCP23017, the two sensors (dialer and hook), and the speaker in whatever way you find most convenient.

Authenticate Twitter by setting up a Twitter proxy. Once you’re set up, punch in your account details, embed the authentication token into the Arduino sketch, and upload the tweaked sketch to the Arduino.

Fire up the Emotiphone by making sure you’re on an open network. Turn the power on and lift the handset. Wait for an ascending series of tones followed by the dial tone, signaling that the internet connection has been made. Dial the number that corresponds to your mood and wait for the melody signifying that your message has been sent. Check Twitter and make sure the update went through. Now you’re free to EmotiTweet your heart out.
Visit the Instructables How-To for further instruction, more detailed photographs and tips on where to buy materials.
More
From VICE
-

Photo: PeopleImages / Getty Images -

Photo: FG Trade / Getty Images -

Taylor Hill/Getty Images for Blackbird Presents and Live Nation
