Description
Basic Infos
Hardware
Hardware: Arduino UNO WiFi's esp8266
Core Version: 2.3.0
Description
Description of the board
The Arduino UNO WiFi is an Arduino UNO with an ESP module integrated on the board. (That is, ESP8266, SPI flash memory, everything).
The board is provided with a firmware that allow certain WiFi functionalities to be called from the ATMEGA, but this requires the I2C pins to be used, despite the serial pins being connected between the ESP8266 and the ATMEGA. It makes you miss some funcionalities, so I tried to make a custom firmware using this framework.
This board could be a quite decent integrated solution for having an ESP8266 as main processor of a Thing, and the ATMEGA as a microcontroller, (instead of having an ESP module hanging from an Arduino UNO, with the logical converter and everything) but it seems uncompatible with anything done with this framework.
Description of the issue
While loading a custom firmware into the ESP8266 integrated in this board is possible, that ESP8266 won't do anything when loaded with a firmware made with this framework. No wifi, no serial, no GPIO response. Not even debug messages, or stack messages. The ESP8266 won't even heat.
What does work
It will however, boot with the Arduino original firmware and the original Jeelabs firmware this is based on.
Original source-code-examples will boot, but serial communication is difficult due to the wiring of the UART0 to the USB port.
What does not work
Anything made with this framework.
Using eboot to boot the original esp-link firmware won't work. Also, trying to boot Arduino Core made firmware with espressif's bootloader won't work either (I don't know if doing that even makes sense).
Hardware particularities
The module seems nothing special compared to any other board, except for the fact that it has an UART to I2C attached to the UART0 pins, and into the Arduino I2C pins. Serial communication relays in a sketch that turns the ATMEGA328P into another I2C to Serial converter, so it goes throught the I2C to Serial, the ATMEGA, and the Serial-to-USB at a max rate of 9600 baud.
This process can be skipped by grounding a testpoint in the board, so the UART0 is connected directly to the Serial-to-USB module, and faster baudrates are possible. No serial communication is detected this way either.
Settings in IDE
Module: Generic ESP8266 Module
Flash Size: 4MB
CPU Frequency: 80MHz
Flash Mode: qio
Flash Frequency: 80MHz
Upload Using: SERIAL 9600 baud
Reset Method: nodemcu works.
This has also been tried with the PlatformIO IDE. With the same results. Using espressif's esptool, or igrr esptool-ck yields same results.
Sketch
#include <ESP8266WiFi.h>
void setup()
{
Serial.begin(9600);
Serial.println();
Serial.println("Initializing...");
Serial.println();
}
void loop(){
delay(1000);
Serial.println("Test");
}
Although I tried every example I found out there.
Debug Messages
We get no response from the chip, so there is no Debug messages.
Although, when the board is freshly uploaded with a new sketch, the Serial Monitor always spits 3 characters, usually "00,". Upon restarting, no signal is received anymore.
When following the instructions, selecting 9600 baud, this code appeared:
00, c112
~ld
Again, upon restart, no messages are detected anymore.