Software reset

Hi, I have a Arduino USB board and I would like to know if there is any C++ function to reset Arduino and uploading a new program after the reset. I read this post ( but I didn't understand how can I make the software reset by the use of ICSP pins.


The reset pin is brought out on the ICSP header, pin 5. If you tie any another output to that pin, then when you enable that output and pull it low you will reset the processor. Part of the reset process will release the pin and allow it to come high again.

If you use Digital 12, (port B pin 4) it doesn't have a high value function (unless you are using SPI), is also on the header at pin 1 and with a little jumper wire you can connect them. Do not use Digital 13, you can connect that with just a jumper, but it gets strobed by the bootloader to flash your LED, you will perpetually reset.

I have understood perfectly. Thanks a lot, kims.