> For the complete documentation index, see [llms.txt](https://blog.azagra.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.azagra.dev/arduino/upgrade-firmware-wifi-arduino-giga.md).

# Upgrade Firmware WiFi Arduino GIGA

La actualización del firmware WiFi en la Arduino GIGA R1 WiFi consiste en la reprogramación del módulo de radio integrado (Murata CYW4343W) que gestiona las comunicaciones IEEE 802.11 y Bluetooth LE,

<figure><img src="https://1432118199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8OmP3fsuoPnoJAJysYDx%2Fuploads%2Fa9Y7IyxUWBBAR4couzaM%2Fimage.png?alt=media&amp;token=850a9779-5261-4ba2-b63a-edb93a107e0a" alt=""><figcaption></figcaption></figure>

Requisitos:

* [Arduino GIGA R1](https://amzn.to/44vzSnb)
* [Arduino IDE](https://www.arduino.cc/en/software/)

\
El proceso implica cargar una imagen binaria del firmware del módulo WiFi (y sus certificados asociados) en la memoria flash del coprocesador de comunicaciones mediante un sketch (`WiFiFirmwareUpdater`) ejecutado en el entorno Arduino Mbed OS. Este sketch establece una sesión de actualización a través del bus interno entre el MCU principal y el módulo inalámbrico, verificando la versión instalada y permitiendo su sobrescritura si es necesario.

Antes de nada, instalamos el core de la placa Arduino GIGA R1 en Arduino IDE, y conectamos la placa por USB al ordenador.

<figure><img src="https://1432118199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8OmP3fsuoPnoJAJysYDx%2Fuploads%2FsURb0pporDQctCkwpQEG%2Fimage.png?alt=media&amp;token=22a361d9-6835-4c9c-8c16-c0cb5e45da33" alt=""><figcaption></figcaption></figure>

En Arduino IDE:\
***File > Examples > STM32H747\_System > WiFiFirmwareUpdater***

<figure><img src="https://1432118199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8OmP3fsuoPnoJAJysYDx%2Fuploads%2FLZXovEH48TmJdR30UNgA%2Fimage.png?alt=media&amp;token=3f6b5fff-a6bc-4ac5-ad37-9c108dcc5889" alt=""><figcaption></figcaption></figure>

Se cargara el nuevo sketch, solamente le damos a **Upload** cuando termine, nos preguntara por el monitor serial si deseamos instalar el firmware, le decimos que si "`Y`".

<figure><img src="https://1432118199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8OmP3fsuoPnoJAJysYDx%2Fuploads%2FXcK1YzuLKHHJYkITT5aM%2Fimage.png?alt=media&amp;token=e53c03e3-d2b0-4466-a237-7c614504ca43" alt=""><figcaption></figcaption></figure>

Comenzara la actualización del firmware y actualizara los certificados.

```bash
Searching for WiFi firmware file 4343WA1.BIN ...
A WiFi firmware is already installed. Do you want to install the firmware anyway? Y/[n] Y
Flashing /wlan/4343WA1.BIN file
Flashed 0%
Flashed 10%
Flashed 20%
Flashed 30%
Flashed 40%
Flashed 50%
Flashed 60%
Flashed 70%
Flashed 80%
Flashed 90%
Flashed 100%
Erasing memory mapped firmware area...
Flashing memory mapped firmware
Flashed 0%
Flashed 10%
Flashed 20%
Flashed 30%
Flashed 40%
Flashed 50%
Flashed 60%
Flashed 70%
Flashed 80%
Flashed 90%
Flashed 100%
Flashing certificates
Flashed 0%
Flashed 10%
Flashed 20%
Flashed 30%
Flashed 40%
Flashed 50%
Flashed 60%
Flashed 70%
Flashed 80%
Flashed 90%
Flashed 100%
```

Cuando termine, veremos este mensaje

```bash
Firmware and certificates updated!
It's now safe to reboot or disconnect your board.
```

Desconectamos la placa y tendremos actualizado el firmware de la wifi y los certificados ✅
