Arduino giga R1 wifi ota

Hello, I need to purchase an Arduino Giga R1 WiFi. Does the board currently support updates through the Arduino IoT Cloud? I've noticed that the Arduino R1 has the same processor as the Portenta H7, but the H7 officially supports OTA updates while the Arduino R1 does not.

Additionally, does OTA with IoT Cloud work even if the two devices (PC and Arduino) are on different WiFi networks?

(sorry for my not perfect english)

Hi.

Technically the Giga can support, but is a coin in the air.

The OTA documentation dont says nothing about the GIGA, so, officialy i think GIGA cant upload sketch usingOTA

@gshokk OTA is supported by the GIGA R1 and yes OTA works even if the two devices are on different WiFi networks. If you want to try OTA on the GIGA r1 you can use this example:

2 Likes

Thanks!

Hi,

I have some questions regarding OTA for Giga R1 that relate to this topic.

  1. I have a solution with both M7 and M4 running so an OTA needs to update both, or at least I need to be able to OTA the M7 or OTA the M4 independently.
  2. Where are the details for the Giga R1 boot loader? I see in the Portenta H7 OTA example it writes storage type and data offset to some registers. I assume these are part of the boot loader "API"? Is there some documentation for this?
  3. Can you use the external flash on the Giga for a firmware update?

@schnoberts

  1. I have a solution with both M7 and M4 running so an OTA needs to update both, or at least I need to be able to OTA the M7 or OTA the M4 independently.

You can take a look here:

  1. Where are the details for the Giga R1 boot loader? I see in the Portenta H7 OTA example it writes storage type and data offset to some registers. I assume these are part of the boot loader "API"? Is there some documentation for this?

Bootloader sourcecode is here:

OTA relevant stuff is here:

  1. Can you use the external flash on the Giga for a firmware update?
    This is how it works. OTA binary is downloaded inside external flash filesystem. Binary can be both lzss compressed + ota header or siply a plain binary. Then bootloader is configured through RTC backup registers and at reset applies the update.

@pennam . Thank you very much for this. I really appreciate the fact you took the time to provide all this info.

Ok, so the firmware downloaded on say the Giga R1 is downloaded to the 16MB external Flash and the loader copies that onto the 2GB internal flash. Do I understand correctly?

Yes this is correct. By default the file is downloaded in the QSPI MBR partition 2

See here how the flash can be partitioned:

Then once downloded configuration is stored in RTC backup registers:

Finally after reboot the bootloader copy the binary from QSPI flash to internal flash.

Thanks again. One final question, can I use any M7/M4 split (like 0.75/.25)?

Again, your responses have been very much appreciated.

Unfortunately no, only 1/1 flash split is supported by default because of this hardcoded value

but you can chage the value according your needs and rebuild the bootloader.

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