An SDK for the ESP8266 WiFi Chip

ESP 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. If only we had an SDK or a few libraries…

The ESP8266 SDK is finally here. A complete SDK for the ESP8266 was just posted to the Expressif forums, along with a VirtualBox image with Ubuntu that includes GCC for the LX106 core used in this module.

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. As far as LX106 core is concerned, there’s example code for using the spare pins on this board as GPIOs, I2C and SPI busses, and a UART.

This 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. We’d love to see some examples, so put those up on hackaday.io and send them in to the tip line.

Keep an Eye on Your Fermenting Beer with BrewMonitor

Breadboard Circuit of a Funduino, a DS18B20 Temperature Sensor, and an ESP8266 module.

The art of brewing beer is as old as civilization itself. Many people enjoy brewing their own beer at home. Numerous steps must be taken before you can take a swig, but fermentation is one of the most critical. [Martin Kennedy] took up the hobby with his friends, and wanted a convenient way to monitor the fermentation temperature remotely. He started working on the BrewMonitor, a cloud-based homebrewing controller powered by an Arduino clone.

His goal was to create something cheap, convenient, and easy to set up. Traditional fermentation monitoring equipment is very expensive. The typical open-source alternative will set you back 80 euros (roughly $101), using the Arduino-sensor with a Raspberry Pi gateway via the BrewPi webserver. [Martin] did not want to go through the hassle of viewing BrewPi remotely, since it requires a home network and all of the configuration that would entail. Instead, he coupled an Arduino clone with a DS18B20 temperature sensor while using an ESP8266 module for wireless communication, all for less than 18 euros ($23). This connects to a simple webpage based on Scotch.io with a PHP backend (Laravel with RESTful API), a MySQL database, and an AngularJS frontend to display the graph. Once the sensor is placed into the fermenter bucket’s thermowell, the temperature is transmitted once a minute to the REST API. You can see the temperature over time (in Celsius). The design files are available on GitHub.

[Martin] would like to expand the functionality of BrewMonitor, such as adding the ability to adjust the temperature remotely by controlling a heater or fridge, and lowering its cost by single boarding it. Since the information is stored on the cloud, upgrading the system is much easier than using a separate gateway device. He doesn’t rule out crowdfunding campaigns for the future. We would like to see this developed further, since different yeast species and beer styles require very stringent conditions, especially during the weeks-long fermentation process; a 5-degree Celsius difference can ruin an entire brew! Cloud-based temperature adjustment seems like the next big goal for BrewMonitor. DIY brewers salute you, [Martin]!

[via Dangerous Prototypes]

 

The ESP8266 Becomes a Terrible Browser

esp

The ESP8266 are making their way over from China and onto the benches of tinkerers around the world for astonishing web-enabled blinking LED projects and the like. [TM] thought he could do something cooler with his WiFi to UART module and decided to turn one into a web browser.

There’s no new code running on the ESP8266 – all the HTML is being pushed through an Arduino Mega, requesting data from a server (in this case our fabulous retro edition), and sending the data to the Arduino serial console. The connection is first initiated with a few AT commands to the ESP module, then connecting to the retro server and finally dumping everything received to the console.

It’s not much – HTML tags are still displayed, and images are of course out of the question. The result, however, isn’t that much different from what you would get from Lynx, meaning now the challenge is open for an Arduino port of this ancient browser.

GCC for the ESP8266 WiFi Module

When we first heard about it a few weeks ago, we knew the ESP8266 UART to WiFi module was a special beast. It was cheap, gave every microcontroller the ability to connect to a WiFi network, and could – possibly – be programmed itself, turning this little module into a complete Internet of Things solution. The only thing preventing the last feature from being realized was the lack of compiler support. This has now changed. The officially unofficial ESP8266 community forums now has a working GCC for the ESP8266.

The ESP8266 most people are getting from China features a Tensilica Xtensa LX3 32-bit SOC clocked at 80 MHz. There’s an SPI flash on the board, containing a few dozen kilobytes of data. Most of this, of course, is the code to run the TCP/IP stack and manage the radio. There are a few k left over – and a few pins – for anyone to add some code and some extended functionality to this module. With the work on GCC for this module, it’ll be just a few days until someone manages to get the most basic project running on this module. By next week, someone will have a video of this module connected to a battery, with a web-enabled blinking LED.

Of course that’s not the only thing this module can do; at less than $5, it will only be a matter of time until sensors are wired in, code written, and a truly affordable IoT sensor platform is created.

If you have a few of these modules sitting around and you’d like to give the new compiler a go, the git is right here.

ESP8266 Distance Testing

ESP

With progress slowly being made on turning the ESP8266 UART to WiFi module into something great, there is still the question of what the range is for the radio in this tiny IoT wonder. [CNLohr] has some test results for you, and the results are surprisingly good.

Connecting to the WiFi module through a TPLink WR841N router, [CN] as able to ping the module at 479 meters with a huge rubber duck antenna soldered on, or 366 meters with the PCB antenna. Wanting to test out the maximum range, [CN] and his friends dug out a Ubiquiti M2 dish and were able to drive 4.28 kilometers away from the module and still ping it.

Using a dish and a rubber duck antenna is an exercise in excess, though: no one is going to use a dish for an Internet of Things thing, but if you want to carry this experiment to its logical conclusion, there’s no reason to think an ESP8266 won’t connect, so long as you have line of sight and a huge antenna.

There’s still a lot of work to be done on this module. It’s capable of running custom code, and since you can pick this module up for less than $5 USD, it’s an interesting platform for whatever WiFi project you have in mind.

A Proof of Concept Project for the ESP8266

weather

It’s hardly been a month since we first heard of the impossibly cheap WiFi adapter for micros, the ESP8266. Since then orders have slowly been flowing out of ports in China and onto the workbenches of tinkerers around the world. Finally, we have a working project using this module. It might only be a display to show the current weather conditions, but it’s a start, and only a hint of what this module can do.

Since the ESP8266 found its way into the storefronts of the usual distributors, a lot of effort has gone into translating the datasheets both on hackaday.io and the nurdspace wiki. The module does respond to simple AT commands, and with the right bit of code it’s possible to pull a few bits of data off of the Internet.

The code requests data from openweathermap.org and displays the current temperature, pressure, and humidity on a small TFT display. The entire thing is powered by just an Arduino, so for anyone wanting a cheap way to put an Arduino project on the Internet, there ‘ya go.

More WiFi Modules for IoT Madness

IoT

The last year has brought us CC3000 WiFi module from TI, and recently the improved CC3200 that includes an integrated microcontroller. The Chinese design houses have gotten the hint, putting out the exceptionally cheap ESP8266, a serial to WiFi bridge that also includes a microcontroller to handle the TCP/IP stack and the software side of an 802.11 connection. Now there’s another dedicated WiFi module. It’s called the MT7681, and it’s exactly what you would expect given the competition: a programmable module with the ability to connect to a WiFi network.

Like TI’s CC3200, and the ESP8266, the MT7681 can be connected to any microcontroller over a serial connection, making it a serial to WiFi bridge. This module also contains a user-programmable microcontroller, meaning you don’t need to connect an Arduino to blink a few pins; UART, SPI, and a few GPIO pins are right on the board. The module also includes an SDK and gnu compiler, so development of custom code running on this module should be easier than some of the other alternatives.

You can pick up one of the MT7681 modules through the usual channels, but there’s an Indiegogo campaign based in China that takes this module and builds a ‘dock’ around it. The dock has a relay, temperature/humidity sensor, a few GPIO pins, and a USB serial connection for use as an Internet of Things base station.

For anyone looking for a little more computational horsepower, there’s also a few mentions and press releases announcing another module, the MT7688, This is a very small (12mm by 12mm) module running Linux with 256 MB of RAM and 802.11n support. This module hasn’t even hit the market yet, but we’ll be on the lookout for when it will be released.

Thanks [uhrheber] for sending this one in.

Follow

Get every new post delivered to your Inbox.

Join 98,246 other followers