ESP8266 and slow WiFi

I'm in the process of adding support for these excellent little devices in diozero using StandardFirmataWiFi. I'd followed the instructions for adding support for this board in the Arduino IDE via the Board Manager. I was concerned with the extremely slow speed, in particular the get firmware (~10 seconds) and get board capabilities  (~27 seconds!) commands.

A quick search and it seems that this is a known problem in v2.3.0 of the ESP8266 Arduino board library - this version is over a year old. The good news is that this will be fixed in the next version (v2.4.0) - response times for the slow commands are now in the order of milliseconds. Given the severity of the issue it is a shame it is taking so long for v2.4.0 to be released.
The workaround is to use the latest version from git, simply follow the instructions for installing using git:

cd /cygdrive/d/Apps/arduino-1.8.5/hardware/
mkdir espressif
cd espressif
git clone https://github.com/esp8266/Arduino.git esp8266
cd tools
python get.py

(make sure you restart Arduino IDE to pick up the changes)

I followed those instructions using cygwin on Windows 7. Unfortunately I got a permissions problem when attempting to compile a sketch in the Arduino IDE. The solution was to run the following command in cygwin in the esp8266 directory to fix the permissions errors:

find . -name \*.exe -exec chmod +x {} \;

Same happens while installing the esp32 Arduino board library; instructions for reference:

cd /cygdrive/d/Apps/arduino-1.8.5/hardware/
mkdir espressif
cd espressif
git clone --recursive -j8 https://github.com/espressif/arduino-esp32.git esp32
cd esp32
find . -name \*.exe -exec chmod +x {} \;
cd tools
./get.exe

Comments

Popular posts from this blog

Java control of WS2811 / WS2812 LED Strips (aka NeoPixels)

Remote communication options

Adding a custom library to Arduino IDE