Everybody who owns an Arduino (Uno and Mega mostly, however other models also fit this require), should have notice those set of pins he never had used and think would never will (at least I thought that), until I had to store another Arduino’s bootloader or even, for any other reason, need to program another Arduino through a working Arduino ( Arduino as a programmer ) .
The main idea around this article is not explain what is an ISP ( In System Programming ) interface, it is possible to accomplish these tasks without the cable, using a lot of jumpers, but is a hard working process and with an ISP cable is much easier.
In order to make this cable it is necessary only a working IDE ATA ( parallel ) connector.
First let’s take a look in Arduino’s ICSP connector pinout:
As can be seen, there are 6 pins, that must be connected in the same 6 pins of another Arduino that has these same pinout (Uno and Mega 2560 for sure), with an exception to the reset pin in one of the ends, as will be explained.
Starting with the side containing the red wire (also known as pin one) count three holes in the IDE connector ( that will result in the 6 connections needed because there are three holes per line ) and using any cutting device as a helper ( I made use of a mini drill in the 4th hole to avoid damages in the 3rd hole), but might also be used a Stanley knife, a mini saw, etc. The result of this cut is shown in the next image:
Do this in both ends of the connector. In one of the ends, just lift the connector protection to show the connections of the cable into the connectors. After this, identify the RESET pin’s connection ( see pinout ), it is the last pin in the first row (the same of the pin number 1), I used a multimeter to test if the connector was the one I wanted ( RESET AKA pin number 5). Once this pin was identified, just cut this connection and with a little help of a Stanley knife, split the whole pin 5’s wire of the connector ( the other end remains unchanged ). Done this, just put the protection over the connector back ( I also wrapped all in an insulation tap to help keeping the connector in place ).
In the loose wire’s end, grab a thin metal wire ( just use an Arduino’s jump wire or any wire used to tight sliced bread or cables, as can be seen in the next image ).
Cut a small piece and solder in the end of the wire. After this, isolate with insulation tape or heatshrink tube.
Following is the image with the end that must be connected in the Arduino that will act as a programmer:
And that’s it! Remember, this end with a cut in the RESET must always be connected in the Arduino that is connected directly in the computer, AKA the one that will program the other Arduino. In both ends, connect always the red wire in the first pin of Arduino’s ICSP interface.