Arduino zero programming arduino zero?

Hello, I was curious if it’s possible that I can program update sketch and libraries from one arduino zero to another arduino zero?

I know it’s better to have a computer to do it but I need to do it from one arduino board to another.

Joseph

Are you considering copying a previously compiled binary file from one Arduino to another or something else ?

Yes. Coping everything over from one to another.

I don't think that is possible but others may know better than me

What is presumably possible is to compile the sketch on one board, which outputs a binary file to the PC, and to subsequently copy that binary file to a second board of exactly the same type without compiling again

If the sketch binary is smaller than half of the flash memory, the SAMD Arduinos can do a self update using the InternalStorage object from the WiFi101OTA library or my ArduinoOTA library which may be more friendly to use only the InternalStorage.

For a sketch binary larger than half of the flash, SD card or external flash memory can be used with SDStorage or FlashStorage from WiFi101OTA or ArduinoOTA. SDU or SFU library can do the bootloading at next reset.

It is on you how you transport the binary to put it into the Storage. Here are some examples of alternative transports and storing into Storage.

Hey jural, Thank you. I'm using 30% of the arduino programming sketch so far. Not half yet. I might be adding a few more thing to take it to about 40% but that is all.

the only thing is there is no network on there at all. I can't do a OTA over the network. I'm looking at the SD card.

there is "OTA" only in the name of the libraries in what I described.
you can transfer the bin over the Serial

i ran into a new problem. I don't have spi pins. I only have 2 digitial pins and i2c. The rest of the pins used on other things. a Sd card won't work. Not sure what I can use now. There is no ethernet I can't do a OTA over the network. Not sure what else I can do now.

I2C could work

What could I use on i2c? All sd card modules I found are SPI.

I meant the I2C for transfer of the binary from Zero to Zero.

btw: what is on SPI in you project? some shield? SPI is a bus. you can have multiple devices on SPI pins. on Zero SPI pins are only on the SPI header.

It's a custom PCB board. It uses the samD21g18 processor using the arduino zero bootloader. The board is using for an alarm system. No ethernet or wifi. There is a GSM module from the old alarm system that is i2c and I was able to interface with it through i2c. All pins are on the doors, windows as well as triggering the siren.

There are two digital pins left and still able to use i2c pins as well. That is all.

Is it possible to an eeprom to local OTA programming instead of an SD card? I don't have have SPI pins?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.