ESP8266 Modules - the ESP-01 on the left, the ESP-12 module on the right |
Well, there are frustrations. Wiring the modules is not so easy, as pinouts are not breadboard friendly. The microcontroller is new and not well documented in English, with some information proprietary, yes not Open Source (but processors generally are not fully open).
So what is driving the interest: size and cost. The ESP-01 module is 14.54 mm x 24.9 mm(about an inch by a bit over half an inch - tiny compared to modules that proceeded it (which did not include a microcontroller). And the cost of the ESP-01? $6.95 from Adafruit (flashed with a reliable firmware and tested) down to $2.88 or so on eBay from China. Compare to a $25 Arduino Uno and a $35 CC3000 wifi module. A tenth the cost or less and perhaps a tenth the size.
The basic ESP-01 version has limited input/output pins. Other models,up to the ESP-13 have additional pins of the microcontroller available. A list of various versions is at www.esp8266.com.
So if you see the connections on the modules above, The ESP-01 has two rows of 4 pins, making it hard to breadboard. The ESP-12 module has metric pin spacing which does not connect to 0.1 inch breadboard spacing. What to do? Various people have various solutions. On the ESP-12, companies have mounted them to larger 0.1" boards. From plain carriers on eBay to Adafruit's new Huzzah board.
Power
The following data are based on a 3.3V power supply, ambient temperature 25C and use the internal regulator measured. Data is from https://nurdspace.nl/ESP8266
Mode | Min | Typical | Max | Units |
---|---|---|---|---|
802.11b, CCK 1Mbps, POUT=+19.5dBm | 215 | mA | ||
802.11b, CCK 11Mbps, POUT=+18.5dBm | 197 | mA | ||
802.11g, OFDM 54Mbps, POUT=+16dBm | 145 | mA | ||
802.11n, MCS7, POUT =+14dBm | 135 | mA | ||
802.11b, packet size of 1024 bytes, -80dBm | 60 | mA | ||
802.11b, packet size of 1024 bytes, -70dBm | 60 | mA | ||
802.11b, packet size of 1024 bytes, -65dBm | 62 | mA | ||
Standby | 0.9 | uA | ||
Deep sleep | 10 | mA | ||
Saving mode DTIM 1 | 1.2 | mA | ||
Saving mode DTIM 3 | 0.86 | mA | ||
Shutdown | 0.5 | uA |
Firmware
There are currently two general variations on firmware. The first implements an "AT" command set to instruct the module how to connect via wifi. A second firmware has been developed by NodeMCU implementing the Lua scripting language. There are some other firmware images including one implementing the MQTT protocol.User Software
Some smart folks have added the Espressif code compiler to the Arduino IDE. This allows for the average person to write code that runs on the ESP8266 board itself (no Arduino or other controller required). This makes it exciting that in a one inch size board, you have a complete Internet of Things node.Where to go from here
While Lua allows for web apps with a small amount of code, I believe there is a great deal one can do to interface hardware with the ESP modules and compile code directly. As a person who has done Arduino code for 2+ years (and a C die hard), that's where I'll be looking to provide projects.For my first published project, See an ESP-01 connected to a temperature and humidity sensor, available via any web browser - at https://learn.adafruit.com/esp8266-temperature-slash-humidity-webserver/overview.
No comments:
Post a Comment