ESP8266 presentation
The ESP8266 is THE WiFi module for hobbyists, which exists in a lot of variations. It's time to discover them.
I don't know if you heard about the ESP8266, but if not, let's talk about it :)
The ESP8266 is a low cost Wifi chip from Espressif, that you can use with your Arduino (for example) or even use it in standalone (thanks to some custom firmware).
A lot of modules
You can buy a lot of different modules, and each module has some specificities.
I will present you here the most used.
First gen: ESP-01
The most known version, and the cheaper one, it is also the more limited (flash storage, GPIO, accessible pins...). It can be quickly used thanks to its 8 pins connector.
Middle gen : ESP-07
This version is a lot used because of its external antenna.
I have order two of them + antennas but I haven't received them yet :(
Last gen: ESP-12-E
The most recent version, used in a lot of shield for Arduino. It is also the most complete version with 4M of storage and a lot of accessible pins.
The downside of this version is the space between each pin, which is below the breadboard spacing.
ESP-12/ESP-7 adapter
In order to connect your ESP-12 (or ESP-7) to your breadboard, you can buy some adapters to solder the ESP.
Documentation
You can find all revisions of the ESP and their specs on the ESP8266 wiki
Development kit
If you want to program an ESP8266, you have to add a usb/serial connector to access it with your PC, and play with the reset pin and flash pin.
In order to avoid doing that during the coding part, you can use a development kit.
NodeMCU Dev kit v1.0 (2nd gen)
This card is just a programming module around an ESP12-E (serial/usb, power supply, reset and flash buttons...).
It will allow you to code and deploy custom code very quickly.
Amica / LoLin / Wemos ?
As the NodeMCU devkit is open source hardware, some manufacturers build custom versions. I would advise you to buy the most common version (Amica).
You can find a comparison of the different solutions on frightanic website
Firmwares
The manufacturer of the ESP8266 gives and update an SDK. This SDK, although not opensource, allows the development of custom firmwares.
Default firmware
If you just want to send some AT commands on the serial port of you ESP (from your Arduino for example), the default firmware is for you.
You can download it and find the documentation on Electrodragon website
NodeMCU
This custom firmware seems to be a lot used. It will allow you to access low-level functionalities in LUA language (which allows you to use callbacks as in Javascript).
I will talk about it in further posts :)
NodeMCU website - NodeMCU Github
MicroPython
Still in early stage, this framework allows you to code your ESP8266 in python. I've not tried it yet.
MicroPython Github
Arduino for ESP8266
This framework will allows you to use Arduino code / IDE to program your ESP8266. I haven't tried it yet.
Arduino for ESP8266 Github
What's next ?
Now that I received my NodeMCU Devkit board, I'm ready to make my first circuit !
The next posts will focus on a simple circuit and code, and optimisations in order to create my first connected object :)