Hackaday editors Elliot Williams and Mike Szczys gab on great hacks of the past week. Did you hear that there’s a new rev of the Pi 4 out there? We just heard… but apparently it’s release into the wild was months ago. Fans of the ESP8266 are going to love this tool that flashes and configures the board, especially for Sonoff devices. Bitluni’s Supercon talk was published this week and it’s a great roadmap of all the things you should try to do with an ESP32. Plus we take on the Sonos IoT speaker debacle and the wacky suspension system James Bruton’s been building into his humanoid robot.
Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!
We’re trying to figure out whether Sonos was doing the right thing, and it’s getting to the point where we need pins, a corkboard, and string. Sonos had been increasing the functionality of its products and ran into a problem as they hit a technical wall. How would they keep the old speakers working with the new speakers? Their solution was completely bizarre to a lot of people.
First, none of the old speakers would receive updates anymore. Which is sad, but not unheard of. Next they mentioned that if you bought a new speaker and ran it on the same network as an old speaker, neither speaker would get updates. Which came off as a little hostile, punishing users for upgrading to newer products.
The final bit of weirdness was their solution for encouraging users to ditch their old products. They called it, “trading in for a 30% discount”, but it was something else entirely. If a user went into the system menu of an old device and selected to put it in “Recycle Mode” the discount would be activated on their account. Recycle Mode would then, within 30 days, brick the device. There was no way to cancel this, and once the device was bricked it wouldn’t come back. The user was then instructed to take the Sonos to a recycling center where it would be scrapped. Pictures soon began to surface of piles of bricked Sonos’s. There would be no chance to sell, repair, or otherwise keep alive what is still a fully functioning premium speaker system.
Why would a company do this to their customers and to themselves? Join me below for a guided tour of how the downsides of IoT ecosystem may have driven this choice.
When [Chris Campbell]’s children wanted to play an album in the background over dinner, switching the outputs on his family’s Sonos sound system was perhaps too involved for their budding mastery of technology. This got him thinking about using kid-friendly inputs so they could explore his music collection. Blending QR codes, some LEGO, and a bit of arts and crafts, a kid-friendly QR code reader media controller comes out!
Working with a Raspberry Pi 3 Model B and a cheap camera, [Campbell] whipped up some code to handle producing and reading the QR codes — though he’s running the media server on another computer to maintain fast response times. Once [Campbell] had his QR codes, he printed them out and got his kids involved in cutting and gluing the double-sided cards. Additional cards access different functions — starting a playlist queue, switching output channels, and full album playback, among others. Cue spontaneous dance-parties!
[Jason] has a Sonos home sound system, with a bunch of speakers connected via WiFi. [Jason] also has a universal remote designed and manufactured in a universe where WiFi doesn’t exist. The Sonos can not be controlled via infrared. There’s an obvious problem here, but luckily tiny Linux computers with WiFi cost $10, and IR receivers cost $2. The result is an IR to WiFi bridge to control all those ‘smart’ home audio solutions.
The only thing [Jason] needed to control his Sonos from a universal remote is an IR receiver and a Raspberry Pi Zero W. The circuit is simple – just connect the power and ground of the IR receiver to the Pi, and plug the third pin of the receiver into a GPIO pin. The new, fancy official Raspberry Pi Zero enclosure is perfect for this build, allowing a little IR-transparent piece of epoxy poking out of a hole designed for the Pi camera.
For the software, [Jason] turned to Node JS, and LIRC, a piece of software that decodes IR signals. With the GPIO pin defined, [Jason] set up the driver and used the Sonos HTTP API to send commands to his audio unit. There’s a lot of futzing about with text files for this build, but the results speak for themselves: [Jason] can now use a universal remote with everything in his home stereo now.
One of the problems that has accompanied the advent of ever more complex home entertainment systems is the complexity of the burgeoning stack of remote controls that manifest themselves alongside your system. It doesn’t matter if you have a fancy does-the-lot universal remote, you are still left with a slew of functions to perform before you can sit down to enjoy the music.
[Robert Cowan] had this problem with his whole-house audio system. Playing music required a fiddle with the remote, and the moment was gone. What was needed was an automatic system that simply issued the relevant commands to the stereo without all the fuss.
His solution was to have everything happen when an audio output was detected from his Sonos Connect streaming media player. He tried rectifying its line output to detect music but hit problems, so instead used a SparkFun audio detector module. This in turn speaks to an Arduino, which then talks via a level shifter to the stereo’s RS232 port. [Robert] included all the relevant parts, schematic, and software is links in the video description. It’s a project that should almost be a feature built into a decent stereo, yet the manufacturers prefer the awful interfaces of their remote controls.
Not everyone can agree on what good music is, but in some cases you’ll find that just about everyone can agree on what is awful. That’s what the people over at Neo-Pangea discovered when they were listening to Internet radio. When one of those terrible songs hits their collective eardrums, the group’s rage increases and they just need to skip the track.
Rather than use a web app or simple push button to do the trick, they turned the “skip” button into a NERF target. They call their creation the Boom Box Blaster and made a fantastic demo film video about it which is found after the break.
Inspired by a painting in the office, the target takes the form of a small hot air balloon. The target obviously needed some kind of sensor that can detect when it is hit by a NERF dart. The group tried several different sensor types, but eventually settled on a medium vibration sensor. This sensor is connected to an Arduino, which then communicates with a Raspberry Pi over a Serial connection. The Pi uses a Python script to monitor the Arduino’s vibration sensor. The system also includes some orange LEDs to simulate flames and a servo attached to the string which suspends the balloon from the ceiling. Whenever a hit is registered, the flames light up and the balloon raises into the air to indicate that the shot was on target.