Just about any appliance comes in an internet enabled version nowadays. However, even the oldest gear can be switched on and off with an Internet connected power socket. [Bill] is in the process of automating his home, and found some old radio controlled power sockets that badly needed to join the 21st Century. Hacking ensued.
The first set of switches [Bill] came across were easy to work with. Eager to keep things as functional as possible, ESP8266s with Tasmota firmware were wedged into the enclosures. With a bit of circuit sleuthing, [Bill] was able to set up the switches to respond to commands from both the ESP8266 as well as the original push buttons and radio remote.
[Bill] later came across some black switches, which were not up to his standards. These switches were gutted entirely, being used only for their mains plug and enclosure. The relays inside were replaced with 5V versions which were easier to trigger from the ESP8266’s outputs.
[Bill[ readily admits that the cost benefits over buying off-the-shelf Sonoff modules don’t really add up, but good hackers rarely let such concerns get in the way of a fun project. Around these parts, we see plenty of hacks to automate your house – like this zero-intrusion light switch mod. Happy hacking!
Potentially, one of the great things about having a device connected to the network is that you can update it remotely. However, how do you make that happen? If you use the Arduino setup for the ESP8266 or ESP32, you might try [scottchiefbaker’s] library which promises to make the process easy.
Adding it looks to be simple. You’ll need an include, of course. If you don’t mind using port 8080 and the path /webota, you only need to call handle_webota() from your main loop. If you want to change the defaults, you’ll need to add an extra call in your setup. You also need to set up a few global variables to specify your network parameters.
Hackers absolutely love building clocks. Seriously, there are few other devices for which we’ve seen such an incredible number of variations. But while the clocks that hackers build might blink out the time in binary, or write it out in words, they generally don’t feature hands. Apparently in 2019 it’s more reasonable to read binary than know which way the “little hand” is supposed to be pointing.
This ESP8266 powered “shadow clock” from [Dheera Venkatraman] technically keeps that tradition intact, but only just. His clock doesn’t feature physical hands, but it does use a strip of RGB LEDs to cast multi-colored shadows which serve the same function. With his clock, you don’t even have to try and figure out which hand is the big one, since they’re all the same length. Now that’s what we call progress.
Probably the biggest surprise about this clock, beyond how legitimately good it looks hanging on the wall, is how little work it takes to build your own version. That’s because [Dheera] specifically set out to design something that was cheaper and easier to build than what he’d seen previously, and we think he delivered on that goal in a big way. All you need are the 3D printed components, an ESP8266 board, and a strip of 144 WS2812B LEDs.
The software side of the project is similarly simplistic, and all you need to do is plug in your WiFi network credentials to have the ESP pull the current time from NTP. If you were so inclined, his source code would be an excellent base on which to implement additional features such as animations at the top of the hour.
This is likely not to come as much of a shock to you, but the ESP8266 is pretty popular. At this point, we’re more surprised when a project that hits the tip line doesn’t utilize this incredibly cheap WiFi-enabled microcontroller. If you’re making a gadget that needs to connect to the Internet, there’s a good chance some member of the ESP family is going to be a good choice. But is it a one-trick MCU?
Well, judging by software frameworks like the “Little Game Engine” created by [Igor], it looks like the ESP is expanding its reach into offline projects as well. While it might not turn the ESP8266 into a next-gen gaming powerhouse, we’ve got to admit that the demos shown off so far are pretty impressive. When paired with a couple of buttons and a TFT display such as the ILI9341, the ESP could make for a particularly pocket-friendly game system.
The game engine that [Igor] has developed provides the programmer with a virtual screen resolution of 128×128, a background layer, and 32 sprites which offer built-in tricks like collision detection and rotation. All while running at a respectable 20 frames per second. This environment is ideal for the sort of 2D scrolling games that dominated the 8 and 16-bit era of gaming, and as seen in the video after the break, it can even pull off a fairly decent clone of “Flappy Bird”.
In addition, [Igor] created an online emulator and compiler which allows you to develop games using his engine right in your web browser. You can load up a selection of example programs and execute them to see what the engine is capable of, then try your hand at developing your own game before ever having to put the hardware together. Incidentally, the performance of this online development environment is fantastic; with even the fairly complex “Flappy Bird” example code compiling and starting in the emulator nearly instantaneously.
Like most pieces of technology, word clocks seem to be getting better and better every year. As hackers get their hands on better microcontrollers and more capable LED controllers, these builds not only look more polished, but get improved features and functions. Luckily for us, the rise of these advanced modular components means they’re getting easier to build too. For an example of these parallel traits, look no further than VERBIS by [Andrei Erdei].
This colorful word clock is powered by an ESP8266, a 8×8 RGB LED matrix, and a WS2812 RGB LED controller module. [Andrei] used the diminutive ESP-01 which can plug right into the LED controller, and just needs a 3.3 VDC regulator board to complete the very compact electronics package.
To keep the LEDs from interfering with each other, [Andrei] has designed a 3D printed grid which fits over the matrix board. On top of that goes a piece of paper that has the letters printed on it. He mentions that he was able to get good results printing this “stencil” out on an inkjet printer by simply running the same piece of paper through a few times; picking up more black ink each time it went through. Judging by the sharp characters seen in the video after the break, the trick worked well.
With his hardware put together, [Andrei] turned his attention to the software. We really think the project shines here, as his clock not only supports NTP for automatically setting the time over the Internet, but offers a full web interface to control various functions such as the LED colors. You can even change the NTP server and network configuration right from the UI, which is a nice touch compared to just hard coding the values into the code. Even if you don’t use the same hardware, the open source control software is definitely something you should look into if you’re building your own word clock.
We’ll be perfectly honest: sitting inside a heated box sounds just a bit too much like torture for our tastes. But if we did somehow find ourselves in possession of a fancy new sauna, we’d more than likely follow in the footsteps of [Al Betschart] and make the thing controllable with the ESP8266. After all, if you’re going to be cooked alive, you might as well do it on your own terms.
The sauna itself was purchased as a kit, and included an electric heater controlled by a thermostat. As explained in his detailed documentation, [Al] integrated a Sonoff TH16 into the original heater circuit so he could control power to the coils remotely. The TH16 also includes support for a thermal sensor, which allowed him to get a reading on the sauna’s internal temperature. The new electronics were mounted in a weather-proof box on the back of the sauna, complete with an external WiFi antenna to help get a good signal back to the house.
At this point the project could technically be done if all you wanted was remote control, but [Al] wanted to create a replacement firmware for the Sonoff that was specifically geared towards the sauna. So he came up with some code that uses MQTT to connect the heater to his home automation system, and allows configuring things like the maximum temperature and how long the sauna will run before turning itself off.
Interestingly, the company who makes these saunas thought the work [Al] did to integrate their product into his home automation system was so impressive they actually interviewed him about it and put it up on their site for others who might be inspired by his work. We’ve covered a lot of hacks to consumer devices here at Hackaday, and it’s exceedingly rare for a company to be so supportive of customers fiddling around with their products (especially in a case like this where there’s a real chance of burning your house down), so credit where credit is due.
Debugging tools are critical to quick and effective development. Without being able to peek under the hood at what’s really going on, it can be difficult to understand and solve problems. Those who live on the Arduino platform are probably well acquainted with using the serial port to debug, but it’s far from the only way. [JoaoLopesF] has coded the RemoteDebug tool for ESP platforms, and the results are impressive.
RemoteDebug does away with the serial interface entirely, instead using the ESP’s native wireless interface to send debug data over TCP/IP. It’s all handled over telnet, making it completely platform agnostic. By handling things over the WiFi connection, it negates issues with physical access, as well as hassles with cables and limited serial ports. It’s also of benefit to robotics projects, which no longer need a tether when debugging.
It comes with a similar set of features to [JoaoLopesF]’s earlier work, SerialDebug. Things like verbosity and timestamps are all built in, making it easy to get high-quality debug data without having to reinvent the wheel yourself. Video after the break.