Look for resident hackers Will O'Brien and Eliot Phillips (plus many other crazy projects) April 22-23 at the Maker Faire in San Mateo, CA!
This one goes out to everyone that has an iPod or two laying about and an itchy soldering iron and thinks that the standard USB or Firewire dock just isn't quite good enough. The tiny thirty pin dock connector on the bottom of later model iPods contains quite a few connections and we want to take advantage of all of them: audio, video, serial, USB and Firewire. Today, we're bringing you part one of a How-To series on designing and building your own iPod super dock.
In this first part we'll be shopping for parts and preparing to design the super dock. The idea of building a dock with every connection available has been around for a while. It came up on the iPodLinux forums long ago and more recently a prototyping version was featured on Hack-A-Day. To find out just what the dock connector has to offer, we checked out pinouts.ru. Twenty five of thirty pins on the connector are used to deliver line level audio in, out, composite video out, a TTL level serial port, 3.3 volts out (handy for powering accessories), Firewire and USB.
The most challenging part to acquire is the actual iPod dock connector. Others have sacrificed cables, but new connectors are easier to work with. We picked up ours from Ridax on the iPodLinux forums, but lately Spark Fun Electronics started to carry them. (Spark Fun is out of stock today, but they assured us that more are coming in very soon) The connector we used is actually designed for making cable assemblies. The tabs are very small, and you'll probably turn into Smeagol go nuts trying to solder to them.
For the rest of the connectors, we visited Mouser electronics. Here's what we bought (Mouser's part numbers are listed):
- 538-53460-0621 6 pin 1394 PCB Connector
- 571-7877801 'B' USB Connector
- 161-4223 3 way RCA Phono Jack: Red, White and Yellow
- 152-3309 D-Sub 9 pin Connector
- 161-0096-E Red PCB Phono Jack
- 161-0097 Black PCB Phono Jack
To try our hand at soldering wires to the tiny connector, we made this handy travel charger just before a long, long, long plane ride. (The TSA guys actually laughed at it) Trust us, wiring this up took some patience. Forum user holto2go suggests placing a small piece of paper between the pins to ease soldering.
Because we want to use all of the pins, we decided to mount the connector directly to a pc board. A small screw driver was used to slightly spread the pins of the connector, and it fit very snugly around the edge of our board.
We considered using a fine tip sharpie to lay out the connector lines, but there's still alot of board design left to do, and it's not very clean looking. In the end, we decided to lay out the custom connector in the latest version of our favorite freeware layout software: EAGLE.
To get started on the custom connector we measured the pins of the connector with our digital calipers. It's pretty challenging to measure the tiny connectors with much accuracy, but our measurements gave us a great place to start. We're going to skimp on some of the details because Instructables has a nice how-to on making your own parts in EAGLE.
To get the width of the pins just right, we printed out test rows with our laser printer and compared it to the pins on the connector.
We found that a .016 inch thick SMD pad was the right width, and starting with a grid size of .0205 inches we made test layouts of 15 pins, printed them out on a laser printer and compared the width to the actual part. Through a few iterations we settled on a grid that was .0195 inches wide. To provide plenty of surface area, we made the pads a generous .140 inches wide. The pads alternate red and blue to indicate the top and bottom of the board. To make it look good, we added an approximation of what the dock connector looks like. Lastly we numbered the pads in order with the name command.
Next we made a simple schematic layout. It's just a box with the 25 active connector pins. Then we named each pin. We did a couple of repeats, because EAGLE doesn't want to link a schematic pin to two physical pins.
To bring together the symbol and the package layouts, we created a new device called the ipod-dock-connector. Within the package definition we associate the pins on the physical package with the pins in the schematic version. Now all the really tedious stuff is finished and we can start laying out the actual connections.
If you want to start playing around with your own dock designs, you can download the library we created for EAGLE here. Just place it in the "lbr" directory under the main EAGLE program directory. We'll continue the project in next week's in Part II. We'll be designing the dock and laying out the board using EAGLE. From there we'll make our own PC board and complete the super dock faster than you can say "iPod on fire."