What will we listen to at Neo-Pangea today, Rage Against the Machine or B.B. King? What if Monday morning is too soon for the musical stylings of Zack de la Rocha? Since musical ambiance is an essential part of creative atmosphere, we’ve equipped our office with a multi-room Sonos system, which allows us to combine our vast musical library with streaming services such as Spotify, Pandora, and SiriusXM and wirelessly stream our eclectic portfolio of sound throughout the building.
Access to all the world’s music sounds fantastic, but the dark truth is that Pandora (or Griffin, who keeps playing Disney songs… he really, REALLY wants to build a snowman) will occasionally torment us with songs that boil our collective blood. To save what sanity we have left, we set out to create a solution to deal with the tortuous blasting of terrible tunes in a way that gamifies our music selection and brings the control into the physical world.
We keep our office atmosphere here fun and loose, so we asked ourselves a simple question: could we take the one common thing everyone has at their desk, Nerf Blasters, and use them to control the Sonos? TL;DR= yes. At Neo-Pangea, we now duel for musical control using our Nerf weapons of choice. By exhibiting expert marksmanship, we can change the music to our liking.
Our Royal Alchemist, Jason Morris, has crafted a unique music-changing device that combines our diversified taste in music and our arsenal of Nerf Blasters. Jason and his team combined Sonos, Nerf Blasters and Raspberry Pi to create the ultimate music changer: the Boombox Blaster.
Very recently, Sonos made modifications to their API (Application Program Interface) that allowed different technologies to interface with the Sonos music controller. We tapped into this API using a Node.js script to build our own application that accepts commands to control our music system. The app has to live on a server, but since we didn’t want to shoot at a big computer hanging over our heads, we decided to utilize a Raspberry Pi – a tiny, stripped-down, low-cost computer that plugs into monitors, TVs, and electronic devices. In short, it’s a teeny-tiny Linux server that you can use to run your application, or in this case, to connect with the Sonos API.
After we got the application running and changing songs at our command, we needed an input device, like a button, to tell the application when we hate a song with the burning fury of a thousand suns and to please make it go away. Sure, a basic approach would be to put a switch or doorbell-like button on a table and let people press it… but we don’t do basic. We do shooting Nerf blasters all day. And so, almost immediately after conceiving of the basic idea, we knew the input device had to be a target.
In our testing phase, we used a variety of different sensors to detect if a Nerf dart found its mark: force, tilt, vibration, and even piezo. By using breadboards, we saved a lot of time in prototyping by avoiding soldering our connections each time.
Each sensor had its own quirk. Force sensors weren’t sensitive enough pick up the tiny-and-light-by-design Nerf dart’s impact; we discovered a light finger touch had more force. Tilt sensors were also not sensitive enough to detect the movement from the impact of the darts. Piezo equipment detects vibrations from sounds, but that was counterproductive; music provides its own vibration.
What we finally implemented was a medium vibration sensor, which relies on the vibration of internal springs. With the sensor in place, we used a script that combined Arduino and Python to take the vibration data and notify the application that a strike has been detected. This allowed our plug-in to communicate with the Raspberry Pi and activate the “Next Track” command, banishing the offending song to the land of wind and ghosts.
Out next step was to design the target. We needed something that was simple, yet large enough for our Arduino sensors to detect when a connection was made. Our first target was a Japanese paper lantern; while it was effective, we thought the look needed a little something extra. Griffin, our Electrographic Synthesist and self-professed Disney soundtrack aficionado, incorporated the lantern into an airship design befitting the aesthetics of our office.
The end result of the Boombox Blaster is that we didn’t just create a cool remote for our Sonos system; we also democratized and gamified a task that was a frustration point in the office and further experimented with practical computing, which was a big part of our Intern Abuser experience. Bringing the control into the physical space makes it easy for anyone to quickly change the aural atmosphere and have a little fun doing it. Next up in the development pipeline: a component to shock Griffin whenever a Disney song plays.
Learn more on our portfolio page!