Custom Firmware Teaches USB Relay Board New Tricks

If you’re looking for a quick and easy way to control a few devices from your computer, a cheap USB relay board might be the ideal solution. These are fairly simple gadgets, consisting of little more than a microcontroller and a handful of relays. But that doesn’t mean there isn’t room for improvement, and as [Michał Słomkowski] recently demonstrated, flashing these boards with a custom firmware allows the user to modify their default functionality.

In his case, [Michał] wanted to build a power strip that would cut the power to any devices plugged into it once his computer went to sleep. Unfortunately, he couldn’t just check to see if there was 5 V on the line as his motherboard kept the USB ports powered up all the time. But with some modifications to the relay board’s firmware, he reasoned he should be able to detect if there was any USB activity by watching for the start-of-frame packet that goes out every millisecond when the bus is active.

Wiring up the ATtiny45 for flashing.

Now [Michał] isn’t claiming to be the first person to come up with a custom firmware for one of these boards, in fact, he credits an existing open source firmware project as an inspiration for his work. But he did create an entirely new GPLv3 firmware for these ATtiny45 powered devices, which includes among other improvements the latest version of V-USB. As it so happens, V-USB includes start-of-frame packet detection out of the box, which made it much easier to implement his activity detection code.

With the new firmware flashed to the relay board’s chip, [Michał] put it in an enclosure and wired up the outlets. But there was still one missing piece of the puzzle. It seems that Linux won’t actually send out the start-of-frame packets unless its actively communicating with a USB device, as part of the so-called “selective suspend” power saving feature. Luckily there is support for disabling this feature for specific devices based on their Vendor/Product ID pair, so after a little udev fiddling, everything was working as expected.

We love custom firmware projects here at Hackaday. Not only do they keep proprietary software out of our devices, but they often unlock new and expanded capabilities which otherwise would be hidden behind artificial paywalls.

This ESP8266 Dev Board Has A Surprising Story Behind It

If you’re looking to get started with the ESP8266, there’s no shortage of development boards out there to select from. But we don’t think you’ll find one with a more unique a backstory than the open source ME-ESP8266. That’s because Malouf, the company that makes the $20 USD board, is a home goods company better known for their pillows and bed frames.

So how do you go from mattress toppers to microcontrollers? Well, as unlikely as it might seem, the missing element is Toys R’ Us. Or more specifically, the liquidation of Toys R’ Us. A Texas distribution center Malouf purchased from the iconic toy retailer included an automated conveyor belt system to move product through the gargantuan building, but unfortunately, they couldn’t get it to work with their existing system. The company decided to use their in-house team of engineers to solve the problem, and the ME-ESP8266 was born.

It turns out that an ESP8266 board developed to move bedding around an old Toys R’ Us warehouse has a lot of useful features for hackers and makers. It’s got an integrated relay, 16 MB of flash storage, an IR receiver, beefy screw terminals, and a 2.54mm-pitch GPIO pin header. There’s even a MAX232 on the board so it can talk to RS-232 devices. The hardware is compatible with the standard Arduino IDE as a “Generic ESP8266 Module”,  so you’ll have no problem using existing libraries and example code.

Now under normal circumstances, the public would never know about this sort of behind the scenes engineering. But instead of keeping their new ESP board to themselves, the team at Malouf got the go ahead from the company’s Chief Technology Officer (CTO) to release it as an open source project. Even more impressive, they got the company to put the board into production so it could be sold to the public. So today we not only learned that bedding companies have CTOs, but that they can be exceptionally open-minded.

Our hats off to the engineers at Malouf and the forward thinking brass that green lit production of the ME-ESP8266. It’s not the first interesting development to come from the liquidation of Geoffrey’s kingdom, but it just might be the most useful.

The Vibrating Reed Inverter: Possibly The Simplest Inverter You Can Make

Those of us who work on the road have a constant dread of being stuck somewhere without power, facing a race between a publication deadline and a fast-failing laptop battery. We’re extremely fortunate then to live in an age in which a cheap, lightweight, and efficient solid-state switch-mode inverter can give us mains power from a car cigarette lighter socket and save the day. Before these inverters came much heavier devices whose transistors switched at the 50Hz line speed, and before them came electromechanical devices such as the rotary converter or the vibrating reed inverter. It’s this last type that [Robert Murray-Smith] has taken a look at, making what he positions as the simplest inverter that it’s possible.

If you’ve ever played with relays, you’ll probably be aware that a relay can be wired as a buzzer, and it’s this property that a vibrating reed inverter harnesses. He takes an octal relay and wires it up with a small mains transformer for an immediate and very cheap inverter. It’s not perfect, as he points out the frequency isn’t right. The relay will eventually wear out unless the arcing problem is improved with the addition of a capacitor. But it does make a rough and ready inverter if you find yourself in a MacGyver-style tight spot with only your junk box for salvation.

If inverters pique your interest, it might benefit you to know how they work.

Continue reading “The Vibrating Reed Inverter: Possibly The Simplest Inverter You Can Make”

A Smart Way To Wire Smart Switches

Smart switches are fun, letting you control lights and appliances in your home over the web or even by voice if you’re so inclined. However, they can make day-to-day living more frustrating if they’re not set up properly with regards to your existing light switches. Thankfully, with some simple wiring, it’s possible to make everything play nice.

The method is demonstrated here by [MyHomeThings], in which an ESP8266 is used with a relay to create a basic smart switch. However, it’s wired up with a regular light switch in a typical “traveller” multiway switching scheme – just like when you have two traditional light switches controlling the same light at home. To make this work with the ESP8266, though, the microcontroller needs to be able to know the current state of the light. This is done by using a 240V to 3.3V power supply wired up in parallel with the light. When the light is on, the 3.3V supply is on. This supply feeds into a GPIO pin on the ESP8266, letting it know the light’s current state, and allowing it to set its output relay to the correct position as necessary.

This system lets you use smart lighting with traditional switches with less confused flipping, which is a good thing in our book. If you’re using standalone smart bulbs, however, you could consider flashing them with custom firmware to improve functionality. As always, if you’ve got your own neat smart lighting hacks, be sure to let us know!

Reverse-Engineering An Elevator Control Panel Results In Clicky Goodness

We have to admit that in the hardware hacking universe, there aren’t generally too many chances to hack elevators. Well, at least not opportunities that don’t also include the risk of incarceration. But fortune favors the bold, and when he found the remains of an elevator control panel in an abandoned Croatian resort hotel, [Davor Cihlar] undertook an extensive and instructive reverse-engineering of the panel.

The video below highlights his efforts, which were considerable given the age and state of the panel. This is a relay-only control panel, after all, with most of the relays missing and a rat’s nest of wires connecting the sockets. So [Davor] put his “RevIng” concept to work. This uses a custom PCB with a microcontroller on-board that plugs into each relay socket and probes the connections between it and every other socket. Very clever stuff, and it presented him with the data needed to develop a ladder-logic diagram of the board, with the help of some custom software.

With the original logic in hand, [Davor] set about building a simulator for the panel. It’s a lovely piece of work, with buttons and lights to mimic the control panel inside the elevator car, as well as the call stations that would have graced each lobby of the hotel. Interestingly, he found logic that prevented the elevator from being called to some floors from anywhere but inside the car. The reason remains a mystery, but we suppose that a hotel built by Penthouse publisher [Bob Guccione] would have plenty of secrets.

We love the supremely satisfying clickiness of this build, and the reverse engineering prowess on display, but we can’t find much practical use for something like this. Then again, DIY elevators are a thing.

Continue reading “Reverse-Engineering An Elevator Control Panel Results In Clicky Goodness”

Homebrew Relay Computer Looks Like It Could Be A Commercial Product

You may not have noticed, but we here at Hackaday really love our clicky stuff. Clicky mechanical keyboards, unnecessarily noisy flip-dot displays, and pretty much anything made with a lot of relays — they all grab our attention, in more ways than one. So it’s with no small surprise that we appear to have entirely missed perhaps the clickiest build of all: a fully operational 8-bit computer using nothing but relays.

What’s even more amazing about our failure to find and feature [Paul Law]’s excellent work is that he has been at it for the better part of a decade now. The first post on his very detailed and very well-crafted blog describing the build dates from 2013, when he was just testing LEDs in the arithmetic-logic unit (ALU). Since then, [Paul] has made incredible progress, building module after module, each containing a small portion of the computer’s functionality. The modules plug into card cages with backplanes to connect them, and the whole thing lives in an enclosure made from aluminum extrusion and glossy black panels for a truly sleek look. The computer is incredibly compact for something that uses 400+ DPDT relays to do its thinking.

In addition to the blog, [Paul] has a criminally undersubscribed YouTube channel with a quite recent series going over the computer in depth. We included the overall tour below, but you should really check out the rest of the videos to appreciate how much work went into this build. We’ve seen relay computers ranging in size from single-board to just plain ludicrous, but this one really takes the prize for fit and finish as well as functionality.

Continue reading “Homebrew Relay Computer Looks Like It Could Be A Commercial Product”

Industrial Stack Light Keeps An Eye On Prusa Mini

When most people want to keep tabs on what their 3D printer is up to while they’re out and about, they’ll install OctoPrint on a Pi and be done with it. But what if you’re just on the other side of the room? Inspired by the stack lights used on factory floors, [Jeff Glass] decided to add a similar system to his Prusa Mini so he could see what it’s up to at a glance.

It turns out you can get these lights pretty cheaply online from the usual retailers, and as [Jeff] explains in the video after the break, driving them is about as easy as it gets. Rather than being some kind of addressable device, they generally have a single common 12 or 24 volt DC wire and ground lines for each color. With a USB controlled relay board, kicking on the appropriate light is simple from your operating system of choice.

What ended up being a bit harder was finding out what the Prusa Mini was up to. The printer offers up a simple status web page, but it has a few oddball quirks that make it difficult to scrape; such as presenting a little pop-up message that you have to manually close each time you load the page. But after spending some time with the powerful Selenium library for Python, he was able to create a script that worked its way through the UI and pulled the relevant status messages. Obviously the resulting code is Prusa specific, but the general concept would work on other printers assuming you can find a reliable way to pull the device’s current status.

After coming up with a wall mounted enclosure for the electronics that doubles as a mount for the light itself, [Jeff] can now see if his printer needs attention from clear across the room. An especially nice feature when the printer is all buttoned up inside of its enclosure.

Continue reading “Industrial Stack Light Keeps An Eye On Prusa Mini”