This Chromecast Volume Knob Has A Certain ’70s Chic

Chromecast devices have become popular in homes around the world in the last few years. They make it easy to cast audio or video from a smartphone or laptop, to a set of speakers or a display connected to the same network. [Akos] wanted to control the volume on these devices with a single, simple piece of equipment, rather than always reaching for a smartphone. Thus was built the CastVolumeKnob.

The project began by using Wireshark to capture data sent by the pychromecast library. Once [Akos] understood the messaging format, this was implemented in MicroPython on an ESP8266. A rotary encoder is used as a volume knob, and a Neopixel ring is used for visual feedback as to the device being controlled and the current volume level.

Further work was done to improve usability, with an ATtiny85 microcontroller being used to monitor the encoder for button presses before waking up the ESP8266, greatly reducing power consumption. The device is also rechargeable, thanks to an 18650 lithium polymer battery, and charger and boost converter boards. It’s all wrapped up in a sleek 3D printed case, with a translucent bezel for the LEDs and a swanky machined aluminium knob as the cherry on top.

It’s a homemade device that nonetheless would be stylish and unobtrusive in the living room environment. We imagine it proves very useful when important phone calls come in and it’s necessary to cut the stereo down to a more appropriate volume.

For another take, check out this USB volume knob with a nice weighty feel, courtesy of lead shot.

Don’t Toss That Bulb, It Knows Your Password

Whether it was here on Hackaday or elsewhere on the Internet, you’ve surely heard more than a few cautionary tales about the “Internet of Things” by now. As it turns out, giving every gadget you own access to your personal information and Internet connection can lead to unintended consequences. Who knew, right? But if you need yet another example of why trusting your home appliances with your secrets is potentially a bad idea, [Limited Results] is here to make sure you spend the next few hours doubting your recent tech purchases.

In a series of posts on the [Limited Results] blog, low-cost “smart” bulbs are cracked open and investigated to see what kind of knowledge they’ve managed to collect about their owners. Not only was it discovered that bulbs manufactured by Xiaomi, LIFX, and Tuya stored the WiFi SSID and encryption key in plain-text, but that recovering said information from the bulbs was actually quite simple. So next time one of those cheapo smart bulb starts flickering, you might want to take a hammer to it before tossing it in the trash can; you never know where it, and the knowledge it has of your network, might end up.

Regardless of the manufacturer of the bulb, the process to get one of these devices on your network is more or less the same. An application on your smartphone connects to the bulb and provides it with the network SSID and encryption key. The bulb then disconnects from the phone and reconnects to your home network with the new information. It’s a process that at this point we’re all probably familiar with, and there’s nothing inherently wrong with it.

The trouble comes when the bulb needs to store the connection information it was provided. Rather than obfuscating it in some way, the SSID and encryption key are simply stored in plain-text on the bulb’s WiFi module. Recovering that information is just a process of finding the correct traces on the bulb’s PCB (often there are test points which make this very easy), and dumping the chip’s contents to the computer for analysis.

It’s not uncommon for smart bulbs like these to use the ESP8266 or ESP32, and [Limited Results] found that to be the case here. With the wealth of information and software available for these very popular WiFi modules, dumping the firmware binary was no problem. Once the binary was in hand, a little snooping around with a hex editor was all it took to identify the network login information. The firmware dumps also contained information such as the unique hardware IDs used by the “cloud” platforms the bulbs connect to, and in at least one case, the root certificate and RSA private key were found.

On the plus side, being able to buy cheap smart devices that are running easily hackable modules like the ESP makes it easier for us to create custom firmware for them. Hopefully the community can come up with slightly less suspect software, but really just keeping the things from connecting to anything outside the local network would be a step in the right direction.

(Some days later…)

[Limited Results] had hinted to us that he had previously disclosed some vulnerabilities to the bulb’s maker, but that until they fixed them, he didn’t want to make them public. They’re fixed now, and it appears that the bulbs were sending everything over the network unencrypted — your data, OTA firmware upgrades, everything.  They’re using TLS now, so good job [Limited Results]! If you’re running an old version of their lightbulbs, you might have a look.

On WiFi credentials, we were told: “In the case where sensitive information in the flash memory wasn’t encrypted, the new version will include encrypted storage processing, and the customer will be able to select this version of the security chips, which can effectively avoid future security problems.” Argue about what that actually means in the comments.

Tiny Cheap ARM Boards Get WiFi

Over the last few years, we’ve seen the value of putting tiny WIFi-enabled microcontrollers on a module that costs a dollar or two. Those smart light bulbs in your house probably have an ESP8266 in them, and you can build a WiFi-enabled anything with one of these chips for next to no money. Now there’s a new module that takes the design philosophy of, ‘a reasonably powerful microcontroller, on a module, that does WiFi’ to its logical conclusion. It’s the W600 module from Seeed Studios. It’s got an ARM Cortex-M3, it’s FCC and CE certified, it’s got WiFi, and it’s cheap. This is what the people want, so somebody’s got to give it to them.

This product seems to be the followup and/or refinement of the Air602 WiFi Development board released by Seeed late last year. While the module itself grew a few more castellated pins and an RF can, the other specs look to be the same. Compared to the ESP-8266, which this module is obviously competing against, the Air600 is more than capable of pulling its own weight with five GPIO pins that do PWM, a decent amount of Flash, and all the WiFi support you could want.

The W600 is part of an entire family of boards, with the module itself readily available, but there’s also a few breakout boards that add connections for power and serial, a bigger breakout board that’s trying really hard to forget the pin misalignment of the Arduino Uno, and since this is Seeed, a board that connects to everything via Grove connectors. What’s a Grove connector? It’s power, ground, and either I2C or serial over a connector I couldn’t buy the last time I checked.

The W600 and its family of boards will be shipping shortly — China is shutting down for two weeks soon, after all — and there are plans for support for the Arduino IDE, Micropython, and an SDK for the tool chain of your choice.

Is the ESP8266 still the go-to for putting WiFi? Probably. But here’s some more competition.

WiFi Controlled Finger

WiFi Controlled Finger Dims Lights Over UDP

While WiFi controlled lights are readily available, replacing your lighting fixtures or switches isn’t always an option. [Thomas] ran into this issue with his office lights. For the developers in the office, these lights always seemed to run a little too bright. The solution? A 3D printed, WiFi controlled finger to poke the dimmer switch.

This little hack consists of a servo, a 3D printed arm and finger assembly, and a Wemos D1 Mini development board. The Wemos is a low cost, Arduino compatible development board based on the ESP8266. We’ve seen it used for a wide variety of hacks here on Hackaday.

For this device, the Wemos is used to listen for UDP packets on the company’s WiFi network. When it receives a packet, it tells the servo to push the dimming button for a specified amount of time. [Thomas] wrote a Slack bot to automatically send these packets. Now, when the lights are too bright, a simple message to the bot allows anyone to dim the lights without ever leaving the comfort of their desk. Sure, it’s not the most secure or reliable method of controlling lights, but if something goes wrong, the user can always get up and flip the switch the old fashioned way.

Make Your Cactus Bionic With Bionic Cactus

The closest some of us at Hackaday get to a green thumb comes when we are painting, so for us and other folks not gifted in the gardening department Bionic Cactus might help. It’s a neatly designed water and light control system, built around an ESP8266. You can control the system through a web interface, setting a schedule for water and light and seeing how much water is left in the reservoir. There is also a soil moisture sensor and it will even email you when it is running low on water. As creator [SamsonKing] notes, if you combine this with a 3D-printed plant pot and light holder, and you’ve got a complete system from growing herbs and spices in the middle of winter.

[SamsonKing] created the system using PlatformIO, a neat open source Internet of Things development platform that means you could probably switch the system over to run on other low-power platforms if you had them lying around. But with an ESP8266 typically costing no more than a few bucks, it’s a neat and low-cost way to keep your plants fed and watered.

Automated gardening has featured many times here at Hackaday, just one of many is this indoor hydroponic lettuce factory.

ESP8266 AC Controller Shows Whats Possible

People often get the impression that home built hardware is destined to have a certain amateurish look or feel to it. It’s as though just because you didn’t buy it in a store, it will look cheap or thrown together. While it’s true a hacked together device could look like it was built from the parts bin (and to be fair, sometimes it is), there are plenty of examples of DIY hardware that could give commercial offerings a run for their money.

A case in point is this fantastic ESP8266 air conditioner controller created by [Sitinut Waisara] (Google Translate). Between the simple yet elegant 3D printed enclosure to the very slick user interface on its OLED screen, this project could easily pass as a commercial device. In fact, we’ve seen commercial offerings that didn’t look half this good, let alone offer the same features for what this cost in components and printer filament. It’s a perfect example of what the modern hacker or maker is capable of with the wide array of tools and components currently available to us.

What’s perhaps the most impressive about this project, especially given how good it looks on the outside, is how little there really is on the inside. Beyond the NodeMCU board and SSD1332 OLED display, the only components inside the device are the three tactile buttons, a photoresistor so it can dim the display’s brightness based on ambient light level, an IR LED so it can send commands to the AC unit, and a handful of passives. The hardware side of this design is so simple that [Sitinut] was able to put the whole thing together on a scrap of perfboard. Not that you’d be able to tell when it gets installed into the 3D printed wall-mount enclosure, complete with printed button caps.

While the hardware side of the project might be rather light, the software is anything but. [Sitinut] really went all-in writing his code for the ESP, adding in the little features like the automatic screen dimming and pulling the current time from NTP that often get overlooked in our rush to get a project out the door. He even included a whole collection of icons to display on the OLED screen, which goes a long way towards selling that professional look. But his effort wasn’t limited to cosmetics or clever features, there was also plenty of work put into decoding the IR signals used to control the AC unit and getting all the features and functions plugged into MQTT.

We’ve seen a number of projects that aimed at dragging an existing HVAC system kicking and screaming onto the “Internet of Things”, some considerably less complex than others. But few have had the level of polish that [Sitinut] has put into his controller, so we take our hats off to him.

Continue reading “ESP8266 AC Controller Shows Whats Possible”

WiFi Remote Control Those Cheap LED Strips With An ESP8266 Passthrough

The explosion of cheap LED lighting products has given a never-ending array of opportunities for the resourceful hacker. A few dollars can secure strings of colourful illumination, but without further expenditure they lack the extra utility of electronic control. This is something that [Albert David has addressed] with his simple ESP8266-based WiFi switcher that he’s added to a string of USB-powered LEDs, and he’s neatly mounted the ESP-12 module it used atop a USB plug.

The circuitry is pretty straightforward, with only a couple of I/O lines being used. A transistor takes care of the heavy lifting, and the software comes courtesy of the Tasmota firmware for Sonoff (and similar) devices. We suspect with this economy of connection, the same task could be achieved even with the limited resources provided by the lesser ESP-01 module.

There was a time not so long ago when performing a task such as controlling a light over a wireless network involved significant cost, power, and complexity. In the nearly five years since we reported on the arrival of the ESP8266 we have progressed to the point at which that task is a simple project using commodity components, and that represents something of a miracle.