ESP8266 Minimum System Module With Programmer - Part 1
by jrareas in Circuits > Arduino
3324 Views, 4 Favorites, 0 Comments
ESP8266 Minimum System Module With Programmer - Part 1
Esp8266 is still a good alternative for a Wifi based application you may have. It does have a very good amount of GPIOs. It does have access to Wifi which expand dramatically its capabilities. And it is very easy to use once is compatible with Arduino framework and we dont have any questions about the popularity of the framework.
To explore even more its capabilities and be able to integrate the module to your projects instead of using a NodeMCU, I implemented a couple of components to help with the project.
Although the NodeMCU is very good for you development in the software side, if you plan to use the ESP8266 module without the NodeMCU, you will need first to prototype your project using the bare module. That means get the module and design your schematic assuming you will need to plug the minimum components to make the module to work. And that usually means to plug it in a breadboard.
Well, for that, the module is not very friendly. It is not breadboard friendly and without the NodeMCU, you will need some tricks to program it and have the right components in place to enable the module for a normal operation and programming.
I will divide this in 2 parts. For the first part we will go into the process of creating a breakboard for the module and a shield that will contain the minimum required for normal operation.
The breakboard is just the ESP8266 soldered in a board with pin headers to attach it to a breadboard or the minimum system shield.
For the second part, we will go to the steps of creating a shield for a FTDI module that will connect to some pins in the minimum system and you will be able to load your code using your favorite platform
Supplies
For this first part we will need:
- ESP8266-12E or ESP8266-12F
- Pin headers male
- Single Sided FR4 Copper Clad PCB. Which is just an alternative if you want to do it at home
- 10k Resistors
- LEDs
The ESP8266 Bare Breakboard
The main purpose of this is to show you how to work with the bare ESP8266 module. As it is not solderless breadboard friendly, we will have to prepare a board that we will plug to the breadboard and that is the only feature of the board. The ability to have a ESP8266 module to be used in solderless breadboard.
You may be asking yourself why not using a frogo board like this. Well, you can and I advise you to do so when you already have your circuit well defined and working. But that board, already has the minimum system and snap you ESP8266 module to it wont make it work if you dont have your minimum system wherever you plan to use it. So, there are some development steps that will need to try and adjust with the bare module before you get a PCB working. That is what this whole tutorial is about.
The schematic for the breakbord is just a matter of getting the pins of the module and exposing them in a 2.54mm pitch pin header.
I created the schematic using Kicad but you can use whatever you feel more comfortable with.
This board is very easy to generate at home using etching process with Ferric Chloride. I will not go into the details of that but I have done many PCBs using this method and it is perfect when our circuit can be implemented using a single layer and it is a way to test your schematic as close as possible to what would be your final design.
The kicad project can be found here
ESP8266 Minimum System
Esp8266 module is a 3.3 Volts module and it is not 5V tolerant. Keep that in mind when you use a breakboard which doesnt feature any voltage regulation otherwise you may burn your module. Although it will work with 3.7 Voltage batteries, those batteries can range from 4.2 Volts to somewhere below 3 Volts and still able to keep the module running. But, the top maximum rate for a ESP8266 is somewhere around 3.96V. I have used those batteries to power my modules and that wont burn the module immediately but it may damage it eventually.
With that in mind, I am assuming you have a power supply capable of supplying a 3.3 V and that is what is going to be used to power the module.
That said, lets go into the requirements for the minimal system. The main source of information for this module is the ESP8266EX Datasheet authored by Espressif. This document is very technical but it is a must scan it to say the least if you want to learn more about ESP8266.
Aside from the power pins which needs to have the Voltage potential for operation, the following pins we need to make sure are in the right state as below:
- CHIP_EN - HIGH (10K pull-up resistor)
- GPIO15 - LOW (10K pull-down resistor)
- RST - HIGH (100nF cap or 10K pull-up resistor)
- GPIO0 - HIGH(100nF cap or 10K pull-up resistor)
The schematic for the minimum system board can be found here
The Final Result
Now, we have a shield board which will get a bare breakboard on the back and once power is applied will give the module its normal operation. So, whatever code you have it running there will work as it supposed to.
For my final version I have the pins for programming in the bottom of the shield. Those pins are required for uploading your code using a FTDI and some components.
In the Part 2 I show how to create a simple circuit to program the module using a FTDI module. Meet you there
Github links for the schematics used in this part. Kicad files