Hello everybody!
Im trying to get rid of the boot delay that the bootloader uses to wait for a possible reprogramming.
But my setup isnt burning any bootloaders, something is wrong but i fail to see what..
Ive soldered a ISP-arduino, with sockets on the top instead of pins on the bottom, thinking i would be able to drop a second arduino on top of the ISP-duino for reprogramming.
The ISP-duino pin 10 is physically connected to reset pin on the d-pin side of the arduino nano clone (ch340) (between 5V & GND).
In short; Pin 11, 12, 13 are connected to ISPduino pin 11, 12 13 respectively, as well as 5v and gnd.
resetPin is connected by wire to ispDuino pin 10.
the sketch used is the "example 11, ARDUINO ISP" found in arduino IDE.
The arduino´s are all arduino nano v3 with the ch340 serial-usb adapter. instead of the TI uart chip.
Ive soldered a ISP-arduino with sockets on the top instead of pins on the bottom, thinking i would be able to drop a second arduino on top of the ISP-duino for reprogramming.
Clever idea. How many sockets did you install? You should only have five: +5, gnd and pins 11,12 and 13. Only the bottom ISP board can be connected to USB.
How did you get a wire from the bottom ISP board to the top board reset pin? I envision the top/target board pins to be blocked by the bottom board.
I'm confused about what you've done with the reset pins - pin10 of the arduino acting as programmer must be connected to the reset pin of the target arduino (and must not be connected to the reset pin of the arduino being used as programmer). Autoreset should be disabled by putting a ~10uF cap (specific value not critical - anything from a couple of uF to thousands is fine) between reset and ground on the arduino being used as programmer.
I have a bunch of 40p female headers, i cut one of those to size and bent one pin towards the center of the arduino, thru a gap i cut out from the bottom of the header.
I then soldered a cable from ISP-duino D10 to the bent pin on the header.
Im trying to attatch a picture to show it, but something seems to be messing with it..
There are 3 female headers on the picture, 1x, 2x and 15x.
The 1x is ground, 2x are D11 & D12.
I ripped out most of the pins out of the 15x header, leaving only the connectors for the D13, reset, 5V and ground intact, with the bent reset-pin hack i mentioned earlier.
The 15x was full lenght to allow better support for the target arduino.
Regarding the cap on the ISP-duino´s reset-pin; according to the tutorial, this is only neccisary if youre using a arduino uno.
Your connections appear okay but as DrAzzy pointed out, you do need the 10uf cap to ground.
The Nano is reset in a similar manner to the Uno so it has the same issue. The processor reset pin is connected through a 100nf cap to the serial convertor DTR pin. That cap allows the pulls the reset pin low whenever a serial connection is made. You have to fool that circuit and prevent the autoreset from occurring when the serial connection is established, otherwise the processor resets and avrdude connects to the bootloader rather than the ICSP program which causes it fails straight away.
and the one named "Atmega board programmer" witch works just great.
Simply put; i just uploaded the board programmer sketch to my isp-duino, connected it to my computer via usb (for power and serial only), then i dropped the target arduino on top of it and commanded the bootloader upgrade via a few buttonpresses.
The complete firmware update takes about 5 seconds to complete per arduino, not including inserting/removing the arduino from the ispduino headers