/ ESP8266

ESP8266 presentation

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.
ESP-01 module - front

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 :(
ESP-07 module - front

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-E module - front
ESP-12-E module - back

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.
ESP-12 / 07 adapter

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.

NodeMCU Devkit card front
NodeMCU Devkit card front
Documentation - Github

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 :)