Over the past couple of days I have taken a break from my home server upgrade and have been working with the Olimex MOD-WIFI-ESP8266-DEV board. It took me a bit but I have come up with the setup below which is working very well for me.
The MOD-WIFI-ESP8266-DEV is plugged into the left end of a 400 tie point solderless breadboard. In the middle of the breadboard is a modified Modern Devices USB BUB I. On the right side of the breadboard is a v3.3 K$931 low voltage regulator that is plugged into a 5v wall wart power supply.
The connections are as listed below.
|1 – 3.3v||3.3v|
|2 – GND||GND|
|3 – GPIO1 / U0TXD||RX1 on the USB BUB I|
|4 – GPIO3 / U0RXD||TX1 on the USB BUB I|
|13 – RSTB||Pull to GND to reset.|
RTS on the USB BUB I
To one leg of a momentary switch. The other leg of the momentary switch is connected to GND. This provides a reset button.
|19 – GPIO15||GND / 3.3vJumper (currently unused)|
|20 – GPIO2||GND / 3.3vJumper (currently unused)|
|21 – GPIO0 / MTD0||Pull to GND on boot to enter UART flash upload mode.|
DTR on the USB BUB I
This setup allows esptool.py to toggle DTR and RTS to reboot the ESP8266 and put it in UART flash upload mode.
Serial Terminal Emulator Setup Notes
If you have DTR and RTS from your “serial port” connected to the ESP8266 you need to be careful when you are using a terminal emulation program for output from the ESP8266. You need to make sure that the terminal emulator doesn’t set RTS low and DTR low for normal operation or the ESP8266 will always boot into UART flash mode.
- For linux I am using gtkTerm which has the ability to toggle RTS and DTR.
- For windows I am using Realterm which allows you to set RTS and DTR
One other note about terminal emulators, for the AT demo programs version 19 and 20 the ESP8266 is looking for a CR and then LF (aka CTRL-M and then a CTRL-J) as a the command line terminator. This means that with most terminal emulators which generally only send a CR (or only an LF) when you press the enter key you will not get an OK back when you type in “AT ENTER”. This can be overcome by typing “AT CTRL-M CTRL-J”.