loading

In this tutorial we show you how to "jumpstart" an arduino that you can't connect to and program by the usual means. This might be because it's inside a case, because you have soldered wires to the pins or because everything is slathered in hot glue !

WARNING: You will need to be careful not to short-circuit or otherwise physically damage your equipment. Some of the stages of this instructable involve delicate misuse of electronics. You have been warned - we can't be held responsible if you break anything !

Step 1: We've All Been There

We've recently been involved in a project to build a bunch of data logging Arduinos for use outdoors (in all weather conditions). So we wired up some Arduino (the rather cool Ardulog from HobbyTronics) to some sensors, uploaded some code and popped them into some waterproof tubes, along with plenty of hot glue to stop the wires from shorting.

The only problem is that we now want to change the code that is running on it, but can't (because of all the solder and hot glue coving the programming pins).

Looks like an hour stripping the glue and attaching headers, only to have to put it all back again afterwards ?

Maybe not...

Step 2: ATMEGA Chip

As luck would have it, the ATMEGA chip that is at the heart of the project is still easily accessible (see photo).

If only there was a way we could hook up to it, without causing any damage !

Step 3: Probe

The first step is to build a suitable probe. We create the one shown using 4 needles and a row of male headers (plus a bit of hotglue to keep the whole thing together). The trick is to get the spacing right between the needles so that they match the spacing on the ATMEGA chip.

Step 4: Host Arduino

In order to program our target ATMEGA, we are going to need a host Arduino (to make use of it's USB connector, serial pins, regulated power supply etc). We took an UNO and (carefully) pulled out the CPU (to be sure it was our target ATMEGA we were programming and not the UNO).

Next we connected wires to GND, 3v3, Reset, RX and TX (as shown in the photo).

Step 5: Power

The next step is to hook up power to your target Arduino.

We used a couple of crocodile clips to connect the 3v3 and GND to the (empty) battery pack that we were using in our Ardunio project. This ensured that the power supplied was going through the target Arduino's voltage regulator. Obviously if your target is a 5v Arduino, then you'll need a 5v supply from the host UNO.

Step 6: Connecting the Probe

Next we connected the RX, TX and RESET wires from our host arduino to the probe as shown:

Host - Target
RX => RX
TX => TX
RESET => RESET

To ensure the correct ordering of wires connected to the probe, we referred to the pinout diagram for the ATMEGA chip we were trying to jumpstart.

Note: We are only using 3 out of 4 needles on the probe - the 4th is just to help align the probe to the chip in the next stage.

Step 7: Fiddly

The next stage is the most fiddly of all. You have to press the probe against the correct pins on the ATMEG, being careful not to slip and short the legs. This could potentially damage the chip (however they seem to be pretty robust and we haven't had any problems - despite a fair bit of slippage !)

Step 8: Upload

Once you have a good connection, you can then use the Arduino IDE software to upload code onto your target Arduino. You might find it useful to get someone else to press the "Upload" button !

Just remember that you are trying to program the target Arduino, not the host (when select the relevant board in the Arduino settings).

Everything should work as normal in terms of compiling and uploading code. Serial comms and serial monitor should even work as well.

Step 9: Enjoy

If you enjoyed this instructable, check out our other tutorials

If you love this kind of stuff, check out our degree

<p>It would be interesting to see a couple of approaches to accurately producing the 4-pin contact and methods for securing it during the programming phase.</p>
<p>It is possible to secure the probe with blu-tack, but it's not as reliable as a steady pair of hands. Mind you, no one said it would be easy !</p>
<p>Thanks for your feedback. Nothing like going to the 'source' to solve a problem!</p>
<p>Finding someone with a keen pair of eyes (or a good pair of specs) is probably the best advice we can give.</p>
<p>If you are only using 3 of the 4 pins, why does your intro and the picture at Step 7 show contact using all 4 pins? I would like to know how &quot;the 4th is just to help align the probe to the chip in the next stage.&quot;</p>
<p>We have found it easier to connect the &quot;first four pins&quot; rather than the &quot;first three pins after the first&quot;. If you'd rather only use three pins then go for it !</p>

About This Instructable

6,026views

58favorites

License:

Bio: Tutorials provided by BA/BSc (Hons) Digital Art and Technology at Plymouth University
More by Digital Art and Technology:Green space activity monitor Python Micro:bit Light Show Jumpstarting a Hot-glued Arduino 
Add instructable to: