ESP8266
IoThursday
The ESP8266 has been discussed quite a bit in the regular IoThursday meetings.
ESP8266
The ESP8266 is a microcontroller that has WiFi built in, making it a great starting device for all things IoT.
Useful Links
Everything ESP8266 - Forum, lots of stuff, not always reliable (check posting dates - a lot of stuff may be out-of-date) http://www.esp8266.com/
Deep Sleep - what GPIO to connect, internal firmware issues (Jun2015) http://bbs.espressif.com/viewtopic.php?t=562
Lots of useful information here: https://nurdspace.nl/ESP8266
Complete starter tutorial, including programming via Arduino, AT-mode operation, etc. http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf
If YouTube's your thing, try: https://www.youtube.com/watch?v=qU76yWHeQuw
Wiki pages - work in progress http://www.esp8266.nu/index.php/Main_Page
Flash, fancy, UK seller - not so much useful information though. http://esp8266.co.uk/
ESP8266: "It don't come easy!" - Using the ESP8266 as a serial-slave to a Zpuino http://www.xess.com/blog/esp8266-it-dont-come-easy/
NodeMCU Quickstart http://benlo.com/esp8266/esp8266QuickStart.html
Re-flashing firmware http://www.xess.com/blog/esp8266-reflash/
Limitations
As of 2016-04-01 it is not currently possible to route traffic between multiple clients connected to the ESP8266 when it is acting as an Access Point (AP).
To the clients it appears they are in a "client isolation mode" in that they can talk to the ESP8266 but no other devices on that particular WiFi network. Forum posts and questions asked on [1] suggest this may be a limitation of the firmwares currently on offer, and that it may be possible (if someone were willing to spend the time and effort) to develop a routable firmware, however it's not clear if the limited hardware of the modules would be a limiting factor.
Getting Started
A section for useful information on getting started with an ESP8266 module
Modules
A subsection to explain the different modules and what differs between them
NodeMCU v2
An open hardware board (costing about £3.50) that combines the ESP-12-E core (32Mbits(4MBytes) flash) with a CP2102 USB-UART so you can connect it directly to a PC USB with a standard USB micro cable. It comes flashed with a Lua core but that can easily be replaced with an Arduino core with all the Lua core features plus anything vanilla that works with Arduino.
- Official site: http://nodemcu.com/index_cn.html
- Open hardware schematics, PCB layouts, Gerbers, etc: https://github.com/nodemcu/nodemcu-devkit-v1.0
- NB: hype of version numbers when sold by various sellers on ebay! See http://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/ for the lowdown at time of writing.
- Wikipedia page: https://en.wikipedia.org/wiki/NodeMCU
- Michael's initial investigations page at NodeMCU_v2
Connecting to an ESP8266 module
What you'll need:
- An ESP8266 module with
- A breadboard and suitable cables
- A USB to TTL Serial adapter
- A computer to connect to the ESP8266 with
Firmware
A subsection to explain the different firmwares available for the ESP8266 and how they differ
Page with links to different firmwares http://www.electrodragon.com/w/Category:ESP8266_Firmware_and_SDK
Espressif
The default firmware
Article describing the process of re-flashing firmware http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/
Current RTOS SDK Latest Version: 1.4.0 Release date: Feb 28, 2016 http://bbs.espressif.com/viewtopic.php?f=46&t=1827
Firmware flash download tools (version 2.4 at 31 Mar 31 2016) http://bbs.espressif.com/viewtopic.php?f=57&t=433
NodeMCU
Uses the Lua scripting/programming language to control the ESP8266
See http://nodemcu.readthedocs.org/en/dev/en/ for the documentation.
Page describing the process for flashing NodeMCU firmware into a device, with links to Flasher programs for Win32 and Win64 http://randomnerdtutorials.com/flashing-nodemcu-firmware-on-the-esp8266-using-windows/
Programming
There are a couple of different programs that can be used to upload code and files to an ESP8266 with NodeMCU firmware:
Arduino
An Arduino based firmware.
Projects
A section for Hackspace members to fill up with links to their ESP8266 related projects
- Michael's Status_Boards project for Hackspace infrastructure status reporting
- Toby's WiFi-enabled Banjo