Skip to content

Firmware

Juraj Andrássy edited this page Nov 23, 2017 · 5 revisions

The program of a device provided by the manufacturer is called a firmware. In case of UNO WiFi the firmware is the program in the ESP8266. The purpose is to serve as a network interface for the program (sketch) in the Atmega microcontroller and provide Web Panel for setup of the WiFi connection.

Warning: While experimenting with firmware there is always a small risk of 'bricking' your device.

Preparing for flashing

  1. In IDE open the EspProxy.ino from UnoWiFiDevEdSerial1 examples 'tools' subfolder.
  2. Uncomment the #define FLASHING line (remove the // at the beginning of the line)
  3. Upload the EspProxy sketch into UnoWiFi. (No need to save it.)

esptool

The firmware can be updated or changed. All firmware binaries available for UNO WiFi Dev Ed can be flashed with esptool

esptool write_flash parameters for the UNO WiFi Dev Ed are -ff 80m -fm qio -fs 4MB

UNO WiFi firmware overview

AT firmware

Manufacturer of the ESP8266 Espressif offers a firmware which receives AT commands over serial line.

Serial1 implementation enables use of the AT firmware with UNO WiFi.

WiFi Link

The WiFi Link firmware is an ESP8266 Arduino sketch developed by Arduino.org in Arduino IDE using Arduino esp8266 core.

The corresponding library is WiFi Link and it has a standard Arduino networking API (classes Client and Server).

UNO WiFi Developer Edition factory firmware

The Arduino.org team did use a JeeLabs ESP-link fork (source code copy) with minor changes for the firmware of the UNO WiFi Developer Edition. They changed the design to Arduino and made sketch OTA upload work activating pin 4 before writing the sketch’s binary to Atmega.

With IDE 1.8.x the library for the Atmega side of this firmware is “Arduino UNO WiFi Dev Ed Library”. The network communication possibilities are limited to port 80 and MQTT. The library can be installed with Library Manager in IDE.

This firmware can be installed or reinstalled with firmware updater with GUI.

ESP-link

Then version of ESP-link was used for the UNO WiFi preinstalled firmware. JeeLabs develops the ESP-link further and it is compatible with UNO WiFi Developer Edition, except of sketch OTA upload.

The library for the Atmega side is called EL-link and for the UNO WiFi Developer Edition it must use the Serial1.

Firmware as a sketch

ESP8266 is supported in Arduino IDE with Arduino esp8266 core. It means that arduino sketch can be uploaded into ESP8266. The WiFi Link firmware is a sketch which can be build and uploaded with the Arduino IDE Upload button.