An ESP8266 in Every Light Switch and Outlet

[Hristo Borisov] shows us his clever home automation project, a nicely packaged WiFi switchable wall socket. The ESP8266 has continuously proven itself to be a home automation panacea. Since the ESP8266 is practically a given at this point, the bragging rights have switched over to the skill with which the solution is implemented. By that metric, [Hristo]’s solution is pretty dang nice.

esp8266-smart-lightswitchIt’s all based around a simple board. An encapsulated power supply converts the 220V offered by the Bulgarian power authorities into two rails of 3.3V and 5V respectively. The 3.3V is used for an ESP8266 whose primary concern is the control of a triac and an RGB LED. The 5V is optional if the user decides to add a shield that needs it. That’s right, your light switches will now have their own shields that decide the complexity of the device.

The core module seen to the right contains the actual board. All it needs is AC on one side and something to switch or control on the other The enclosure is not shown (only the lid with the shield connectors is seen) but can be printed in a form factor that includes a cord to plug into an outlet, or with a metal flange to attach to an electrical box in the wall. The modules that mate with the core are also nicely packaged in a 3D printed shield. For example, to convert a lamp to wireless control, you use a shield with a power socket on it. To convert a light switch, use the control module that has a box flange and then any number of custom switch and display shields can be hot swapped on it.

It’s all controllable from command line, webpage, and even an iOS app; all of it is available on his GitHub. We’d love to hear your take on safety, modularity, and overall system design. We think [Hristo] has built a better light switch!

Preparing Your Product For The FCC

At some point you’ve decided that you’re going to sell your wireless product (or any product with a clock that operates above 8kHz) in the United States. Good luck! You’re going to have to go through the FCC to get listed on the FCC OET EAS (Office of Engineering and Technology, Equipment Authorization System). Well… maybe.

As with everything FCC related, it’s very complicated, there are TLAs and confusing terms everywhere, and it will take you a lot longer than you’d like to figure out what it means for you. Whether you suffer through this, breeze by without a hitch, or never plan to subject yourself to this process, the FCC dance is an entertaining story so let’s dive in!

Continue reading “Preparing Your Product For The FCC”

Drone Flies 12 cm on Wireless Power

[Sam M] wrote in with a quick proof-of-concept demo that blows our socks off: transferring enough power wirelessly to make a small quadcopter take flight. Wireless power transfer over any real distance still seems like magic to us. Check out the videos embedded below and you’ll see what we mean.

What’s noteworthy about this demo is that neither the transmitter nor the receiver are particularly difficult to make. The transmitting loop is etched into a PCB, and the receiver is made of copper foil tape. Going to a higher frequency facilitates this; [Sam M] is using 13.56 MHz instead of the kilohertz that most power-transfer projects use. This means that all the parts can be smaller and lighter, which is obviously important on a miniature quadrotor.

Continue reading “Drone Flies 12 cm on Wireless Power”

Reverse Engineering and Networking The A/C Remote Control

IoT has become such an polarizing, overused term. But here it is in its essence: [zeroflow] had a thing (his airconditioner) and he needed to put it on the Internet.

For his contribution to this modern vernacular atrocity, he first had to build an IR debugging tool and reverse engineer the signals coming from the air conditioner’s remote. He wrote up a really good summary of the process, and worth reading. He loads up an IR library onto an Arduino and dumps the resulting 32 bits of information to his computer. In a process much like filling in the blanks on a word puzzle, he eventually determines which blocks of the data correspond to the remote’s different buttons.

Next he throws an array of IR LEDS and an ESP8266 onto a bit of protoboard. After writing some code, available on GitHub, he could set the temperature of his room from anywhere on the planet. We take it on faith that [zeroflow] has a compelling reason for doing so.

Bolstered by this success, he didn’t stop there. [Zeroflow] admits to having more than one thing on the Internet. Boom! Internet of things.

Bathroom Status Reporting Hack Eliminates Lines, Frustration

In a lot of ways, portable toilets are superior to standard indoor-plumbing-style toilets. This is mostly due to the fact that they have a status indicator on the door. It’s a shame that no indoor bathrooms have figured this out yet, especially in office buildings where your awkward coworkers bang on every door rather than just check for feet in the huge gap that for some reason exists between the floor and the stall door. Anyway, [Chris] and [Daniel] came up with a solution for this issue, which also eliminates wait time for bathrooms in their office.

Their system is an automated bathroom status indicator that reports information about the bathroom’s use over WiFi. Since the bathrooms at their facility are spread out, it was helpful to be able to look up which bathroom would be free at any given moment. Several Raspberry Pis form the nerves of the project. Custom sensors were attached to a variety of different door locks to detect status. Each Pi reports back over WiFi. This accomplishes their goal of being subtle and simple. They also point out that they had to write very little code for this project since there are so many Unix and embedded hardware tools available to them. Checking the status of the bathroom can be as simple as running netcat.

If you’re looking to roll out your own bathroom status monitor solution, [Chris] and [Daniel] have made their code available on GitHub. There are a number of other ways to automate your bathroom, too, like switching the exhaust fan on when it gets too smelly or humid, or even creating a device that dispenses your toilet paper for you.

 

Retrofitted Retro Radio

In a world full of products that are only used for a brief time and then discarded, it gives a lot of us solace to know that there was a time when furniture was made out of solid wood and not particle board, or when coffee makers were made out of metal and not plastic. It’s hard to say exactly what precipitated the change to our one-time-use culture, but in the meantime there are projects that serve to re-purpose those old, durable products from another time so that they can stay relevant in today’s ever-changing world. [Jose]’s new old radio is a great example of this style of hack.

[Jose] had a 1970s-era single-speaker radio that he found in a thrift store. The first thought that he had to get the aesthetically pleasing radio working again was to install a Bluetooth receiver into the radio’s amplifier. This proved to be too time-consuming of a task, and [Jose] decided to drive the Bluetooth module off of the power circuit for the light bulb. He built a 6V AC to 4.2V DC circuit, swapped over the speaker cable, and started listening to his tunes. The modifications he made aren’t destructive, either. If he wants, he will be able to reconnect the original (and still functional) circuitry back to the speaker and pretend he’s back in 1970.

While this isn’t the most intricate hack we’ve ever featured, it’s always refreshing to see someone get use out of an old piece of technology rather than send it off to the landfill with all of our Pentium IIs or last year’s IKEA shelves that have already fallen apart. And even if the 70s aren’t your era of choice, perhaps something newer will inspire you to bust a move.

[CNLohr], ESP8266, USB…

“Round up the usual suspects…”

[CNLohr] just can’t get enough of the ESP8266 these days — now he’s working on getting a version of V-USB software low-speed USB device emulation working on the thing. (GitHub link here, video also embedded below.) That’s not likely to be an afternoon project, and we should warn you that it’s still a project in progress, but he’s made some in-progress material available, and if you’re interested either in USB or the way the mind of [CNLohr] works, it’s worth a watch.

In this video, he leans heavily on the logic analyzer. He’s not a USB expert, and couldn’t find the right resources online to implement a USB driver, so he taught himself by looking at the signals coming across as he wiggled a mouse on his desk. Using the ever-popular Wireshark helped him out a lot with this task as well. Then it was time to dig into Xtensa assembly language, because timing was critical.

Speaking of timing, one of the first things that he did was write some profiling routines so that he could figure out how long everything was taking. And did we mention that [CNLohr] didn’t know Xtensa assembly? So he wrote routines in C, compiled them using the Xtensa GCC compiler, and backed out the assembly. The end result is a mix of the two: assembly when speed counts, and C when it’s more comfortable.

Continue reading “[CNLohr], ESP8266, USB…”