HTTPS for the Internet of Things

Every day, we’re connecting more and more devices over the internet. No longer does a household have a single connected computer — there are smartphones, tablets, HVAC systems, deadbolts — you name it, it’s been connected. As the Internet of Things proliferates, it has become readily apparent that security is an issue in this space. [Andreas Spiess] has been working on this very problem, by bringing HTTPS to the ESP8266 and ESP32. 

Being the most popular platform for IOT devices, it makes sense to start with the ESP devices when improving security. In his video, [Andreas] starts at the beginning, covering the basics of SSL, before branching out into how to use these embedded systems with secure cloud services, and the memory requirements to do so. [Andreas] has made the code available on GitHub so it can be readily included in your own projects.

Obviously implementing increased security isn’t free; there’s a cost in terms of processing power, memory, and code complexity. However, such steps are crucial if IOT devices are to become trusted in wider society. A malfunctioning tweeting coffee pot is one thing, but being locked out of your house is another one entirely.

We’ve seen other takes on ESP8266 security before, too. Expect more to come as this field continues to expand.

[Thanks to Baldpower for the tip!]

IoT Traffic Light Is Cardboard Made Fun

Traffic lights! Kids love them, hackers love them, and they’re useful in industrial contexts to see if the giant machine is currently working or having a bad day. While the real deal are unwieldy and hard to come by, there’s nothing stopping you tackling a fun cardboard build at home.

It’s a great way to teach kids about traffic rules, too.

In this case, the light is courtesy of WS2812b LED strips. They’re a great choice, as they interface easily with most microcontrollers thanks to readily available libraries. An ESP8266 runs the show here, serving up a basic web interface over WiFi. This allows the color of the various LEDs to be controlled remotely. It also allows the lights to be switched on and off to direct whatever traffic you may be controlling. The whole project is all wrapped up in a simple cardboard enclosure, mimicking the municipal street furniture which so resolutely commands our movements.

The cardboard traffic light is a project that shows just what can be done with some off-the-shelf parts and some good old-fashioned kindergarten-style arts and crafts. If you find yourself similarly admiring these devices, check out our primer on the North American traffic signal. Video after the break.

Continue reading “IoT Traffic Light Is Cardboard Made Fun”

ESP8266 Clock Puts Time in a Jar

Ironically, with the wide availability of modular electronic components today, the hardest part of constructing your latest gadget might just end up being able to find a decent looking enclosure for it. Project boxes will only get you so far, and let’s be honest, they aren’t exactly the most attractive things in the world. But if you’re willing to think outside the box (get it?) there are some unconventional options out there that might fit the bill.

Take for example this ESP8266 clock by [ZaNgAbY] that’s housed in a glass pasta jar. With the addition of some window tint film for the LED display to shine through, the final result could nearly pass as modern art. Even if you don’t need an extra clock around the house, this same general principle could be used to create a slick-looking ticker for all sorts of information, from the weather to server uptime with just some adjustments to the code.

Inside the jar there’s six 8×8 MAX7219 LED matrix modules tacked together to create one long strip, with a NodeMCU board stuck to the back with double-sided tape. There’s also a DS3231 RTC module so the clock can keep halfway decent time, but depending on how aggressively you are willing to pull down the current time from NTP, that may or may not be required. A simple barrel jack is popped through the metal lid of the jar for power, and represents the only physical connection the internals have to the outside world.

For the next iteration [ZaNgAbY] is thinking of adding a temperature and humidity sensor, and a light sensor that can dim the LED display depending on the ambient light. While the environmental sensors will have to go on the outside of the lid if there’s any hope of pulling useful readings from them, the clear glass will allow him to keep the light sensor internal to the clock.

Believe it or not, this isn’t the first time we’ve seen somebody give their electronics the pickle treatment. We’ve previously played host to a server that “preserves” files in a Mason jar, as well as a gorgeous display of an iPod under glass.

Continue reading “ESP8266 Clock Puts Time in a Jar”

Easy Access Point Configuration on ESP8266

One of the biggest advantages of using the ESP8266 in your projects is how easy it is to get WiFi up and running. Just plug in the WiFi library, put the SSID and encryption key in your source code, and away you go. It authenticates with your network in seconds and you can get on with building your project. But things get a little trickier if you want to take your project someplace else, or distribute your source code to others. Quickly we learn the downside of using static variables for authentication.

While there are already a few solutions to this problem out there, [Martin Raynsford] wasn’t too thrilled with them. Usually they put the ESP8266 in Access Point mode, allow the user to connect, and then ask which network they should authenticate with. But he didn’t want his projects to require an existing network, and figured he could do just as well making a field-configurable AP.

Using it is simple. Once the ESP8266 starts up it will create a new network in the form of “APConfig XXXXXX”, which should be easy enough to find from your client side device. Once connected, you can go to a simple administration page which allows you to configure a new AP name and encryption key. You even have the option to create an open AP by leaving the “Password” field blank. Once rebooted, the ESP8266 will create a new network with the defined parameters.

[Martin] has also included a “backdoor” to let anyone with physical access to the ESP8266 board create a new open AP that can be used to reconfigure the network settings. During boot up there is a brief period, indicated with specific blinks of the LED, wherein you can hit the reset button and trigger the open AP. This keeps you from getting locked out of your own project if you forget what key you gave it.

If you’re not one to go the austere route, take a look at some of the more robust solutions we’ve seen for easier end-user setup of the ESP8266.

WebSockets Embedded With The ESP8266

It used to be that Web browsing was simple. You asked a server for some text, which was duly sent, and then formatted by your browser. Now a web page is as likely to be a full-blown application that is reading mail, editing text, or lots of other things and may use WebSockets to create a back channel to the server. Thanks to affordable hardware like the ESP8266 one of those things a modern web browser can do is sense and control the real world. [Acrobotic] has an interesting video about using WebSockets to allow a browser to talk to an ESP8266 web server in real time. You can see his simple demo in the video below.

Of course, you’ll use the usual language you use on the ESP8266 — [Acrobotic] uses C++ in the Arduino IDE. On the browser side you’ll use JavaScript, although that will be embedded in your C++ program which acts as a web server.

Continue reading “WebSockets Embedded With The ESP8266”

Tiny WiFi-Enabled ARM MCU for Tiny Projects

Ever since the ESP8266 WiFi-enabled microcontroller came on the scene, it seemed like suddenly everyone came up with WiFi-enabled projects. But the ESP8266 is not the only game in town! Reader [PuceBaboon] notified us of a new product released by Seeed Studios: the imaginatively called Air602 WiFi Development Board.

The core of this board is the tiny WinnerMicro W600 MCU, which integrates a 32-bit ARM Cortex M3 CPU, along with dual UARTs, I2C, SPI and I2S interfaces, as well as a real-time clock (RTC). Add to this hardware crypto, seven I/O pins (five broken out on the development board) and you have a very capable WiFi-enabled MCU which can be programmed using the usual ARM development tools (e.g. Keil) using the provided SDK.

The W600 module can be bought by itself, in all its diminutive 12 mm x 10 mm glory, for a mere $1.90 as of time of writing – without antenna – as noted in [PuceBaboon]’s thoughts on this MCU and the development board.

Drill Jig Helps Mount WeMos D1 Mini

As far as ESP8266 boards go, the WeMos D1 Mini is a great choice if you’re looking to get started with hackerdom’s microcontroller du jour. It’s small, well supported, and can be had ridiculously cheap. Often going for as little as $3 USD each, we buy the things in bulk just to have spares on hand. But that’s not to say it’s a perfect board. For one, it lacks the customary mounting holes which would allow you to better integrate it into finished products.

This minor annoyance was enough to spring [Martin Raynsford] into action. He noticed there was some open area on the D1 Mini’s PCB where it seemed he could drill through to add his own mount points, but of course popping holes in a modern PCB can be risky business. There’s not a lot of wiggle room between success and heartbreak, and it’s not like the diminutive D1 Mini is that easy to hold down to begin with. So he designed a laser-cut jig to allow him to rapidly add mounting holes to his D1 Mini’s assembly line style.

For those who might be skeptical, [Martin] reports he’s seen no adverse effects from drilling through the board, though does admit it’s possible the close proximity of the metal screw heads to the ESP8266’s antenna may have a detrimental effect. That said, he’s tested them in his projects out to 25 m (82 feet) with no obvious problems. He’s using a 2 mm drill bit to make his hole, and M2 x 6 mm machine screws to hold the boards down.

The jig design is released as a SVG and DXF for anyone with a laser cutter to replicate, but it shouldn’t be too difficult to extrude those designs in the Z dimension for hackers who haven’t yet jumped on the subtractive manufacturing bandwagon.

When a project makes the leap from prototype to in-house production, designing and building jigs become an essential skill. From flashing firmware to doing final checkout, the time and effort spent building a jig early on will pay for itself quickly in production.