-
Notifications
You must be signed in to change notification settings - Fork 9
Hardware
Arduino Uno WiFi Developer Edition connects ATmega328 microcontroller to ESP8266 using additional on board UART chip SC16IS750. This additional UART is connected to Atmega as I2C device.
- Eagle files: arduino-uno-wifi-reference-design.zip
- Schematic: arduino-uno-wifi-schematic.pdf
TWI uses pins A4 and A5. This pins can't be used for analog readings on Uno WiFi even if the TWI is disabled. The connection to SC16IS750 disturbs the ADC.
SC16IS750 (here as module) is an I2C device on board of Uno WiFi with address set to 0xAA, which converts to I2C address 0x48. It's UART (serial) connection connects to RX/TX of the ESP8266.
SC16IS750 has GPIO pins connected to prominent pins of the ESP8266:
- GPIO0 to CH_EN pin
- GPIO1 to RSTB pin
- GPIO2 to GPIO0
GPIO3 of the SC16IS750 is connected to a relay which can turn off power to ESP8266.
To write an Atmega program received over WiFi into Atmega, the ESP must be connected to Atmega's serial pins. For this to work there is a direct serial to serial connection on Uno WiFi Developer Edition. The electronic switch which connects this serial to serial is controlled with GPIO4 of the ESP8266.
To reset the ATmega, to give control to the bootloader the ESP on Uno WiFi has GPIPO12 connected to ATmega reset pin.
ESP8266 on Uno WiFi has a 40 MHz oscillator. The IDE esp8266 core 2.4 has the right settings for Uno WiFi. The Flash Download Tool sets the value into flashed bin. If flashing the esptool, use [esp_init_data_default.bin with 40 MHz oscillator setting].(files/esp_init_data_UnoWiFi.bin).
Consequence of the 40 MHz crystal is bootloader log baud rate of 115200 baud.
The direct serial connection used for write ATmega program from ESP can be used to bypass the SC16IS750.
The same effect has a hardware patch - connecting the point TP_GPIOESP to ground. The hardware activation of the direct connection can help with serial flashing of esp firmware of seemingly 'bricked' Uno WiFi.
With the serial of Atmega connected to ESP8266 it can't be used for USB sketch uploading and Serial Monitor as it is the case with other equipment connecting to UART serial connection.