Monday, July 30, 2012

Creating a Sonic Screwdriver with an Arduino Nano, Part 1

I was pretty excited to hear about the release of a Sonic Screwdriver remote. But after watching the YouTube demo, it seems kind of lame. The appeal of the Sonic Screwdriver, used by the good Doctor, comes from its universal applicability to help the Doctor get out of sticky situations or rid general annoyances. A programmable remote just doesn't cut it.

For those in the US who have never caught an old episode of Doctor Who at 5:30 AM in the morning on PBS or watch the newer episodes on Amazon Prime, a Sonic Screwdriver is akin to MacGyver's swiss army knife, but only more futuristic - the BBC prop makers added an LED to show that it is from the future.



My disappointment in the Sonic Screwdriver remote (available on ThinkGeek) has inspired me to design a Sonic Screwdriver that is more true to fiction. I just can't see the Doctor sitting somewhere waving his screwdriver infront of an old Panasonic remote. In this post I will go my plans to integrate a TV-B-Gone into a Sonic Screwdriver. In future posts, I may show how to integrate other functions such as 128 kHz RFID technology (to open my apartment or work doors) and possibly integrating 13.56 MHz MIFARE technology (in DC we use SmarTrip for public transportation).

Here is a list of materials necessary for the first screwdriver prototype:

Doctor Who Eleventh Doctor Die Cast Sonic Screwdriver
Arduino Nano v3.0
IR LED (950 nm)
100 Ohm Resistor (I prefer the metal-film ones)
NPN Transistor (I had a 2N4401 laying around)
Breadboard
Tact Button
Some Wires
A23 Battery
N-Battery Holder
Weller WP35 35-Watt Professional Soldering Iron
American Terminal AT-31604 60-40 Rosin Core Solder (4 Ounces)

Now lets get started first by prototyping a TV-B-Gone with the Arduino Nano. Usually this process would take a bit of knowledge of C and microcontroller programming, but luckily Ken Shirriff has already created an Arduino port that will serve the purposes of this post. Simply follow the schematics below to set up the Arduino Nano TV-B-Gone that works with Ken Shirriff's code.

To test the set-up above, connect the Arduino Nano to your computer with a mini-B USB cable. Open up the .pde file downloaded from Ken's blog with the Arduino IDE. In the tolbar, under Tools > Board, please make sure the correct board is selected. If you ordered the Arduino Nano v3.0 from the link above, the correct selection is listed as "Arduino Nano w/ ATmega328." Under Tools > Serial Port, make sure the selected port is connected to the Arduino. On Lion OS X 10.7.4, I ran into a slight problem where my mac could not detect the port my Nano was connected on. I was able to fix this by installing an FTDI driver for my system, from here. Now the correct serial port (/dev/tty.usbserial-AE01K9BX) will appear when my Arduino is connected. When both the Board and Serial Port are correctly selected, press the upload button (the right pointing arrow on the top left corner). After uploading is complete, press the tact button on the breadboard and use a digital camera to check that the IR LED is pulsing (pictured below). If it does not pulse, check to see if your connections match the schematic above. You should note that the transistor has it's flat side facing towards you, the short leg on the IR LED is the ground, and the tact button is made up of two separate strips of conductive metal on the bottom. For my European readers, please remember to ground pin 5 or follow this schematic.



To disassemble the head of the Sonic Screwdriver screwdriver, just pull really hard and the insides should come out easily.



The next steps will be a bit trickier. I chose to use the Arduino Nano for the board's tiny size, which fits perfectly into the head of the unassembled Sonic Screwdriver. However, the headers of the assembled nano makes it oversized.


One solution is to start the project by buying an unassembled Arduino Nano. The solution I chose was to desolder and remove the headers, which will be covered in my next post. For those of you who just can't wait, all of the necessary parts to complete the project has been presented in this post. To get the basic functions of a TV-B-Gone in a Sonic Screwdriver just solder or wire glue everything together, connect the N-battery holder to the VIN pin (next to the ground pin), and you are ready to go! The next posts will cover how to assemble the screwdriver with sound effects and increasing the range of the screwdriver.

3 comments:

  1. I totaly came up with the same idea today. With the same screw driver I am so glad I came across your post.

    ReplyDelete
    Replies
    1. Happy to help out fellow Whovians! I wish I had more free time to continue this screw driver project. The next update maybe a month away.

      Delete
  2. Did you ever do a part 2 to this tutorial? It'd be great to see the finished thing.

    ReplyDelete