wifinina: nina-fw update docs

This commit is contained in:
Yurii Soldak
2021-09-01 23:16:08 +02:00
committed by Ron Evans
parent e70beede1c
commit 0691ed5205
+32 -8
View File
@@ -8,13 +8,31 @@ The way this driver works is by using the SPI interface of your microcontroller
For information on how to use this driver, please take a look at the examples located in the [examples/wifinina](../examples/wifinina) directory.
## nina-fw Firmware
## Firmware
**PLEASE NOTE: New Adafruit Boards with WiFi and Arduino Nano33 IoT boards most likely already have a recent version of the nina-fw firmware pre-installed. You should not need to install the firmware yourself.**
**PLEASE NOTE: New Adafruit Boards with WiFi and Arduino Nano33 IoT and Nano RP2040 Connect boards most likely already have a recent version of the nina-fw firmware pre-installed. You should not need to install the firmware yourself.**
In order to use this driver, you must have the nina-fw firmware installed on the ESP32 chip. If it is already installed, you can just use it. You do not need to flash the firmware again. The following instructions are only for those who want or need to update the firmware on your board.
In order to use this driver, you must have the [nina-fw firmware](https://github.com/arduino/nina-fw/) installed on the ESP32 chip. If it is already installed, you can just use it. You do not need to flash the firmware again unless it has known bugs or lacks functionality you plan to use.
### Installing esptool to flash nina-fw firmware
The following instructions are only for those who want or need to update the firmware on your board.
### Update Arduino Boards with Arduino IDE
Probably, the easiest way to update nina-fw on Arduino boards is to use their IDE.
Please see [tutorial page](https://www.arduino.cc/en/Tutorial/WiFiNINA-FirmwareUpdater) for detailed instructions.
Sometimes you may want to flash a version of nina-fw Arduino IDE does not know about yet.
There is no way to "refresh" firmware versions list, but you can "fool" Arduino IDE by substituting, say, 1.4.5 binary with 1.4.8 binary.
For that you need to locate the binary Arduino IDE going to flash and replace it with a new file.
Location differs from OS to OS, on macOS it's in "/Applications/Arduino.app/Contents/Java/tools/WiFi101/tool/firmwares/NINA/".
Replace respective binary ".bin" file with new file and follow tutorial steps above flashing "1.4.5" version while in fact it is going to flash "1.4.8".
Latest firmware binary file for your board can be downloaded from their [releases page](https://github.com/arduino/nina-fw/releases).
Verify correct version flashed with "Examples/WiFiNINA/Tools/CheckFirmwareVersion" sketch in Arduino IDE.
### Update Arduino Boards without Arduino IDE
#### Install esptool to flash nina-fw firmware
In order to flash the firmware, you need to use Python to install the `esptool` package.
@@ -22,9 +40,15 @@ In order to flash the firmware, you need to use Python to install the `esptool`
pip install esptool
```
On macOS you can also use brew
```shell
brew install esptool
```
Once you have installed `esptool` you can follow the correct procedure for flashing your board.
### Updating nina-fw on the Arduino Nano33 IoT
#### Update nina-fw on the Arduino Nano33 IoT
In the `updater` directory we have a precompiled binary of the "passthrough" code you will need to flash first, in order to update the ESP32 co-processor on your board.
@@ -41,15 +65,15 @@ stty -F /dev/ttyACM0 ispeed 1200 ospeed 1200
bossac -d -i -e -w -v -R --port=/dev/ttyACM0 --offset=0x2000 ./SerialNINAPassthrough.ino.nano_33_iot.bin
# download the nina-fw binary
wget -P ../build/ https://github.com/arduino/nina-fw/releases/download/1.4.5/NINA_W102-v1.4.5.bin
wget -P ../build/ https://github.com/arduino/nina-fw/releases/download/1.4.8/NINA_W102-v1.4.8.bin
# flash the nina-fw binary to the ESP32 using esptool
esptool --port /dev/ttyACM0 --before default_reset --baud 115200 write_flash 0 ../build/NINA_W102-v1.4.5.bin
esptool --port /dev/ttyACM0 --before default_reset --baud 115200 write_flash 0 ../build/NINA_W102-v1.4.8.bin
```
You only need to do this one time, and then the correct nina-fw firmware will be on the NINA ESP32 chip, and you can just flash the Arduino Nano33 IoT board using TinyGo.
## Updating Adafruit ESP32 WiFi Boards
### Update Adafruit ESP32 WiFi Boards
Adafruit provides very good instructions for updating their boards that provide a ESP32 WiFi-BLE co-processor. For more information, please see: