Skip to content

Programming ESP8266

Juraj Andrássy edited this page Jan 7, 2018 · 14 revisions

ESP8266 is supported in Arduino IDE with Arduino esp8266 core. It means that arduino sketch can be uploaded into ESP8266.

Install esp8266 packages

Arduino UNO WiFi Dev Ed is supported from version 2.4 of the esp8266 core for Arduino IDE. To install it using boards manager, follow the instructions.

Additionally, you can install the Arduino ESP8266 filesystem uploader IDE plugin

boards.txt patch

esp8266 core 2.4 boards.txt configuration file has a bug for Uno WiFi. The line

arduino-esp8266.upload.resetmethod=ck

is missing. Add it to other arduino-esp8266.upload lines. Without this line you get upload error error: unknown board: {upload.resetmethod}.

Default setting in boards.txt (in esp8266 package) for the 'Arduino' boards is:

arduino-esp8266.serial.disableDTR=true
arduino-esp8266.serial.disableRTS=true

Remove or comment this lines for convenient restarting of the board.

Location of the boards.txt on Windows is in users home folder, in a hidden folder AppData. Example `C:\Users\Duro\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0'.

For Mac and Linux location of Arduino15 folder read this forum post.

Board selection

In tools menu select board options.

  1. Choose Arduino from the ESP8266 section of the Boards menu.
  2. Next choose Model UNO WiFi.
  3. CPU frequency 80 MHz
  4. LwIP v1.4 Prebuilt
  5. Debug options: Disable and None
  6. Optimal flash size selection is "4M (1M SPIFFS)"

From now on always check the selected board in the right bottom corner of the IDE window. For ATmega sketch it should show "Arduino UNO WiFi on ...", for the ESP sketch "Arduino, UNO WiFi, 80 MHz, 4M (1MB SPIFFS), v1.4 Prebuilt, Disabled, None, 115200 on ...".

Upload

Before using the Upload button with your ESP sketch, first Upload the EspProxy sketch into ATmega.

The EspProxy sketch detects uploading to esp from IDE and puts the ESP into bootloader mode. After the uploading the EspProxy returns to normal mode and bridges the Serial port of esp to USB for use of Serial Monitor with Serial of the esp.

Firmata with Uno WiFi

Firmata is a system for accessing pins and interfaces of a microcontroller (MCU) from a computer (or other MCU). Library FirmataMaster is for esp8266 and enables control of an attached MCU with Firmata.

Example UnoWiFiFirmata.ino from Uno WiFi Serial1 library, shows how to modify a Firmata sketch to work with Serial1 and combine it with EspProxy features to upload sketches into esp from IDE without thinking about how is it connected and without caring about flashing mode.

Clone this wiki locally