WIFI module ESP8266 for IoT

I got interested interested in ESP8266 WiFi module after reading New Chip Alert: The ESP8266 WiFi Module (It’s $5) article. Why is it cool? It’s a WiFi module with an SOC, making it somewhat similar to TI’s CC300. ESP8266 is an UART to WiFi module that you can pick for less than $5 USD.

ESP8266 is a really cheap and easy way to connect any small microcontroller platform (for example Arduino) wirelessly to Internet. The microcontroller on the module takes care of all the WiFi, TCP/IP stack, and the overhead found in an 802.11 network. It’s addressable over SPI and UART, making this an exceptionally easy choice for anyone wanting to build an Internet of Things thing. You can use AT commands to connecyt to WiFi networks and open TCP connections without need to have TCP/IP stack running in your own microcontroller: You can simply connect any microcontroller to this module and start pushing data up to the Internet. This might be why it seems that ESP8266 has pretty soon become every hacker’s favorite WiFi chip.

The ESP826 module I bought from Electrodragon is simple having only the ESP8266 IC and one other IC in it. The WiFi antenna is integrated to circuit board. The whole module is just size of post stamp.

ESP8266

The other side of the he module des not have any components, just 8 pins I have attached wires to in this picture.

ESP8266_2

The ESP8266 is a chip that turned a lot of heads recently, stuffing a WiFi radio, TCP/IP stack, and all the required bits to get a microcontroller on the Internet into a tiny, $5 module. It’s an interesting chip, not only because it’s a UART to WiFi module, allowing nearly anything to get on the Internet for $5, but because there’s a user-programmable microcontroller in this board.

There’s a catch, right, there’s always a catch on the cheap products. One thing is that ESP8266  pretty much doesn’t exist outside China. Ordering from China is not  a problem nowdays, but when all the documentation is in Chinese, that can be a problem. But fortunately there has been projects to get ESP8266 translated data sheet.

I had enough information, so I need to get one module to test. I ended up ordering ESP8266 module from Electrodragon (check module data). ESP8266 from Banggood.com would have been cheaper bit taken longer time to get because ESP8266 module was listed to out of stock at the time.

The module and IO pins run at 3.3V.  For testing I used USB To RS232/TTL PL2303HX Cable Adapter  and 5V to 3.3V regulator module to do the connection. I used separate 3,.3V regulator module because I wanted to guarantee that the module can get enough current (over 200 mA on peaks) (some other USB-serial adapter ICs have 3.3V regulators built in them but can’t give enough current out). Wi07c ESP8266 module data and different project examples got me started pretty well.

 

ESP8266_test

Test commands at 115200-N-8-1 serial port settings:

AT+RST
AT+CWMODE=1
AT+CWJAP=”SSID”,”PASS”

AT+CWJAP=”AndroidAP”,”XXXX”
AT+CIPSTART=”TCP”,”www.epanorama.net”,80

AT+CIPSEND=0,n: Where n is the length of the request string.

AT+CIPCLOSE

The results with those were promising. Wiring ESP8266 to your favorite microcontroller platform has pretty much everything you would need to do with an Internet of Things thing. That’s good enough, but things are even better.

It has turned out that it is possible to do run your own coode on the module itself: An SDK for the ESP8266 WiFi Chip turns the ESP8266 into something much better than a UART to WiFi module; now you can create a Internet of Things thing with just $5 in hardware. You can write the software using C programming language and GCC compiler to processor in the module (80MHz Tensilica). Included in the SDK are sources for an SSL, JSON, and lwIP library, making this a solution for pretty much everything you would need to do with an Internet of Things thing. Looks interesting, I just have to find time to test that out…

 

Review articles on ESP8266

First impression on the ESP8266 serial-to-WiFi module

The Current State of ESP8266 Development

Review on the new and cheap esp8266 WiFi module – video

The Current State of ESP8266 Development

Sites on ESP8266 information:

Wi07c ESP8266 module data

Nurdspace ESP8266

Hackaday ESP8266

FreeIO ESP82666

translation of the datasheet and AT command set

ESP8266 WiFi module

Project pages:

Using the ESP8266 module
A Development Board for the ESP8266

ESP8266 and PL2303HX-gpio adventures

Update Firmware ESP8266Cloud Update - also video

A Proof of Concept Project for the ESP8266

The ESP8266 Becomes a Terrible Browser

ESP8266 Retro Browser – Accessing a web site with an ESP8266 serial WiFi module and an Arduino Mega

Keep an Eye on Your Fermenting Beer with BrewMonitor

ESP8266 weather display

An ESP8266 Based Smartmeter
Checking Email With The ESP8266 – reads the subject and sender lines from the latest email and displays it on an LCD
ESP8266 Wifi Temperature Logger – using the ESP8266 and Arduino to update a remote Thingspeak server

Adding wifi to a desk lamp with the Wi07C (ESP8266)

Places to order:

ESP8266 module from Electrodragon

ESP8266 from Banggood.com

SDK:

An SDK for the ESP8266 WiFi Chip
The ESP8266 SDK is finally herealong with a VirtualBox image with Ubuntu that includes GCC for the LX106 core

Source code examples:

331 Comments

  1. Tomi Engdahl says:

    Test Your Signal with the WiFi Cup
    http://hackaday.com/2014/11/11/test-your-signal-with-the-wifi-cup/

    [CNLohr] wanted to test the WiFi range in his house. One look at his roommate’s cup and an unorthodox idea was born. The WiFi Cup used an ESP8266 to connect to his home network. For output, [CNLohr] also added a WS2812 LED strip to the cup. The ESP8266 was programmed to send UDP packets to [CNLohr's] laptop. When the laptop responded back, the ESP8266 turned on the LEDs, lighting up the cup. The cup’s response to signal strength was very quick – about a second.

    https://github.com/cnlohr/ws2812esp8266

    Reply
  2. Tomi Engdahl says:

    Programming an Arduino over WiFi with the ESP8266
    http://hackaday.com/2014/11/13/programming-an-arduino-over-wifi-with-the-esp8266/

    A lot of people have used ESP8266 to add inexpensive WiFi connectivity to their projects, but [Oscar] decided to take it one step further and program an Arduino over WiFi with the ESP8266. [Oscar] wrote a server script in Python that communicates with firmware running on the Arduino. The Arduino connects to the server on startup and listens for a “reboot” command.

    When the command is received, the processor resets and enters the bootloader. The python script begins streaming a hex file over WiFi to the ESP8226, which relays it to the Arduino’s bootloader. Once the hex file is streamed, the microcontroller seamlessly starts executing the firmware. This method can be used with any AVR running a stk500-compatible bootloader.

    https://translate.google.com/translate?hl=en&sl=es&tl=en&u=http%3A%2F%2Fwww.sistemasorp.es%2F2014%2F11%2F11%2Fprogramando-un-arduino-remotamente-con-el-modulo-esp8266%2F

    Reply
  3. Tomi Engdahl says:

    Running a Web Server on the ESP8266
    http://hackaday.com/2014/11/15/running-a-web-server-on-the-esp8266/

    [Martin] started out with the ESP8266 web server firmware developed by [sprite_tm]. This firmware provides a basic web server that supports multiple connections and simple CGI scripts right on the module. The web server firmware opens up a ton of possibilities with CGI scripting. When booting up in AP mode, you can even connect the ESP8266 to another access point right from the your browser.

    Introducing esp-httpd: webserver on an ESP8266.
    http://www.esp8266.com/viewtopic.php?f=6&t=376

    Reply
  4. Tomi Engdahl says:

    Linux-Less Wi-Fi
    WLAN for Embedded Design
    http://issuu.com/eeweb/docs/11-2014_wireless_pages2/27?e=7607911/10202818

    “The software required to to support Wi-Fi has been dramatically reduced by pushing the networking stack, Wi-Fi driver and connection management further into the RF module itself.”

    Reply
  5. Tomi Engdahl says:

    This looks really interesting:

    Using the ESP8266 as a Web-enabled sensor
    http://hackaday.com/2014/11/23/using-the-esp8266-as-a-web-enabled-sensor/

    A few months ago, the ESP8266 came onto the scene as a cheap way to add WiFi to just about any project that had a spare UART. Since then, a few people have figured out how to get this neat chip running custom firmware, opening the doors to an Internet of Things based around an ESP8266.

    If you’re going to replicate this project, you won’t be using the stock firmware on the ESP. Instead of the stock firmware, [Marc] and [Xavi] are using the Lua-based firmware that allows for access to a few GPIOs on the device and scripting support to make application development easy. To upload this firmware to the ESP, [Marc] and [Xavi] needed a standard FTDI USB to serial converter, a few AT commands through a terminal program, and a few bits of wire.

    nodemcu/nodemcu-firmware
    A lua based firmware for wifi-soc esp8266
    https://github.com/nodemcu/nodemcu-firmware

    Summary

    Easy to access wireless router
    Based on Lua 5.1.4
    Event-Drive programming preferred.
    Build-in file, timer, pwm, i2c, net, gpio, wifi, and system api.
    GPIO pin re-mapped, use the index to access gpio, i2c, pwm.

    Reply
  6. Tomi Engdahl says:

    The Software is just C and its well structured. The problem is the documentation.
    However, there is now this LUA thing which is simplifying the programming of the chip, if you don’t want to go for C then it’s worth having a look.

    Source: http://hackaday.com/2014/11/23/using-the-esp8266-as-a-web-enabled-sensor/

    Reply
  7. Tomi Engdahl says:

    Espressif ESP8266 WiFi-serial interface : weekend die-shot
    http://zeptobars.ru/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT

    Die size 2050×2169 µm, half of which is occupied by transceiver and PA, 25% – on-chip memory (rough size estimations are ~300KiB), and the rest is Xtensa LX106 CPU core and other digital logic.

    Reply
  8. brine draw cycle says:

    Heyy There. I found your weblog the usage of msn. This is an extremely well written article.
    I’ll be sure to bookmark it and return tto read more of your useful information. Thanks
    for the post. I will definitely return.

    Reply
  9. Tomi Engdahl says:

    NodeMcu
    A lua based firmware for wifi-soc esp8266
    https://github.com/nodemcu/nodemcu-firmware

    Easy to access wireless router
    Based on Lua 5.1.4
    Event-Drive programming preferred.
    Build-in file, timer, pwm, i2c, net, gpio, wifi, adc, uart and system api.
    GPIO pin re-mapped, use the index to access gpio, i2c, pwm.

    https://github.com/nodemcu/nodemcu-firmware/wiki

    Reply
  10. Tomi Engdahl says:

    Want to see what is inside ESP8266 IC?

    October 20, 2014
    Espressif ESP8266 WiFi-serial interface : weekend die-shot
    http://zeptobars.ru/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT

    Reply
  11. Tomi Engdahl says:

    ESP8266 Wifi Range/Distance Tests (Wi07C)
    https://www.youtube.com/watch?v=7BYdZ_24yg0

    The ESP8266 is pretty awesome. The firmware needs a LOT of work, but it is pretty cool! Check it out!

    Reply
  12. Tomi Engdahl says:

    5$ Arduino WiFi Module!? ESP8266 mini Tutorial/Review
    https://www.youtube.com/watch?v=9QZkCQSHnko

    Reply
  13. Tomi Engdahl says:

    Micro Python Now Runs on the ESP8266 – Contributors Wanted to get Wifi Working
    http://hackaday.com/2014/11/29/micro-python-now-runs-on-the-esp8266-contributors-wanted-to-get-wifi-working/

    Unfortunately the software doesn’t have WiFi support yet, as it’s only a Python REPL prompt over UART at the moment.

    Micro Python port to ESP8266
    https://github.com/micropython/micropython/tree/master/esp8266

    This is a port of Micro Python to the Espressif ESP8266 wifi module.

    Currently implemented features include:

    REPL (Python prompt) over UART0.
    24k heap RAM available for Python code.
    Garbage collector, exceptions.
    Unicode support.
    Builtin modules: gc, array, collections, io, struct, sys.
    C long-long type used as bignum implementation (gives 64 signed ints).

    Note that floating-point numbers are not supported.

    On the TODO list:

    Wifi support.
    GPIO support.
    Internal filesystem using the flash.

    The tool chain required for the build is the OpenSource ESP SDK

    Reply
  14. Tomi Engdahl says:

    OpenSource ESP SDK, which can be found at https://github.com/pfalcon/esp-open-sdk

    Free and open (as much as possible) integrated SDK for ESP8266 chips
    https://github.com/pfalcon/esp-open-sdk

    Free and open (as much as possible) integrated SDK for ESP8266 chips

    Reply
  15. Tomi Engdahl says:

    Here’s a crowdfunding campaign for a very interesting IoT module. It’s a UART to WiFi adapter that has enough free Flash and RAM to run your own code, GPIOs, SPI, and PWM functions. Wait a second. This is just an ESP8266 module. Stay classy, Indiegogo.

    DWA8:Open source fingertip-sized wifi IoT module
    https://www.indiegogo.com/projects/dwa8-open-source-fingertip-sized-wifi-iot-module

    DWA8 is a finger-size Wi-Fi module,integrated with controlling and communication interfaces,like GPIO, PWM, SPI, UART,etc.DWA8 makes it convenient to create smart home and customize your IoT (Internet of Things) life easily.

    Our project started the initial design select multiple chip solutions, including some existing IOT SoCs, finally, we select ESP8266. It has a 80mHz processor, a total of 120K RAM, our software architecture, which can provide 40K RAM for users, and it will be able to design IOT products , and also design and develop simply.

    Reply
  16. Tomi Engdahl says:

    simple native ESP8266 Smartmeter
    http://hackaday.io/project/3249-simple-native-esp8266-smartmeter

    Measure the active time of a heater to analyze its behaviour with a ESP8266 without an additional controller.

    I modified the firmware of the ESP8266.
    It now has 2 more AT Command, one to start the measurement and one to stop it.
    Once the measurement has been started, the ESP8266 is waiting for a GPIO to go low (set to pullup) . The ESP8266 is connected to a relay which is on the other side connected to the oil pump of a heater. It then is measuring how long it had been down (how long the fuel pump was running). Once it is going high again the time is send to a webserver using the GET method (passing as URL). The webserver (server on the web) is saving this time. The webserver also hosts a page to visualize the data. I used the google visualisation and AJAX to connect to the DB. To analyze the dependency of of burned oil and the outside temperature, I get some weather information from http://openweathermap.org/.

    This project also can be the starting point for other data-logger applications, for example measuring temperatures etc. I implemented a few functions that automatically open a connection and send data, kind of fire and forget approach.

    Reply
  17. Tomi Engdahl says:

    ESP Gets FCC and CE
    http://hackaday.com/2014/12/17/esp-gets-fcc-and-ce/

    The ESP8266 Internet of Things module is the latest and greatest thing to come out of China. It’s ideal for turning plastic Minecraft blocks into Minecraft servers, making your toilet tweet, or for some bizarre home automation scheme. This WiFi module is not, however, certified by the FCC. The chipset, on the other hand, is.

    Having a single module that’s able to run code, act as a UART to WiFi transceiver, peek and poke a few GPIOs, all priced at about $4 is a game changer, and all your favorite silicon companies are freaking out wondering how they’re going to beat the ESP8266. Now the chipset is FCC certified, the first step to turning these modules into products.

    NEWS: ESP8266EX Wi-Fi SoC Has Been FCC & CE Certified
    http://bbs.espressif.com/viewtopic.php?f=9&t=59

    Espressif Systems (Shanghai) Pte. Ltd. (hereinafter referred to as “Espressif Systems”) announced recently that ESP8266EX, a single-chip wireless SoC has been approved by FCC (Federal Communications Commission) and has acquired the CE certification.

    ESP8266EX is a wireless SoC that is created for the Internet of Things (IoT), which consists of a high performance 32-bit MCU that can run up to 160MHz, a 10bit ADC with high precision, TCP/IP stack, and all RF components. The high integration density of this single-chip greatly decreases the external components, and tremendously reduces BOM cost of your whole solution. The IC features QFN32 package of only 5mm*5mm, which ideally reflects its high integration density and flexible applicability on your board.

    Besides, ESP8266EX has embedded various interfaces, including SPI, SDIO, UART, and I2C, which can well meet customers’ developmental needs and requirements. It also supports functions including system-level power management through an adaptor, reset control, power-saving working mode, and so on, making it a perfect choice of high performance and lower power consumption IoT solution in the field.

    Reply
  18. Tomi Engdahl says:

    Anyone wanting to build a product with the ESP will, of course, also need to certify it with the FCC

    Reply
  19. Tomi Engdahl says:

    Worth mentioning…It is only the ESP8266EX (note the EX suffix) that passed. Earlier devices have not been certified. This is a subtle but no less important detail. This means that most modules (built on the non-EX derivative) need to be redesigned and tested using the EX chip. Also worth mentioning: the board they submitted with their FCC testing would also qualify and could be used as a shorter-path to module certification, but may not be ideal for applications.

    That the module has an FCC/CE cert doesn’t really mean anything apart that it is maybe legal to import it now.

    If you are building a product for sale, the product must always be certified as a whole. Whether the components are certified or not is completely irrelevant

    CE cert is even less meaningful, because CE is added by *the manufacturer themselves*.

    Source: http://hackaday.com/2014/12/17/esp-gets-fcc-and-ce/ comments

    Reply
  20. Tomi Engdahl says:

    I just found out that ESP8266 modules are now available in very many formats:

    Original ESP8266 module
    http://www.banggood.com/ESP8266-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-947259.html?p=27131452996820140438

    ESP8266 other module formats
    http://www.banggood.com/ESP8266-ESP-10-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961252.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-06-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961250.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-11-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961251.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-08-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961248.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-09-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961249.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-07-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961247.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-05-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961246.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-02-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961245.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-04-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961243.html?p=27131452996820140438
    http://www.banggood.com/ESP8266-ESP-03-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-961244.html?p=27131452996820140438

    Reply
  21. Tomi Engdahl says:

    ESP8266 Serial WIFI Original Test Board For ESP-01
    http://www.banggood.com/ESP8266-Serial-WIFI-Original-Test-Board-For-ESP-01-p-961299.html?p=27131452996820140438

    €7.93

    ESP8266 Serial WIFI Original Test Board For ESP-01

    Description:
    The SDK development, internal all IO mouth raises
    Support the AT command
    Onboard STC15L204EA CPU, use of this board, without any downloader

    Reply
  22. Tomi Engdahl says:

    A Dev Board For The ESP Lua Interpreter
    http://hackaday.com/2015/01/01/a-dev-board-for-the-esp-lua-interpreter/

    From the great minds behind the NodeMCU Lua interpreter for the ESP8266 comes a proper dev board for the WiFi platform of 2015. They are calling it, the NodeMCU-devkit, and it’s a reasonable, cheap, and breadboardable breakout board for the ESP8266.

    The version of ESP8266 used in this project is the ESP-12, the newer, fancier model with RF shielding, a questionable FCC logo, and every single one of the GPIOs exposed on castellated connectors. The rest of the board is a USB to serial converter (the CH340G – probably the cheapest USB to serial chip out there)

    This dev board is explicitly designed to work with the NodeMCU firmware, a Lua-based firmware for the ESP

    https://github.com/nodemcu/nodemcu-firmware

    Reply
  23. Tomi Engdahl says:

    Faulty ESP8266s Release Smoke, Then Keep Working?
    http://hackaday.com/2015/01/08/faulty-esp8266s-release-smoke-then-keep-working/

    [Ray] is in a bit of a pickle. All appeared well when he began selling an ESP8266-based product, but shortly thereafter some of them got hot and let the smoke out. Not to worry, he recommends ignoring the problem since once the faulty components have vaporized the device will be fine.

    The symptom lies in the onboard red power indicator LED smoking. (Probably) nothing is wrong with the LED, because upon testing the batch he discovered its current limiting resistor is sometimes a little bit low to spec. Off by a hair of, oh, call it an even 1000x.

    Yep, the 4700 ohm resistor is sometimes replaced with a 4.7 ohm. Right across the power rail.

    The good news is that the LED and resistor begin a thermal race and whoever wins escapes in the breeze. Soon as the connection cuts the heat issue disappears and power draw drops back to normal. Everything is fine unless you needed that indicator light.

    Reply
  24. Tomi Engdahl says:

    Flashing the ESP8266 In Windows
    http://hackaday.com/2015/01/10/flashing-the-esp8266-in-windows/

    It’s only been a few months since the ESP8266 rolled out of some factory in China, and already the community is moving from simply getting custom firmware to work on the device to making the development tools easy to use. That’s huge – the barrier to entry is lowered, getting even more people on board with this very cool Internet of Things thing.

    While the majority of the community is settling on using the Lua interpreter firmware, there’s still the matter of getting this firmware uploaded to the ESP.

    A Windows program for uploading files to the ESP8266 and working with the Lua serial interface.
    benlo.com/esp8266/index.html#LuaLoader

    Reply
  25. Tomi Engdahl says:

    ESP8266 Rain Gauge Monitor
    [Funnel and Tipping Bucket Rain Sensor]
    http://benlo.com/esp8266/index.html#rain

    ESP8266 Well Power Monitor
    a simple way to monitor the pump on our well.
    http://benlo.com/esp8266/index.html#powerMonitor

    Reply
  26. Tomi Engdahl says:

    Adding WiFi and SMS to an Alarm System
    http://hackaday.com/2015/01/16/adding-wifi-and-sms-to-an-alarm-system/

    [Don] wanted to bring his alarm system into the modern age. He figured that making it more connected would do the trick. Specifically, he wanted his alarm system to send him an SMS message whenever the alarm was tripped.

    [Don] is using an Arduino nano to monitor the alarm signal. This meant that the 12V signal needed to be stepped down. He ran it through a resistor and a Zener diode to lower the voltage to something the Arduino can handle. Once the Arduino detects a signal, it uses an ESP8266 WiFi module to send an email. The address [Don] used is the email-to-SMS address which results in a text message hitting his phone over the cell network.

    Alarm System Hack – Add WiFi (ESP8266) and Send Text
    https://www.youtube.com/watch?v=TchYLpPWnbE

    Hacking an alarm system with an Arduino and a wifi module (ESP8266) to send text whenever the alarm goes off. Sketch uses SMTP to send email and text.

    Reply
  27. Tomi Engdahl says:

    But why not just use the ESP8266 on its own and leave the Arduino out?

    The ESP8266 is perfectly capable of recognizing the input and sending an email.

    http://www.esp8266.com/viewtopic.php?f=24&t=1231&p=7329

    Then, all you would need is one 3V power supply and one ESP8266 board plus the resistor and zener.

    Reply
  28. Tomi Engdahl says:

    Hack allows ESP-01 to go to Deep Sleep
    http://hackaday.com/2015/02/08/hack-allows-esp-01-to-go-to-deep-sleep/

    The ESP-01 module based on the ESP8266 is all the rage with IoT folks at the moment – and why not. For about 5 bucks, it can’t be beat on price for the features it offers. The one thing that such radios do a lot is suck power.

    So, it’s no surprise that ways to cut down on the juice that this device consumes is top priority for many people. [Tim] figured out a simple hardware hack to get the ESP-01 to go to deep sleep, effectively reducing its current draw to 78uA – low enough to allow battery powered deployment.

    While [Tim] was working on understanding the ESP8266 tool chain (NodeMCU firmware > Lua interpreter > ESPlorer IDE), he realized that some essential pins weren’t accessible on the ESP-01 module. [Tim] built a Dev board on perf board that let him access these pins and also added some frills while at it

    Low Power ESP8266 – Sleeping at 78 micro Amps
    http://tim.jagenberg.info/2015/01/18/low-power-esp8266/

    Reply
  29. Tomi Engdahl says:

    Interesting looking ESP8266 project:

    A Haptic Bracelet for Physical Computing
    http://hackaday.com/2015/02/12/a-haptic-bracelet-for-physical-computing/

    [Tinkermax] has been reading about the Internet of Things and wearable computing and decided it was time for him to have a go at building a device that turned computing physical. The result is a vibrating wristband that connects his sense of touch to the Internet.

    The electronics for this haptic wristband are a mix of old and new technology. The radio and microcontroller come from an ESP-8266 module that was programmed with [Mikhail Grigorev]’s unofficial SDK.

    Vibrating Wristband Alert (full write-up)
    http://tinker.yeoman.com.au/wrist-alert/

    The technology required to make this possible (at least from a hobbyist perspective) only became available late last year, in the form of the ESP8266. This remarkable module is tiny, has built in Wi-Fi, a programmable CPU able to control GPIO pins, and costs only about 3 dollars (including free shipping from China!)

    The drawback is that documentation is scarce – although this situation is gradually improving due to a few intrepid developers out there

    I initially started coding the wristband using Lua, which becomes possible by flashing the ESP8266 with the NodeMcu firmware, using ESPlorer.

    As a result, with some trepidation, I moved onto using the Unofficial Development Kit by Mikhail Grigorev, which turned out be an excellent piece of work. It does require that you develop your code in C

    Six vibrating (pager) motors were acquired off eBay

    The electronics consists of three main components:

    An ESP8266 ESP-01 module, which handles the Wi-Fi and runs software to serve up a web page and control GPIO ports.
    A board for driving the six vibration motors. Since the ESP-01 has only 2 I/O ports available (unless you want to get even more extreme), a shift register is used to expand these.
    A low drop-out (LDO) regulator which supplies 3.3V to the processor and shift register. The vibration motors are driven directly from the 4.2V 2 cell LiPo battery.

    I came across the TLC5917 device
    But the real value here is that it requires only 2 lines (clock and data) to give me any number of outputs (since the devices can be chained, taking the SDO of one into the SDI of the next).
    Strictly speaking, I should also have used the chip’s latch

    To demonstrate the wristband, I developed a single web page which is served up by the ESP8266. The ESP8266 is able to act as its own hot-spot i.e. generate a Wi-Fi network or alternatively connect to your existing network if you supply the credentials (in include/user_config)

    Reply
  30. Tomi Engdahl says:

    ESP8266 ESP07 module DoA Fix
    http://hackaday.com/2015/02/21/esp8266-esp07-module-doa-fix/

    It seems the Far-East factories can’t churn out ESP8266 based modules fast enough to feed all the world’s hackers. Well, Pick-n-Place machines are human too, so it’s not too long before you end up with a messed up batch from a factory.

    Reply
  31. Tomi Engdahl says:

    Mapping WiFi Signals in 3 Dimensions
    http://hackaday.com/2015/02/17/mapping-wifi-signals-in-3-dimensions/

    [Charles] is on a quest to complete ever more jaw-dropping hacks with the popular low-cost ESP8266 WiFi modules. This week’s project is plotting WiFi received signal strength in 3D space. While the ESP8266 is capable of providing a Received Signal Strength Indication (RSSI), [Charles] didn’t directly use it. He wrote a simple C program on his laptop to ping the ESP8266 at around 500Hz. The laptop would then translate the RSSI from the ping replies to a color value, which it would then send to the ESP8266. Since the ESP8266 was running [Charles’] custom firmware (as seen in his WiFi cup project), it could directly display the color on a WS2812 RGB LED.

    Wifi power mapping
    Using an ESP8266 to look at wifi signals in great detail.
    http://hackaday.io/project/4329-wifi-power-mapping

    Reply
  32. Tomi Engdahl says:

    ESP8266 Dev Board and Arduino Shield
    http://hackaday.io/project/4404-esp8266-dev-board-and-arduino-shield

    An Open Source Board for Cleaning Up Your ESP8266 Projects (Supports the ESP-01 and ESP-03 Modules)

    This open source board provides the connectivity, 3.3V regulation, level shifting and programming features that can really clean up and speed up ESP8266 WiFi projects. The board can operate stand alone when using the SDK or LUA to run your application directly on the 8266. It can be used as a learning platform when controlling the 8266 with a Windows, MAC or Linux machine using a terminal program or your own application. It also makes a pretty nice Arduino shield. Both the ESP-01 and ESP-03 are supported. The board can be configured to accommodate many different use cases.

    Links to the schematic, videos, a live demo and source code are provided in the external links section below. The PCB and kit can be purchased inexpensively at http://www.8266.rocks

    Reply
  33. Tomi Engdahl says:

    Wearable WiFi Finder Uses the ESP8266
    http://hackaday.com/2015/02/22/wearable-wifi-finder-uses-the-esp8266/

    It seems like a day doesn’t go by without an ESP8266 project here on Hackaday. There’s a good reason for that, the chip and associated modules have brought low-cost WiFi connectivity to the masses. Today we have [Stevica Kuharski], who has built an open WiFi access point detector using the ESP8266. To do this he’s using the Lua compatible NodeMcu firwmare. [Stevica] wrote his own Lua scripts to run on the ESP8266’s internal 32 bit microcontroller. The freewifi script scans and searches for open WiFi networks. If a network is detected, the user is informed via a blinking LED.

    How to build an open WiFi finder using ESP8266 and two coin batteries
    https://medium.com/@kstevica/how-to-build-an-open-wifi-finder-using-esp8266-and-two-coin-batteries-9c31eb6f9859

    Reply
  34. Tomi Engdahl says:

    PL2303HX 3.3V power output
    http://nerdralph.blogspot.ca/2015/02/pl2303hx-33v-power-output.html

    I’ve recently read comments about pl2303 USB-TTL serial modules stating that their power output is too low for modules like the esp8266.

    Although the datasheet indicates a maximum 3.3V output of 150mA, it may output more (or less) than that before dropping below 3V.

    the output resistance of the regulator is approximately 0.83 Ohms. This means if you want to push it to its limit, it should be able to output around 420mA before it drops below 3.0V.

    Reply
  35. Tomi Engdahl says:

    TwitterPrinter Keeps Track of 2015 Hack-A-Day Prize
    http://hackaday.com/2015/03/11/twitterprinter-keeps-track-of-2015/

    [Mastro Gippo] is getting to be somewhat of a Hackaday legend. He didn’t win the 2014 Hackaday prize but was in attendance at the event in Munich, and to make sure he keeps up with this year’s Prize, he built this old-school printer that prints all of the updates from the Hackaday Prize Twitter account.

    The device uses the now-famous ESP8266 module for connecting the printer to the Internet. It doesn’t scrape data straight from Twitter though, it looks at [Mastro Gippo]’s own server to avoid getting inundated with too many tweets at once.

    http://www.mastrogippo.it/2015/03/the-hackaday-prize-2015/

    So that’s how it works: the module loads the page http://www.mastrogippo.it/tweet.php?usr=ESP1 (note: I changed the path so you can’t crash my server) and the server keeps track of the latest tweet given to the device based on the name in the “usr” parameter.

    The program then splits the latest tweets in 24 characters rows, and sends back the result in plain text.

    It’s then just a matter of writing a brief LUA script for the ESP8266 to request the page, forward the answer to the serial port, and go to sleep for a few minutes. Looks easy, but my module kept on resetting at random; I thought that I was running out of RAM, but it took me a while to find out that the LUA interpreter enables the watchdog by default! I just had to reset the watchdog for every line I sent to the printer, and I was good to go. For the electronic part, nothing fancy, I just had to use a 3.3V regulator to provide power to the module and two 2N7000 mosfets to turn on and off the printer.

    And that’s all folks! Now I can get printed real time updates on any news about the contest, because who has a smartphone anyways?

    Reply
  36. Tomi Engdahl says:

    Cactus Micro arduino compatible plus WIFI esp8266
    https://www.tindie.com/products/AprilBrother/cactus-micro-arduino-compatible-plus-wifi-esp8266/

    Cactus Micro tiny size duino board plus WIFI chip esp8266
    What is it?

    Cactus Micro is our integrated developement board, we have mixed Arduino with WI-FI into a single board. It is targeted for makers to develop low power Internet-Of-Things (IoT) projects quickly and easily.
    What makes it special?

    Cactus Micro is tiny size Arduino compatible dev board. It’s built-in a esp8266 module (esp-11).

    Reply
  37. Tomi Engdahl says:

    Getting Started With the ESP8266 Chip
    https://www.openhomeautomation.net/getting-started-esp8266/

    How to Choose Your ESP8266 Module

    We are first going to see how to choose the right ESP8266 module for your project. Indeed, there are many on the market, and it’s quite easy to get lost between all the choices.

    The first one that you probably heard of is the small ESP8266 Serial Wireless Transceiver module

    This module is the most famous one, as it is really small and only costs $5. However, the number of accessible GPIO pins (outputs or inputs pins) are quite limited. It is also difficult to plug it on a breadboard.

    But there are many other modules on the market, that gives you access to all the pins of the ESP8266. For example, I really like the ESP8266 Olimex module which is also cheap (around $10)

    So for to program the chip, I will use a USB FTDI programmer. Note that it has to be compatible with the logic level of the ESP8266 chip, so 3.3V. I used a module that can be switched between 3.3V and 5V

    You will also need a dedicated power supply to power the chip. This is a point that is often forgotten and that leads to a lot of issues. Indeed, if you are for example trying to power the ESP8266 chip from the 3.3V coming from the FTDI board or from an Arduino board, it simply won’t work correctly. Therefore, you need a dedicated power supply that can deliver at least 300 mA to be safe.

    Reply
  38. Tomi Engdahl says:

    How to Directly Program an Inexpensive ESP8266 WiFi Module
    http://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/

    The ESP8266 is the answer to “I want something with Wifi.” Surprisingly, there are a number of engineers and hobbyists who have not heard of this chip or have heard of it but don’t really understand what it is. It’s basically the answer to everything IoT to so many engineering problems that have plagued the hobbyist and commercial world alike.

    The chip is a processor with integrated RAM, some ROM, and a WiFi radio, and the only external components you will need are 4 capacitors, a crystal and an external flash! It’s CHEAP, like $4/ea cheap! Or $5 if you want it on a nice, convenient carrier board that includes all these components. The power consumption is reasonable (~200mA)1, the range is insane ~300m2 without directional equipment, and a PCB trace antenna and ~4km if you want to be ridiculous.

    By default when you buy these neat little boards, many of them come with the “AT” firmware, which is basically a really neat, easy, tool that lets you use these devices as simple wireless modems controlled through a serial port. That’s neat and all, but it is difficult to do particularly complicated things with this and as I mentioned before it requires the use of an external processor.

    There are a few modes the chip can boot in based on the configuration of some GPIO pins.

    If we set GPIO0 low, however, the boot ROM inside the ESP8266 takes over and it begins communicating over the UART. Using this boot ROM we can push our programs to the flash memory. A good way to make use of this is to connect a switch from GPIO0 to ground so you can put it into program mode at will by holding the button at power on.

    This is surprisingly reliable and even supports different baud rates.

    There are official tools to upload firmware “XTCOM”, however I personally like to use esptool.py6 because it lets you automate the flashing.

    Programming the ESP8266 is a little difficult to get off the ground with, but once you do, things are very easy.

    There are a few options for building the toolchain on Linux and OSX, plus some options in Windows.

    Espressif has been nice enough to distribute their SDK freely.7 This was something that absolutely shocked the community, in a good way!

    There’s a few things to take note of when programming the ESP8266. One is that there are a bunch of functions that are built into the ROM you can leverage.

    If you’re looking to write main and have your own main loop, that’s not going to happen. While you can write main, the API expects to have its own main loop. In this sense, programming the ESP8266 is a lot like programming an Arduino.

    If you need events to happen at regular intervals, there are timer functions, os_timer_setfn, os_timer_arm that can call a function at a specific interval.

    Connect ESP8266 to AP in 8-lines of Code

    Here’s an example from an HTTP

    Working with GPIO

    The last key point I will be covering in this article is GPIO. The pins have optional internal pull-up, and pull-down resistors. They can all be configured as inputs or outputs. There’s some utility functions for dealing with the GPIOs. You’ll need to call gpio_init(…) some are macros like PIN_PULLDWN_DIS(…), PIN_PULLUP_EN(…), and others found in the SDK.

    Reply
  39. Tomi Engdahl says:

    Arduino IDE Support for the ESP8266
    http://hackaday.com/2015/03/28/arduino-ide-support-for-the-esp8266/

    Despite a wealth of tutorials for setting up and writing code for the ESP8266 WiFi module, there has not been much of anything on programming this cheap wireless module with the Arduino IDE.

    The Arduino IDE support was announced on the ESP8266 community forum. Setup is fairly simple with downloads for Linux, OS X, and Windows. This isn’t an ESP8266 shield, either: you can write code for the ESP module, connect the serial pins, and hit the program button.

    The basic functions of the Arduino IDE – pinMode, digitalRead, digitalWrite, and analogRead – are available. Most of the WiFi functions work just like the WiFi shield library.

    esp8266/Arduino
    https://github.com/esp8266/arduino

    This project brings support for ESP8266 chip to the Arduino environment. ESP8266WiFi library bundled with this project has the same interface as the WiFi Shield library, making it easy to re-use existing code and libraries.

    Comment:
    This is a huge deal for ubiquitous IoT development. The one thing that was seriously missing from the Arduino toolbox was an ultra-cheap, easy way of building a simple Wi-Fi connected object…and here it is.

    Reply
  40. Tomi Engdahl says:

    Arduino IDE for ESP8266 Quickstart Guide
    http://hackaday.io/project/5150-arduino-ide-for-esp8266-quickstart-guide

    Thanks to the hardwork by Richard Sloan and Ivan Grokhotkov, we can now use Arduino IDE to write sketches that would run ON the ESP8266.

    Reply
  41. Tomi Engdahl says:

    ESP8266 Current Monitor
    Basic energy monitor using the ESP8266 and the ATMega328
    http://hackaday.io/project/3780-esp8266-current-monitor

    Reply

Leave a Reply to Tomi Engdahl Cancel reply

Your email address will not be published. Required fields are marked *

*

*