Difference between revisions of "ESP8266"
From Makers Local 256
(Add information about bootup pin states) |
m (Move figure 1 to top of its section) |
||
Line 5: | Line 5: | ||
== Choice pieces of information == | == Choice pieces of information == | ||
+ | [[File:Esp8266-boot-pins.jpg|framed|right|Figure 1]] | ||
* 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. [https://forum.makehackvoid.com/t/esp8266-operating-voltage-range-and-sleep-current/286 Source] | * 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. [https://forum.makehackvoid.com/t/esp8266-operating-voltage-range-and-sleep-current/286 Source] | ||
** This means you can probably get away with running an ESP8266 directly off of a single Li-ion/Li-poly cell. [http://batteryuniversity.com/learn/article/confusion_with_voltages More information on Li-ion battery voltages] | ** This means you can probably get away with running an ESP8266 directly off of a single Li-ion/Li-poly cell. [http://batteryuniversity.com/learn/article/confusion_with_voltages More information on Li-ion battery voltages] | ||
Line 12: | Line 13: | ||
** This is really just information that "is known". You can see references to it [http://www.nfriedly.com/techblog/2015/07/build-a-diy-esp8266ex-esp-01-dev-test-programming-board/ 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. | ** This is really just information that "is known". You can see references to it [http://www.nfriedly.com/techblog/2015/07/build-a-diy-esp8266ex-esp-01-dev-test-programming-board/ 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. | * 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 == | == Power saving == |
Revision as of 18:18, 9 April 2017
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.