start-with-esp-12-arduino
Hardware
A few resistors have to be added to the
ESP-12E module for proper operation.
These resistors control the mode of operation at reset. With these resistors installed, the module will operate in normal mode after reset. The resistors can be overpowered to disable the module or reboot in a programming mode to upload new programming.
If you are using a next generation 12S or newer module, resistors may already be on the module.
If you are using a chinese white breakout board, the resistors are already included.
The ESP-12E required resistors are:
Pullup resistors connect to VCC (3.3V) and pulldown resistors connect to GND
10k pulldown resistor on the GPIO pin
10k pullup resistor on the EN pin (may be labeled CH_PD)
10k pullup resistor on the GPIO0 pin
10k pullup resistor on the GPIO2 pin
ESP modules need either an external 3.3V power supply or a 3.3V regulator on the breakout board
To program the module, you will need a USB-to-serial adapter
There are many USB to serial adapters - most adapters are identified by the name of the adapter chip
The most common USB to Serial chips are the CH340G or various chips from FTDI
Make sure your serial adapter supports 3.3V, or use a level shifter to allow 3.3V operation
When programming, the GPIO0 pin has to be held low during reset to enable programming mode
Some breakout boards include pushbuttons or jumpers
For programing mode: While holding the FLASH button down, momentarily press “RESET”, then release the FLASH button
For normal mode: press RESET without also pressing FLASH
Some USB to Serial adapters allow using two of the serial handshake signals to allow the programming software to reset the module and pulldown GPIO0 during reset so you don't need to use jumpers or push any buttons during programming.
You can also manually wire your own jumpers and/or switches for reset and GPIO0
Summary
Wire up Reset and GPIO0 Programming switch
RXD from adapter to TX on ESP12E
TXD from adapter to RX on ESP12E
GND from adapter to GND on ESP12E
VCC 3.3V from adapter to VCC 3.3V of ESP-12E (or the external 3.3V supply powering the ESP-12E module)
Software
Setup and test using the "blink" example
Connect Hardware as shown above
Check serial adapter
Plugin Adapter (without ESP connected) to USB and check in Windows (with device manager) that you can see the new COM port
If the device is not recognized, you will need to install a driver for your USB-to-serial adapter
You can use Putty to test the COM port with RXD and TXD connected together. This will give you an echo on the terminal: everything you type is immediately visible in the terminal.
-
-
Open Arduino “Tools” → “Board:xxxxxxx” → “Board Manager”
Change the “Type” in the upper left to “Contributed”
Type “esp8266” in the filter box
Select “NodeMCU 1.0 (ESP-12E Module)” and press the “Install” button
-
In “Tools” → PORT:“xxx” select the correct COM port for your serial adapter
Open “File” → “Examples” → “Examples for NodeMCU 1.0 (ESP-12E Module)” → “ESP8266” → “BlinkWithoutDelay”
Add the following Line on top of the example:
#define LED_BUILTIN 2
This is needed because the example is written for a ESP-01 module and not for ESP-12. The blue LED is on internal PIN 2 not on PIN 1.
There seems to be some confusion on Port numbering. On the board this pin is labeled TXD0.
Turn on the program switch on the board or on the adapter and push reset.
In Arduino push the upload button (Blue arrow →) and wait until 100% is reached. While uploading the blue LED on the board is flashing.
Turn the program switch off and push reset - you might need to cycle the power off and on
If everything worked correctly, the blue LED should be flashing fast - Congratulations! Unfortunately the blue Led is also flashing slower if something went wrong.
You also can watch the serial output on the Terminal within Arduino:
go to “Tools” → “Serial Monitor” change to 74880 Baud do a reset again.
Output message from the ESP-12E should appear just one time and not repeated like this:
If repeated output happens the board is rebooting, and something is wrong with the program or wiring.
Adapter can be removed now and programmed module can be used with an external 3.3V supply.
start-with-esp-12-arduino.txt · Last modified: 2018/08/26 17:47 by rudy