Weekend project: DIY USB on-the-go from old cables
USB on-the-go cables are handy as heck with Android devices. They're a specially wired cable that allows the same USB port you use to charge or communicate with a computer to be used to connect USB peripherals right to your tablet or phone. That means things like game controllers, mice or keyboards, USB thumb drives, or even USB hard drives if you have access to an older model one with a separate power supply.
There are no set and fast rules about what USB gadgets you can and can't use, or if you'll need root to do anything with them but in general "standard" Android devices won't allow you to mount a USB thumb drive without being rooted and having a way to send the commands to mount the device, and Samsung devices running Android 4.0 or higher will. Most devices running Ice Cream Sandwich or higher will recognize game controllers, mice, or keyboards. For more information about your particular device, head into the forums and ask the hackers -- they know everything in there.
Before we get started, know up front that this is not the best way to get a USB OTG cable. The easy way is to order one from Amazon for a buck or so, and wait for it to be delivered. But I know I'm not the only smartphone geek who has cables laying around and would rather do-it-myself. It's fun, it saves a buck, gets some of that junk you just can't bring yourself to throw away used up, and offers instant gratification. If you're semi-handy with a soldering iron, have the parts, it's fun and it's for you. Read on past the break.
The parts and tools
You'll need a few things to get started here, but nothing too exotic -- everything you'll need is standard stuff in a D-I-Y-er's toolbox.
- A soldering iron. Lower wattage is better
- Some fine lead-free solder
- A sharp knife
- Some electrical tape and or heat shrink tubing
- A standard micro USB data cable
- A type A USB extension cable
Doctor your micro USB cable
You'll need to attach the "micro" end of the micro USB cable to the female end of the USB extension cable. But you'll also need to solder in a jumper at the micro USB connector. Grab your micro USB cable and cut the outer jacket away from the small end. You'll need to get to the solder points on the connector itself, so you might have to dig out some hardened silicon as well.
Pin one | Red wire (VCC) |
Pin two | White wire (DATA -) |
Pin three | Green wire (DATA +) |
Pin four | None (ID connection) |
Pin five | Black wire (GROUND) |
Once you have the connector open, you'll see the colored wires soldered to little pins. Those pins and wires correspond to the chart above. What you'll need to do is jumper pin four (that's the ID connection) to pin five (ground). In a standard USB cable pin four is open, and in a USB OTG cable pin four is grounded. You can jumper this out however you like, just make sure you have one continuous connection between pin four, pin five, and the black wire in the cable.
Now cut the full-sized end off the USB data cable, and slide the right sized piece of shrink tubing on if you're going with shrink tubing. Also slide a piece to cover the splice you're about to make that joins the two cables. Don't heat the shrink tubing just yet, test things first!
Be an expert in 5 minutes
Get the latest news from Android Central, your trusted companion in the world of Android
Splicing the cables
Cut the male end from the USB extension cable, and strip back and inch or two of the jacket. Look at the wires and see if you have the same colors as the first cable you chopped up. If you do, they should match color to color just fine. If you don't, see the chart above and open the male end you cut off and check the pins. You could also ring out the wires with a multimeter if you have one handy. Just make sure you know which wire is which if they don't color-match.
Carefully solder the two pieces together, making sure to put your shrink tube in place before you make the connections. This is going to wiggle and move a lot, so take time to have good, solid solder joints.
Testing it
Once everything has cooled down, carefully plug the cable into your phone or tablet. Grab an old wired USB mouse, and throw it on the other end. In a few seconds you should see a mouse pointer on your device! If the mouse you're using has a sensor instead of a ball, you'll also see it light up as soon as you plug it all in.
Yes, having a mouse connected to your phone or tablet is cool in theory, but not very practical. This was just to test the connections. If everything is working, heat your shrink tubing or tape up the points of the cable you opened. A mouse uses the same four connections as any other USB device, so if it works you're good to go.
Making it useful
If you have a Galaxy S 3, you can plug a thumb drive right into the cable and go. You'll find a new folder called USB storage in your file explorer, which will be all the stuff on your thumb drive. If you're using a Nexus 7 or a Galaxy Nexus, things are a little more involved.
Stock Jelly Bean can see and recognize a USB thumb drive, but the system won't just auto-mount it. That means it's there, but you can't get to it. The Android developers have said this is done on purpose, as they provide everything to make it happen except a UI. Without a UI, they don't want it to happen automagically. The last time the subject came up on Google+ it turned into quite the debate. Read it and see both sides.
For now, the only option I can find needs root. Yes, the code is there for it to be done without root, but it seems that no developers have done it yet. If you're rooted, just install StickMount from Google Play. Now when you plug a thumb drive in you'll get a prompt for StickMount to start, and it mounts the folder so you can get to the files.
The good news is that even without root things like gamepads and DLSR camera cables now work. But that's another post for another weekend!
Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Threads.