Amazon Dash Reboots Your Pi

We all know feature creep can be a problem in almost any project. A simple idea can often become unusable if a project’s scope isn’t clearly defined in the beginning. However, the opposite problem sometimes presents itself: forgetting to include a key feature. [Zach] had this problem when he built a Raspberry Pi magic mirror and forgot to build a physical reset/shutoff switch. Luckily he had a spare Amazon Dash button and re-purposed it for use with his Pi.

The Raspberry Pi doesn’t include its own on/off switch. Without installing one yourself, the only way to turn off the device (without access to the terminal) is to unplug it, which can easily corrupt data on the SD card. Since [Zach]’s mirror was already complete, he didn’t want to take the entire thing apart just to install a button. There’s already a whole host of applications for the Dash button, so with a little Node.js work on the Raspberry Pi he was able to configure a remote-reset button for his mirror.

This is a similar problem for most Raspberry Pi owners, so if you want to follow [Zach]’s work he has done a great job detailing his process on his project site. If you’re looking for other uses for these convenient network-enabled buttons, he also links to a Github site with lots of other projects. This pizza button is probably our favorite, though.

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!

Bamboo Plant Becomes A Stylish Light Switch

If flipping a regular old light switch or pressing buttons isn’t an adequately pleasing way to use your appliances around the house, how about poking at the leaves of a plant to turn on your lamp? [Xkitz] has provided a thorough breakdown of how to turn any conductive object in your living space into a nifty capacitive touch switch that adds a bit of charm to such an everyday action.

Creating an electrostatic field around a conductive medium, the capacitive touch relay constantly monitors this field and will toggle when any minuscule change to the capacitance is detected. [Xkitz] uses a bamboo plant as his trigger. Gently touching any leaf will still act as an adequate trigger — as cool demonstration of how the electrostatic field works.

Continue reading “Bamboo Plant Becomes A Stylish Light Switch”

Interesting Switch Autopsy

We put a lot of trust into some amazingly cheap components, sometimes that trust is very undeserved. Long gone are the days when every electronic component was a beautifully constructed precision lab instrument.  As [Rupert Hirst] shows, this can be a hard lesson to learn for even the biggest companies.

[Rupert]’s Nexus 5 was suffering from a well known reboot issue. He traced it to the phone’s power switch. It was always shorting to ground, even though it clicked like it was supposed to.

He desoldered the switch and pried the delicate sheet metal casing apart. Inside were four components. A soft membrane with a hard nub on the bottom, presumably engineered to give the switch that quality feeling. Next were two metal buckles that produced the click and made contact with the circuit board, which is the final component.

He noticed something odd and  busted out his USB microscope. The company had placed a blob of solder on the bottom buckle. We think this is because steel on copper contact would lead to premature failure of the substrate, especially with the high impact involved during each switching event.

The fault lay in the imprecise placement of the solder blob. If it had been perfectly in the middle, and likely many phones that never showed the issue had it there, the issue would have never shown up. Since it was off-center, the impact of each switching event slowly deposited thin layers of solder onto the copper and fiberglass. Finally it built up enough to completely short the switch.

Interestingly, this exact problem shows up across different phone manufacturers, somewhere there’s a switch company with a killer sales team out there.

Physical Kill Switch For Rogue Applications

Necessity is the mother of invention, but sometimes frustration is as good a motivator. [Maciej] does a bunch of statistics in his day job using SPSS. silaczLike most complicated pieces of software, it can get hung, and the only way to stop it is to manually kill the running processes. Apparently, that happened one time too many for [Maciej].

He took matters into his own hands, repurposing a big red emergency-stop button for the task. It’s mounted on a jar, and the microcontroller inside is configured as a USB keyboard. When he mashes the button, it opens the “Run…” menu and types out taskkill spssengine.exe for him.

We can totally see the therapeutic value of such a device. Plus, in case SPSS is gobbling up his system memory and everything’s approaching standstill, the vital seconds saved by the microcontroller’s quick-typing fingers could be a lifesaver.


[glitch] had a cheap EPROM eraser with very few features. Actually, that might be giving it too much credit: it’s barely more than a UV light that turns on when it’s plugged in and turns off when it’s plugged out unplugged. Of course it would be nice to implement some safety features, so he decided he’d hook it up to a software-controlled power outlet.

Of course, controlling a relay that’s wired to mains is old hat around here, and in fact, we’ve covered [glitch]’s optoisolated mains switch already. He’s gone a little beyond the normal mains relay project with this one, though. Rather than use a microcontroller to run the relay, [glitch] wrote a simple Ruby script on his computer to turn the EPROM eraser on for the precise amount of time that is required to erase the memory.The Ruby script drives the relay control directly over a USB to serial adapter’s RTS handshake pin.

[glitch]’s hack reminds us that if you just need a quick couple bits of slow output, a USB-serial converter might be just the ticket. You could imagine driving everything from standard lamps to your 3D printer’s bed heater (provided you use similar hardware), but it’s especially helpful for [glitch] who claims to forget to turn off the eraser when it’s done its job, which leaves a potentially dangerous UV source just lying about. It’s always a good idea to add safety features to a dangerous piece of equipment!

Reverse Engineering how a USB Switch Switches

[Daniel] found himself with a need to connect a single USB device to two Linux servers. After searching around, he managed to find an inexpensive USB switch designed to do just that. He noticed that the product description mentioned nothing about Linux support, but he figured it couldn’t be that hard to make it work.

[Daniel] started by plugging the device into a Windows PC for testing. Windows detected the device and installed an HID driver automatically.  The next step was to install the control software on the Windows system. This provided [Daniel] with a tray icon and a “switch” function. Clicking this button disconnected the HID device from the Windows PC and connected the actual USB device on the other side of the USB switch. The second computer would now have access to the HID device instead.

[Daniel] fired up a program called SnoopyPro. This software is used to inspect USB traffic. [Daniel] noticed that a single message repeated itself until he pressed the “switch” button. At that time, a final message was sent and the HID device disconnected.

Now it was time to get cracking on Linux. [Daniel] hooked up the switch to a Linux system and configured a udev rule to ensure that it always showed up as /dev/usbswitch. He then wrote a python script to write the captured data to the usbswitch device. It was that simple. The device switched over as expected. So much for having no Linux support!