Introduction: ESP8266 Breakout Board

This project is done by Fong Jia Yi from Singapore Polytechnic, with Mr Teo Shin Jen as our project supervisor.

Introduction In this project, we have came out with this breakout board to program the ESP8266, a wi-fi enabled microcontroller. This board will enable the users to program the EPS8266 and interface the sensors with the ESP8266.

This is the release version of the ESP8266 Maker's IoT kit, the gerber files can be obtained from the link attached.


Step 1: Assembling the ESP8266 Breakout Board

Step 1.1 Bill of Materials

In order to assemble the ESP8266 breakout board, here are some of the parts needed

1 Single Row 40 wayFemale Header (GPIO0, GPIO2, GPIO0(5V), ESP-01, Vin(5V), CP2102)

1 Single Row 40 way Male Header (jmp-p, Vout 3V3, Vout(5V))

1 Single Row 40 way pin socket - Wire Wrapping (CP2102)

4 390 Ohm Resistors (R2, R3, R4, R5)

1 270 Ohm Resistor (R1)

1 47uF 16V Capacitor (C2)

1 100uF 25V Capacitor (C1)

1 LM317 Voltage Regulator)


1 2N2907 PNP Transistor (T1)

1 USB ' B ' Receptacle Right Angle ( pcb mount ) (Due to space constraint, this component will be omitted for this board)

1 PCB jumper to short GPIO0 to Ground in jmp-p

About 1 feet long of single core jumper wires (jmp 1 to jmp 5)

Step 2: Programming the ESP8266 With Arduino IDE

Step 2.1 Board Manager for ESP8266

Before programming the ESP8266, do ensure that you have downloaded "esp8266" by ESP8266 community from the Board Manager of the Arduino IDE

Step 2.2 Settings

Once done, go to the "Tools" tab of the Arduino IDE and ensure the following parameters have been correctly.

Board: Generic ESP8266 Module

Flash Mode: DIO

Flash Frequency: 40MHz

Upload using "Serial"

CPU Frequency: 80MHz

Flash Size: 512K (64K SPIFFS)

Upload Speed: 115200 bauds

Programmer: Arduino ISP

After all settings are done, you are ready for programming.

Step 2.3 Uploading your code to the ESP8266

In order to program the ESP8266, you will have to connect the programming board to the PC/laptop by using the CP2102. Simply upload the code from Arduino IDE and this process will take a short while. Be patient, the board is working :).

In some cases, the code will fail to upload due to "espcomm_open failed". To resolve this issue, short GPIO0 to ground at jmp-p by using a PCB jumper and plug out the board from the PC. Plug in the board again and this should resolve the issue.

Step 3: Sending Data to Thingspeak


I have also send my data to one of the cloud service, Thingspeak. Here are the steps to show how I send data to Thingspeak

Step 3.1 Create a Thingspeak Account and Channel

The first step will be to create a Thingspeak account. No worries, it is free of charge to create an account. Once you at the homepage of the Thingspeak website, click on the "Channel" tab followed by "My Channel" and "New Channel". Add details for this channel and click "Save Channel".

Step 3.2 Get an API Key

In order to get an API key, return to the channel homepage and click on "API Key". Use the "Write API Key" to write data to your channel

Step 3.3 Sample coding

Attached is a sample coding to send data from a PING ultrasonic sensor to Thingspeak. I have also included a LED blink function to test output of the GPIO pins in the ESP8266.

Coding is uploaded to GitHub: