Some hacks are born of genius or necessity, and others from our sheer ham-fisted incompetence. This is not a story about the first kind. But it did give me an excuse to show how easy it is to design WiFi-connected devices that work the way you want them to, rather than the way the manufacturer had in mind.
It started out as a sensible idea – consumer electronics in Vietnam have many different electric plug types for mains AC power: A, C, G, F, and I are fairly present, with A and C being most common. For a quick review of what all those look like, this website sums it up nicely. There are universal power adapters available of course, but they tend to fit my most common type (C) poorly, resulting in intermittent power loss whenever you sneeze. So I figured I should replace all the plugs on my devices to be A-type (common to those of you in North America), as it holds well in all the power bar types I have, mainly leftover server PDUs.
This was very straightforward until I got to my desk lamp. Being a fancy Xiaomi smart lamp, they had opted to hide a transformer in the plug with such small dimensions that I failed to notice it. So instead of receiving a balmy 12 volts DC, it received 220 volts AC. With a bright flash and bang, it illuminated my desk one final time.
Continue reading “Fried Desk Lamp Reborn: How To Use ESP8266 To Build Connected Devices”
On the outside, a Geiger counter seems like a complicated thing. And you might think a device that detects a dangerous, mostly invisible threat like radiation should be complicated. But they’re actually pretty simple. The Geiger-Muller tube does most of the work, which boils down to detecting brief moments of conductivity caused by chain reactions of charged particles in radioactive materials.
[Prabhat_] wanted to build a unique-looking Geiger counter, and we’d say that this slick, Star Trek-esque result succeeds. A well-organized display shows the effective dose rate, counts per minute, and cumulative dose, which can be displayed in either microsieverts or millirems. We dig the 3D printed case design, because we like to see form follow function.
The counter is powered by an 18650 cell that’s DC-to-DC boosted to 400+ volts. A NodeMCU processes the signal coming in from the G-M tube and expresses it in both clicks and LED blinks, both of which can be toggled on or off from the home screen. The alert threshold can be customized in the settings, which means the point at which green changes to red.
Click-click-click past the break for [prabhat_]’s great walk-through video, where he tests it with uranium ore and a thoriated gas lantern mantle.
If you want to take the opposite approach and get to clicking ASAP, well, fire up your hot glue gun and dump out your scrap bin.
Continue reading “DIY Geiger Counter Is Sure To Generate Clicks”
[Zack] had trouble getting his six-month-old to sleep through the night. That was before he found out about ‘shh’ videos on YouTube. These are exactly what they sound like: eight hours of someone whooshing white noise into a microphone. He set a phone up on a charger in the nursery and let one of these play overnight. But the phone was unreliable. It would lock up, or just crash completely, making the baby’s distress worse.
To restore peace in the house, he built a sound machine that both simplifies and fortifies the white noise shh-loution. It uses an ESP8266 and a DFPlayer Mini to loop a lone MP3 file of shh-video audio and play it from a small speaker. By integrating the machine with Home Assistant, he’s able to trigger the sound remotely at baby’s bedtime. ESP Home has no module for the DFPlayer, but [Zack] built one that he’s happy to share.
If you are mired in early parenthood, this is a nice, simple solution. The DFPlayer does all the work of reading from the SD card and converting the signal to analog for speaker output, so there’s no need to get your hands dirty wasting valuable sleeping or kid-playing time.
Once the kid starts toddling out of babyhood, [Zack] could turn to ESP8266-based ambient lighting to help establish the difference between sleep and wake time.
The modern hacker wields a number of tools that operate on the principle of heating things up to extremely high temperatures, so a smoke alarm is really a must-have piece of equipment. But in an era where it seems everything is getting smarter, some might wonder if even our safety gear could benefit from joining the Internet of Things. Interested in taking a crack at improving the classic smoke alarm, [Vivek Gupta] grabbed a NodeMCU and started writing some code.
Now before you jump down to the comments and start smashing that keyboard, let’s make our position on this abundantly clear. Do not try to build your own smoke alarm. Seriously. It takes a special kind of fool to trust their home and potentially their life to a $5 development board and some Arduino source code they copied and pasted from the Internet. That said, as a purely academic exercise it’s certainly worth examining how modern Internet-enabled microcontrollers can be used to add useful features to even the most mundane of household devices.
In this case, [Vivek] is experimenting with the idea of a smoke alarm that can be silenced through your home automation system in the event of a false alarm. He’s using Google Assistant and IFTTT, but the code could be adapted to whatever method you’re using internally to get all your gadgets on the same virtual page. On the hardware side of things, the test system is simply a NodeMCU connected to a buzzer and a MQ2 gas sensor.
So how does it work? If the detector goes off while [Vivek] is cooking, he can tell Google Assistant that he’s cooking and it’s a false alarm. That silences the buzzer, but not before the system responds with a message questioning his skills in the kitchen. It’s a simple quality of life improvement and it’s certainly not hard to imagine how the idea could be expanded upon to notify you of a possible situation even when you’re out of the home.
We’ve seen how a series of small problems can cascade into a life-threatening situation. If you’re going to perform similar experiments, make sure you’ve got a “dumb” smoke alarm as a backup.
Continue reading “Building A Smarter Smoke Alarm With The ESP8266”
[Mirko Pavleski] has put together a little weather station for himself that combines Internet-sourced forecasts with physical sensor data to give him a complete view of his local conditions. There’s no shortage of weather applications for our smartphones and computers that will show us the current local conditions and the forecast for the next couple of days. It’s so easy to pull weather data from the various APIs out there that you even see the functionality “baked in” to different gadgets these days. Of course, you can dig through every weather API in the world and not find the temperature and humidity inside your office; for that, you need your own sensors.
[Mirko] took a somewhat unconventional approach by essentially building two totally separate weather devices and packing them into one enclosure, which gives the final device a rather unique look thanks to the contrasting display technologies used.
Local conditions are detected by an Arduino Nano connected to a BMP180 sensor and displayed on a Nokia 5110 LCD. The screen shows not only real-time temperature and barometric pressure, but the change in pressure over the last several hours. The three-day forecast, on the other hand, is provided by a NodeMCU ESP8266 development board connected to the increasingly ubiquitous 0.96 inch OLED.
If you’re not into the whole duality thing and would rather do it all on the same device, you might be interested in one of the ESP8266 weather monitors we’ve seen in the past.
The increase in network-connected devices the past years has been something of a dual-edged sword. While on one hand it’s really nice to have an easy and straight-forward method to have devices talk with each other, this also comes with a whole host of complications, mostly related to reliability and security.
With WiFi, integrating new devices into the network is much trickier than with Ethernet or CAN, and security (e.g. WPA and TLS) isn’t optional any more, because physical access to the network fabric can no longer be restricted. Add to this reliability issues due to interference from nearby competing WiFi networks and other sources of electromagnetic noise, and things get fairly complicated already before considering which top-layer communication protocol one should use. Continue reading “Transcending The Stack With The Right Network Protocol”
Last year, we saw quite a bit of media attention paid to blockchain startups. They raised money from the public, then most of them vanished without a trace (or product). Ethics and legality of their fundraising model aside, a few of the ideas they presented might be worth revisiting one day.
One idea in particular that I’ve struggled with is the synthesis of IoT and blockchain technology. Usually when presented with a product or technology, I can comprehend how and/or why someone would use it – in this case I understand neither, and it’s been nagging at me from some quiet but irrepressible corner of my mind.
The typical IoT networks I’ve seen collect data using cheap and low-power devices, and transmit it to a central service without more effort spent on security than needed (and sometimes much less). On the other hand, blockchains tend to be an expensive way to store data, require a fair amount of local storage and processing power to fully interact with them, and generally involve the careful use of public-private key encryption.
I can see some edge cases where it would be useful, for example securely setting the state of some large network of state machines – sort of like a more complex version of this system that controls a single LED via Ethereum smart contract.
What I believe isn’t important though, perhaps I just lack imagination – so lets build it anyway.
Continue reading “Yes, You Can Put IoT On The Blockchain Using Python And The ESP8266”