I am not sure if this question has been asked before but here's what I wanted to do.

I have a Arduino Nano, which I need to update with a new sketch. The plan is to be able to use another Arduino (maybe a Nano again), with an SD card reader and a sketch loaded as HEX file on it. Then connect both using a 4 pin RX/TX/5V/GND and upload the sketch from the transmitter to the receiver. Is it possible?

I am not sure how to do this; I know I can use one Arduino as an ISP to update other, but I am thinking of streaming the hex file to the other. Has anyone done this, any hints would be extremely helpful.


2 Answers 2


There's actually a library for that as well! See here and here.


See What happens when code is uploaded using the bootloader?

There is a graphic on that page (reproduced below) which shows the general idea of what happens when you program using Tx/Rx after reset.

Optiboot programming

You could delve into the specs for the STK500 protocol (see linked page) and make your second Arduino follow that, to program from the SD card file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.