Thanks to Bob for sharing his great weather display project on Show and Tell! Read more about it on his blog here.
The ESP8266 (AKA Wi07C) is a cheap (less than $10), tiny WiFi module that can be hooked up to any micro-controller that can feed it Serial (UART) commands. You can use this module to send data to or receive data from web sites. This puppy is cheap, but capable!
Currently (as of Nov 15, 2014), there are at least 3 versions of the ESP8266 being sold. The hardware wiki at ESP8266-Wiki has details. I got mine from adafruit. Why? Adafruit offers a curated collection of products. They’re either superior products designed by ladyada herself, or vetted outside products that are the current best available. So, I knew I was getting latest model of the ESP8266 which allows modifying the baud rate. When I got my modules from adafruit, the packing bag was labelled “fw 0.9.2.2”. Good to know.
When I googled for what other people had done with the WiFi module, I came across the weather display at zeflo.com. My wife and I are weather freaks. Even though we live in the San Francisco East Bay, where we enjoy a moderate Mediterranean climate, we always check to see what the day has in store. I had some familiarity with wunderground.com weather feeds from a previous project, so this was a good place to start with the WiFi module. I also got some very good tips from Ian Sexton at this site.
Bill of Materials:
- ESP8266, available on ebay and others. Got mine at adafruit, $8.95 +Ship
- Arduino Uno/Leonardo or clone, or adafruit’s Pro Trinket 3V version, $9.95+Ship
- Update 01-07-2015: See Pro Trinket Notes below for special configuration
- LM317 Voltage Regulator TO-220 package or similar, Mouser has them for $0.80
- R1: 1×200 Ohm Resistor
- R2: 1×330 Ohm Resistor
- 0.1uF capacitor
- 1uF capacitor
- TTL Level Shifter (5V to 3.3V logic) if you need it – adafruit has ’em for $1.50
- M to F jumper wires for connecting the ESP8266 to a breadboard and Arduino
- M to M jumper wires for connecting components on the breadboard/Arduino
- Power supply – should be at least 500mA/5V; I used a 5V/2A I had in inventory
- Display – I used a 4 line x 20 character LCD, with Serial input from a ModernDevices LM117 Serial LCD Backpack, but any
- SPI/I2C graphical or serial display device will do, provided you have enough RAM
Easy, although not a beginner project. It’s just hooking up a few components and wires, plus installing software and configuring. If you follow the instructions here closely, you should be OK.
At present, the WiFi connection needs to be reset periodically. I used the kludge of doing a “hard reset” of the ESP8266 in code to keep it going (courtesy of Ian Sexton).
The ESP8266 is a 3.3V module. If you’re used to using a 5V Arduino, you’ll have to make some adjustments.
If you are using a straight-up Arduino or clone, you’ll need a TTL logic level shifter to get the 5V out from the Arduino down to 3.3V that the ESP8266 wants, or risk frying the WiFi module. If you use a Pro Trinket 3.3V model, you won’t have to worry about that – it uses 3.3V logic.
Ladyada pointed out the ESP8266 can have spikes of 300mA or more current, much more than can be supplied directly by the Arduino. Youll want to use an external voltage regulator that can handle more at least that much current. That’s why I’m using the LM317.
Check out the full tutorial here.
Featured Adafruit Products!
ESP8266 WiFi Module: This interesting module is a lot of fun for hobbyists and students who are interested in experimenting with the ESP8266 WiFi chipset. We bought a bunch of these modules, updated the firmware to the much-easier-to-use v0.924 and wrote some Arduino code to grab a webpage. Read more.
Adafruit Pro Trinket – 3V 12MHz: Trinket’s got a big sister in town – the Pro Trinket 3V! Pro Trinket combines everything you love about Trinket with the familiarity of the core Arduino chip, the ATmega328. It’s like an Arduino Pro Mini with more pins and USB tossed in.
Trinket’s a year old now, and while its been great to see tons of tiny projects, sometimes you just need more pins, more FLASH, and more RAM. That’s why we designed Pro Trinket, with 18 GPIO, 2 extra analog inputs, 28K of flash, and 2K of RAM. Read more.