ESP8266
From Makers Local 256
This is a collection of resources for software/hardware/firmware development on/with an ESP8266.
Basics
Choice pieces of information
- The module nominally runs on 3.0-3.6V. In practice, it tends to boot just fine as low as 2.5V, and 4.7V is the absolute maximum. Source
- This means you can probably get away with running an ESP8266 directly off of a single Li-ion/Li-poly cell. More information on Li-ion battery voltages
- The often-repeated information stands: This is not a 5V device. If you run it off of 5V, you will smoke it within a few seconds.
- Check out this voltage regulator for battery and/or 5V powered applications.
- According to the datasheet, the module "typically" can draw up to 170mA (whatever that means). In practice, your supply needs to be able to provide at least 300mA.
- This is really just information that "is known". You can see references to it here. I (User:hfuller) have personally measured 240mA, and I don't even have a fast meter, so I'm likely missing any spikes in draw due to Wi-Fi transmission or whatever.
- You have to have certain pins in certain states in order to boot your code, run the boot loader, etc. See Figure 1.
Power saving
- Use deep sleep to save power when you don't need to be running for a long time.
- Docs for Arduino IDE here.
- Something unclear: deepSleep with time of 0 sleeps forever.
- "GPIO16 needs to be tied to RST to wake from deepSleep."
- Datasheet claims 60 microamps in this state. Realistic results with testing here.
- You can wake up several different ways; there are settings to tweak RF calibration and other stuff. Measurements here.
- Docs for Arduino IDE here.
Random resources
- http://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
- https://github.com/cnlohr/esp8266ws2812i2s
- https://github.com/esp8266/Arduino/blob/master/doc/libraries.md#esp-specific-apis Might be useful for making a demo sketch. also talks about general ESP functions.
- https://github.com/Makuna/NeoPixelBus - Arduino NeoPixel library compatible with ESP8266. Use the "DmaDriven" or "UartDriven" branches for ESP8266. Includes HSL color support and more.
- https://tzapu.com/sonoff-firmware-boilerplate-tutorial/ - Sonoff
- https://github.com/esp8266/Arduino/blob/master/doc/libraries.md#esp-specific-apis - Library list
- https://github.com/me-no-dev/ESPAsyncTCP - async tcp operations. There is a Web server too.