ESP8266 Thing Development Board Hookup Guide
The ESP8266 Thing Development Board is a relatively simple board. The pins are broken out to two parallel, breadboard-compatible rows. The USB connector sits next to an optional power supply input, and an ON/OFF switch – controlling power to the ESP8266 – sits next to that. And LEDs towards the inside of the board indicate power, charge, and status of the IC.
This section provides a quick overview of the Thing Dev Board’s main components.
Serial and I2C Header
The header on the left provides an interface for serial, I2C, and power:
|Pin Label||ESP8266 I/O Function(s)||Notes|
|2||GPIO2, SDA||Can either be used as ESP8266 GPIO2 or I2C serial data (SDA).|
|14||GPIO14, SCL, SCLK||Can either be used as ESP8266 GPIO14 or I2C serial clock (SCL).|
Also used as the SPI clock (SCLK).
|RST||The ESP8266's active-low reset input. The board includes a 10kΩ pull-up resistor on this pin.|
|TX||GPIO7, TX1||ESP8266 UART1 data output.|
|RX||GPIO8, RX1||ESP8266 UART1 data input.|
|5V||USB supply output. If USB is connected, this pin will supply about 4.8V.|
|NC||Not connected to anything.|
The top portion of this header breaks out the ESP8266’s I2C interface, a popular interface for a variety of sensors including motion sensor, light sensor, digital-to-analog converter, or OLED display, I2C is often the protocol of choice.
If you need the extra I/O, instead of I2C, the SDA and SCL pins can be used as GPIO 2 and 14 respectively. The SCL pin also serves as the clock (SCLK) for the ESP8266’s SPI interface.
The lower part of the header breaks out one of the ESP8266’s serial UARTs. This serial port is used to program the thing, so be careful using it for other tasks.
General I/O Header
The rest of the power, control, and I/O pins are broken out on the other side of the board. They are:
|Pin Label||ESP8266 I/O Function||Notes|
|VIN||USB connected: ~5V output|
Can alternatively be used as a voltage supply input to the 3.3V regulator.
|5||GPIO5||This pin is also tied to the on-board LED.|
|13||GPIO13, MOSI||Hardware SPI MOSI|
|12||GPIO12, MISO||Hardware SPI MISO|
|16||GPIO16, XPD||Can be connected to reset to wake the ESP8266 from deep sleep mode.|
|ADC||A0||A 10-bit ADC with a maximum voltage of 1V.|
External Power Supply
You can supply anywhere between 3.3V and 6V into these inputs to power the board.
A pair of jumpers on the back of the board can be used to help reduce the Thing’s power consumption.
|Jumper Label||Default Setting||Notes|
|SLEEP-EN||Open||Connects GPIO16 (XPD) to the ESP8266's RST pin.|
|PWR-LED||Closed||Completes the power LED indicator circuit.|
The SLEEP-EN jumper connects GPIO16 (which has the XPD functionality) to the ESP8266’s reset input. This connection is required if you want the ESP8266 to automatically wake itself from deep sleep.
The SLEEP_EN jumper set: enables using and waking up from deep sleep mode, but disables programming.
The PWR-LED jumper allows you to disable the power LED. The LED will normally pull about 7mA, which is a ton compared to the ESP8266’s 10’s of µA consumption in sleep mode.
To disable the power LED, slice the interconnecting trace with your handy hobby knife.
The Thing Dev Board’s default WiFi antenna is a PCB trace antenna based on this TI app note. It’s cost-effective and actually works really well!
If you need to connect a more sensitive antenna, or need to route outside an enclosure, a U.FL connector is also available on the board, but isn’t connected by default to the ESP8266’s antenna pin. To connect this antenna to the chip, you’ll need to swap the jumper by removing the solder blob and pushing it over to the other side.
Antenna-select jumper set to U.FL, and an external attached.