The Aruino Pro micro is a Atmega32u4 based Arduino board by Sparkfun Electronics. For various reasons, it is one of my favored arduino boards to work with.
This little guys packs a serious punch, I’ve used the Pro Micro’s for many projects already, from controlling LED’s, motors, GPS receivers, data loggers, keyboard emulators. You can’t beat the postage stamp size with USB HID support and the breadboard friendly header pinout. You just gotta love the Pro Micro.
But this board has a serious issue! The micro USB port comes off too easily. I've lost about 3 boards to the same issue and the comments section on the Sparkfun's product page says the same story.
So today, I'll be trying out my soldering skills on reviving an Arduino Pro Micro with a broken off USB port. This instructable might help fix any broken micro USB port I suppose, you'll basically have to figure out the steps to fix your port. Keep in mind that this is my second instructable and my camera setup is nowhere near good enough for documenting this in perfect detail. I'm hoping someone else will pick on this instructable and help out with resources. :)
Here's my Google photos album for the entire project.
Step 1: Google It!
The first step to solving any problem, is to google it up first.
As it turns out, the Arduino Pro Micro is infamous for USB ports breaking off. It's because the micro USB ports used are not through hole ones. And it's a real pain in the butt to fix small SMD components like this.
A pre-emptive solution to this problem would be to use some epoxy straight out of the box to secure the port.
Step 2: Figuring Out What Needs to Be Fixed
The board that I'm trying to fix has only one trace remaining. All the pads came off with the port and it seems like I wont be having any solder joints holding the port down.
I'll be relying on epoxy to hold the port down.
Step 3: Gather Your Materials!
Now that we have it all planned out, time to gather our materials.
Here's what we'll be needing
1. A fine tipped soldering Iron, preferably one with low wattage.
3. Solder, flux and some solderwick
4. Fine enamel coated wires (I'm using some scrapped out of a 500mA motor coil)
5. Some precision tools to make your life easier ( helping hands, exacto knife etc)
6. Epoxy resin and hardener
8. A multi meter to check for shorts.
Step 4: Schematics
The first thing you need to do is to try finding a schematic for the Arduino Pro Micro. Luckily it's available at Sparkfun's product page here.
Any USB port has 4 connections; VCC, GND, D+ and D-
It is pretty straight forward to find the GND, D+ and D- traces on the Arduino Pro micro once you see a pin out of a Micro USB port. The VCC line on the other hand, does not just go to the VCC. According to the schematic from sparkfun, it goes to pin 2 of the Atmega32u4, to UVCC.
Step 5: Overview on the Traces So Far
So here's what the traces look like. I hope the GIF is playing alright. You can check it out here if it's not working on instructables.
I'm still figuring out the mystery of using GIFs in instructable apparently.
As you can see the UVCC line goes through a via and connects to pin 2 of the Atmega32u4. The rest is pretty straight forward.
Step 6: Get Ready to Solder!
Heat up your soldering iron and get ready for some really tedious soldering work.
Make sure you have adequate lighting. Soldering might seem like a handful at first, but it is all about practice and the tools you have. Having the right tools really makes work like this easy.
Step 7: Cleaning the Pads
I will be reusing this micro USB port that came off the Arduino. If you lost it, you can always use a fresh replacement.
Gently run the tip of the iron and rub the old traces off. The secret to getting this done nicely is to apply as low contact time possible. You dont want to melt the plastic inside the port. Go easy on the heat and finish it as quickly as possible.
Use some solderwick and flux to take out any excess solder left on the pads.
Step 8: Tinning the Wires
The wires I'm using are salvaged from a motor coil. They're enamel coated and very convenient to use.
Rub off the enamel from the tip and add a small blob of solder to it.
You'll need to be extra careful not to put too much solder since it might short with the neighboring pins later. Too less will result in a loose connection.
Take 4 pieces of wire, tin one end of each and prep them for the next steps.
Step 9: Soldering the Wires Onto the Port
A helping hand is very recommended in this step.
Mount the USB port on the helping hand, slowly (painstakingly) add all three of the wires we need for the ripped out traces. Since we have one trace left on the board, i'm leaving that one for a solder joint.
Be careful and check for shorts after every wire you attach.
Step 10: Securing the Port Onto the Board
With the USB port wired, we need to secure it so we can connect the traces onto the board.
A small dab of superglue will do exactly that.
Before adding superglue, add a small solder blob to the remaining trace on the USB port(board) and the 22ohm resistor for the D- line. (Check on annotaion on the pictures)
Add a dab of superglue and gently place the USB port in place for connecting to the only remaining solder trace.
Step 11: Soldering the D+ Pin on the Remaining Trace
Mount the arduino on the helping hand
Melt the solder blob placed earlier on the remaining trace on the board. It should melt onto the D+ pin on the USB port and form a solder joint easily.
With a multi meter check continuity to the 22 ohm resistor of the D+ pin.
Be sure to check for short with the D- pin.
Step 12: Soldering the D- Wire
This is probably the hardest one to solder of all the wires as the port is really close to the 22ohm resistor we're going to connect it to.
Bend the wire just enough using a forceps and solder it to the resistor. Trim the excess wire.
With that, we're only left with the GND and UVCC wires which are not as hard as these two.
Check for short with the adjacent D+ line.
Step 13: Re-routing the UVCC Trace
Since the UVCC line goes through a via onto the bottom of the board, and then pops up on the topside again very close to pin 2 of the Atmega32u4 chip, we'll be re routing the trace a bit instead of soldering onto the Atmega32uf itself.
Retrace the UVCC connection, find the trace on the bottom layer and scratch it out with an exacto knife.
Re-route the wire using a small dab of superglue, trim the remaining wire and solder it to the exposed trace.
Continuity check to with pin 2 of the Atmega32u4 to make sure.
Check for short with the GND line.
Step 14: Soldering the GND Line
Drag the GND wire to the GND pin closest to the USB port.
Solder it and trim any extra wire.
Be sure to check for shorts.
Step 15: Prepping for Epoxy
I'm using some very cheap epoxy, it doesnt cure fast enough...
Mix equal parts evenly on a disposable piece of paper.
Cover the USB port's holes with some masking tape so it doesnt get inside. Be sure to check inside after you apply the glue again. If epoxy get's into your USB port, it is pretty much a gone case for sure.
Step 16: Finishing It Up With Epoxy
Cover it all up with epoxy. Make sure to keep the necessary pins and pads open. Such as the J1 jumper, which might come in handy later.
Step 17: The Moment of Truth: Blink!
Upload the blink code to check if the port is working.
Be sure to use connect the cable carefully as there's no strong solder joining securing the port. And the next time, put some epoxy on your Arduino Pro Micro straight out of the box.
Enjoy your newly revived Arduino.