Dumb Down Your Xiaomi Smart Lamp With A Custom Firmware

Undoubtedly, the ESP8266’s biggest selling point is its WiFi capability for a ridiculously low price. Paranoid folks probably await the day its closed-source firmware bits will turn against humanity in a giant botnet, but until then, hobbyists and commercial vendors alike will proceed putting them in their IoT projects and devices. One of those devices is the Yeelight desk lamp that lets you set its color temperature and brightness via mobile app.

[fvollmer] acquired such a lamp, and while he appreciated its design and general concept, he wasn’t happy that it communicates with external servers. So he did the only reasonable thing and wrote his own firmware that resembles the original functionality, but leaves out the WiFi part. After all, the ESP8266 has still a lot to offer in its core essence: a full-blown 32-bit microcontroller with support for the most common, hobbyist-friendly SDKs.

The lamp’s color temperature and brightness are set with a rotary encoder / push button combo switch, and the LEDs themselves are controlled via PWM. All things considered, it’s a rather straightforward endeavour, for which [fvollmer] chose the standalone C SDK. And in the end, it’s not like he’s unreasonably cautious to keep some control over his household items.

Evolution Of The ESP8266 Party Button

Sometimes the best part of building something is getting to rebuild it again a little farther down the line. Don’t tell anyone, but sometimes when we start a project we don’t even know where the end is going to be. It’s a starting point, not an end destination. Who wants to do something once when you could do it twice? Maybe even three times for good measure?

Original version of the Party Button

That’s what happened when [Ryan] decided to build a wireless “party button” for his kids. Tied into his Home Assistant automation system, a smack of the button plays music throughout the house and starts changing the colors on his Philips Hue lights. His initial version worked well enough, but in the video after the break, he walks through the evolution of this one-off gadget into a general purpose IoT interface he can use for other projects.

The general idea is pretty simple, the big physical button on the top of the device resets the internal ESP8266, which is programmed to connect to his home WiFi and send a signal to his MQTT server. In the earlier versions of the button there was quite a bit of support electronics to handle converting the momentary action of the button to a “hard” power control for the ESP8266. But as the design progressed, [Ryan] realized he could put the ESP8266 to deep sleep after it sends the signal, and just use the switch to trigger a reset on the chip.

Additional improvements in the newer version of the button include switching from alkaline AA batteries to a rechargeable lithium-ion pack, and even switching over to a bare ESP8266 rather than the NodeMCU development board he was using for the first iteration.

For another take on MQTT home automation with the ESP8266, check out this automatic garage door control system. If the idea of triggering a party at the push of a button has your imagination going, we’ve seen some elaborate versions of that idea as well.

Continue reading “Evolution Of The ESP8266 Party Button”

3D Printed ESP8266 Programming Jig

The various development boards such as the NodeMCU or Wemos D1 make working with the ESP8266 an absolute breeze. If they have a downside, it is that they are larger than the bare ESP2866, and of course cost a bit more. Just as with the Arduino, once you have the wiring sorted out and the code more or less finalized, your best bet is to ditch the unnecessary support hardware and use the bare module to save space and money in your final design.

The design took a few revisions to get right

Unfortunately, the ESP8266 form factor isn’t terribly forgiving when it comes time for hooking up a programmer. Rather than having to solder a serial adapter to the chip to flash it, [Ryan] came up with a slick 3D printed programming jig that uses pogo pins. If you have to program these boards in bulk, a jig like this can save a massive amount of time and aggravation.

Beyond the 3D printed holder for the pogo pins, this programmer uses a FTDI USB-to-serial adapter, a couple passive components to smooth out the power going into the chip, and a couple buttons.

In the video after the break, [Ryan] walks through the many iterations it took to get the 3D printed aspect of the jig worked out. The design went through a few rather large revisions, including one that fundamentally changed the whole form factor. Even with the jig now working, he mentions that he might circle back around and try it from a different angle.

Programming jigs are a staple of electronics manufacturing, and we’ve covered quite a few that have helped transformed a proof of concept into a small scale production runs.

Continue reading “3D Printed ESP8266 Programming Jig”

Control A Swarm Of RC Vehicles With ESP8266

Over at RCgroups, user [Cesco] has shared a very interesting project which uses the ever-popular ESP8266 as both a transmitter and receiver for RC vehicles. Interestingly, this code makes use of the ESP-Now protocol, which allows devices to create a mesh network without the overhead of full-blown WiFi. According to the Espressif documentation, this mode is akin to the low-power 2.4GHz communication used in wireless mice and keyboards, and is designed specifically for persistent, peer-to-peer connectivity.

Switching an ESP8266 between being a transmitter or receiver is as easy as commenting out a line in the source code and reflashing the firmware. One transmitter (referred to as the server in the source code) can command eight receiving ESP8266s simultaneously. [Cesco] specifically uses the example of long-range aircraft flying in formation; only coming out of the mesh network when it’s time to manually land each one.

[Cesco] has done experiments using both land and air vehicles. He shows off a very hefty looking tracked rover, as well as a quickly knocked together quadcopter. He warns the quadcopter flies like “a wet sponge”, but it does indeed fly with the ESP’s handling all the over the air communication.

To be clear, you still need a traditional PPM-compatible RC receiver and transmitter pair to use his code. The ESPs are simply handling the over-the-air communication. They aren’t directly responsible for taking user input or running the speed controls, for example.

This isn’t the first time we’ve seen an ESP8266 take the co-pilot’s seat in a quadcopter, but the maniacal excitement we feel when considering the possibility of having our very own swarm of flying robots gives this particular project an interesting twist.

Massive Shift Register Switches Lights

Sometimes you have to switch a light. Maybe it’s an LED but sometimes it’s mains-powered. That’s not too hard, a transistor and a relay should do it. If you have to switch more lights, that’s not too bad either, as long as your microcontroller has enough free GPIOs. But, if you need to switch a large number of lights, like 256 of them, for example, you’re going to need something else.

[Jan]’s project didn’t switch quite that many lights, but 157 of them is still enough of a chore to need a creative solution so he decided to use a 256-bit shift register to do the legwork. The whole thing is powered by a NodeMCU ESP8266 and was professionally built on DIN rails in a metal enclosure.

The build is interesting, both from a technical point of view and from an artistic one. It looks like it uses more than a mile of wiring, too. The source code is also available on the project page if you happen to have a need for switching a huge number of lightbulbs. Incandescent blulbs aren’t only good for art installations and lamps, though, they can also be used in interesting oscillator circuits too.

IoT Chore Reminder For The Serially Forgetful

The secret to domestic bliss often lies in attention to detail, an area in which we can all do a little better. But if paper notes and smartphone reminders are not enough to help you remember to knock jobs off your list, perhaps this IoT task reminder will give you the edge you need to keep the peace at home.

As [Andreas Spiess] points out, his best intentions of scheduling recurring tasks in Google Calendar were not enough to keep him on on top of his share of chores around the house. He found that the notifications popping up on his phone were far too easy to swipe away in favor of other distractions, so he set about building a real-world reminder. His solution uses a WeMOS D1 Mini in a bright blue 3D-printed box with from one to four LED switches on the front. Each box is linked to his Google Calendar, and when a task comes due, its light turns on. Sprinkled about the house near the task, like the laundry room or near the recycling, [Andreas] can’t help but see the reminder, which only goes out when he cancels it by pressing the task button. Simple but effective, and full of potential for other uses too.

Of course, the same thing could be accomplished with a Magic Mirror build, which we’ve seen a lot of over the years. But there’s something about the simplicity of these devices and their proximity to the task that makes sense — sort of like the Amazon Dash concept. We might build a few of these too.

Continue reading “IoT Chore Reminder For The Serially Forgetful”

Look Out Nest — Here Comes The WIoT-2

[Dave] is an avid hacker and no stranger to Hackaday. When he decided to give his IoT weather display an upgrade, he pulled out all the stops.

The WIoT-2 is less of a weather station and more of an info center for their house — conveniently located by their front door — for just about anything [Dave] or his partner need to know when entering or exiting their home. It displays indoor temperature and humidity, date, time, garbage collection schedule, currency exchange rates, whether the garage door is open or closed, the hot tub’s temperature, a check in for his kids, current weather data from a custom station [Dave] built outside his house, and the local forecast.

WIoT-2’s display is a Nextion TFT and the brains behind the operation is a NodeMCU 8266. He made extensive use of Blynk to handle monitoring of the various feeds, and will soon be integrating master control for all the networked outlets in the house into the system. He found setting up the hardware to be fairly clear-cut but notes that he cannot have the screen powered on when uploading sketches to the NodeMCU.  He circumvented the problem by adding a latching switch to the screen’s power line.

[Dave] curated a robust explanation of his build that includes tips, tricks, code — and a how-to to boot! If you’re not already starting your own build of this info suite, you may be tantalized by some of his other projects.

Continue reading “Look Out Nest — Here Comes The WIoT-2”