The ESP8266 WiFi Module is a self contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. Each ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers (and that's just out of the box)! The ESP8266 module is an extremely cost effective board with a huge, and ever growing, community.
This module has a powerful enough on-board processing and storage capability that allows it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. Its high degree of on-chip integration allows for minimal external circuitry, including the front-end module, is designed to occupy minimal PCB area. The ESP8266 supports APSD for VoIP applications and Bluetooth co-existance interfaces, it contains a self-calibrated RF allowing it to work under all operating conditions, and requires no external RF parts.
There is an almost limitless fountain of information available for the ESP8266, all of which has been provided by amazing community support. In the
Documents
section below you will find many resources to aid you in using the ESP8266, even instructions on how to transforming this module into an IoT (Internet of Things) solution!
Note:
The ESP8266 Module is not capable of 5-3V logic shifting and will require an external
Logic Level Converter
. Please do not power it directly from your 5V dev board.
Note:
This new version of the ESP8266 WiFi Module has increased the flash disk size from 512k to 1MB.
Wi-Fi Direct (P2P), soft-AP
Integrated TCP/IP protocol stack
Integrated TR switch, balun, LNA, power amplifier and matching network
Integrated PLLs, regulators, DCXO and power management units
+19.5dBm output power in 802.11b mode
Power down leakage current of <10uA
1MB Flash Memory
Integrated low power 32-bit CPU could be used as application processor
SDIO 1.1 / 2.0, SPI, UART
STBC, 1×1 MIMO, 2×1 MIMO
A-MPDU & A-MSDU aggregation & 0.4ms guard interval
Wake up and transmit packets in < 2ms
Standby power consumption of < 1.0mW (DTIM3)
NURDspace Wiki
(Schematic, Datasheet, & More!)
Instructables Tutorial
ESP8266 Community Forum
AT Command Set
AT Command Set
(Easier to read)
GitHub
(ESP8266)
GitHub
(GCC-Xtensa)
Graphical Datasheet
Core Skill:
Programming
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Programming
Skill Level: Rookie
- You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
Core Skill:
Electrical Prototyping
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Electrical Prototyping
Skill Level: Competent
- You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
-------------------- Tech Support Tips/Troubleshooting/Common Issues --------------------
ESP8266 WiFi Module (i.e. ESP-01)
The ESP8266 WiFi Module is also known as the "ESP-01". There are many different models and breakout boards based on this wireless microcontroller.
Pinout for the ESP8266 WiFi Module
Here is a clear pinout for ESP-01 v2 [ http://playground.boxtec.ch/lib/exe/detail.php/wireless/esp8266-pinout_etch_copper_top.png?id=wireless%3Aesp8266 ]
For the pinout for all versions of the ESP-01 V1 and V2, check here => [ https://github.com/esp8266/esp8266-wiki/wiki/Hardware_versions
Making the ESP826 WiFi Module Adapter for Breadboards
Try looking at this tutorial on the ESP8266 => https://youtu.be/9QZkCQSHnko . The tutorial talks about how to make an adapter for breadboards and advantages of using the WiFi module. It also talks about how to update the firmware with the ESP8266 IC.
Additional Example Tutorials
Serial-to-WiFi Tutorial using ESP8266: Testing the module via 3.3V FTDI => [ http://fab.cba.mit.edu/classes/863.14/tutorials/Programming/serialwifi.html ]
ESP8266 WiFi module and 5V Arduino connection => [ http://iot-playground.com/blog/2-uncategorised/17-esp8266-wifi-module-and-5v-arduino-connection ]
Using the ESP8266 to add Wi Fi to the mbed LPC1768 => [ https://developer.mbed.org/users/4180_1/notebook/using-the-esp8266-with-the-mbed-lpc1768/ ]
There is a NodeJS interpreter available for the ESP called Espruino.
https://www.espruino.com/
I ran into some slight configuration difficulties, but was able to figure it out. I posted about it on their forum with the exact command I used to flash the firmware to mine. It works great!
http://forum.espruino.com/conversations/347599/
I also strongly recommend using the Definitive Wiring Guide instructable.
Just got my little ESP8266 wifi modules. Powering these things up properly is an understatement. Very finicky. Even after finally uploading a sketch successfully, the only light I ever see on both boards mind you, is the blue LED during sketch upload. NO RED power light ever comes on.
I have powered these from use of the suggested USB to TTL cable that Sparkfun supplies. Using the VCC into a 3.3V voltage divider = NO GO Powered from a wall wart via regulated 5V with a 3.3V voltage divider = NO GO The only thing making these work, is using the 3.3V from a powered up Arduino Uno which is powered via a USB cable. = STILL NO RED LED
Also, when uploading a sketch, I have to remove power and the serial connection before uploading a new sketch every time. Not a big deal, but thought Id make note of it. Im using the following pinout and all works. Have been able to create an access point, scan for wifi access points, and send data to an MQTT server. So once you get this lil guy running, you will be pleased!
-- ESP8266 module -- 3v3 --> 3v3 from Arduino Uno EN (chip select) --> 3v3 from Arduino Uno GND --> GND from Arduino Uno GPIO0 --> GND from Arduino Uno Rx --> Tx of USB to TTL cable Tx --> Rx of USB to TTL cable
Has anyone else had the same issue of NO RED LED? If so, did you fix it? Do these just not have one, despite the doc saying they do?
Thanks and good luck!
Is it possible to directly program the ESP8266 instead of accessing its functionality from the AT command set? Ie. can I use it as a generic microcontroller as well as a wifi module? I believe this is possible if GPIO15 is tied to ground as described in this post: https://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/
Yes the ESP8266 will connect to a Cell Phone , I can connect to it through either my Android , iPhone , home wifi router or laptop in either a direct connection or AP mode
I flashed the ESP8266 with LUA using ESPlorer and set it up as a server .
Here is the code I use to send and receive data to/from wifi / usb.