Photo of the Echo Dot PCB, highlighting the capacitor that needs to be shorted out for the exploit to work

Squeezing Secrets Out Of An Amazon Echo Dot

As we have seen time and time again, not every device stores our sensitive data in a respectful manner. Some of them send our personal data out to third parties, even! Today’s case is not a mythical one, however — it’s a jellybean Amazon Echo Dot, and [Daniel B] shows how to make it spill your WiFi secrets with a bit of a hardware nudge.

There’s been exploits for Amazon devices with the same CPU, so to save time, [Daniel] started by porting an old Amazon Fire exploit to the Echo Dot. This exploit requires tactically applying a piece of tin foil to a capacitor on the flash chip power rail, and it forces the Echo to surrender the contents of its entire filesystem, ripe for analysis. Immediately, [Daniel] found out that the Echo keeps your WiFi passwords in plain text, as well as API keys to some of the Amazon-tied services.

Found an old Echo Dot at a garage sale or on eBay? There might just be a WiFi password and a few API keys ripe for the taking, and who knows what other kinds of data it might hold. From Amazon service authentication keys to voice recognition models and maybe even voice recordings, it sounds like getting an Echo to spill your secrets isn’t all that hard.

We’ve seen an Echo hijacked into an always-on microphone before, also through physical access in the same vein, so perhaps we all should take care to keep our Echoes in a secure spot. Luckily, adding a hardware mute switch to Amazon’s popular surveillance device isn’t all that hard. Though that won’t keep your burned out smart bulbs from leaking your WiFi credentials.

Voice Without Sound

Voice recognition is becoming more and more common, but anyone who’s ever used a smart device can attest that they aren’t exactly fool-proof. They can activate seemingly at random, don’t activate when called or, most annoyingly, completely fail to understand the voice commands. Thankfully, researchers from the University of Tokyo are looking to improve the performance of devices like these by attempting to use them without any spoken voice at all.

The project is called SottoVoce and uses an ultrasound imaging probe placed under the user’s jaw to detect internal movements in the speaker’s larynx. The imaging generated from the probe is fed into a series of neural networks, trained with hundreds of speech patterns from the researchers themselves. The neural networks then piece together the likely sounds being made and generate an audio waveform which is played to an unmodified Alexa device. Obviously a few improvements would need to be made to the ultrasonic imaging device to make this usable in real-world situations, but it is interesting from a research perspective nonetheless.

The research paper with all the details is also available (PDF warning). It’s an intriguing approach to improving the performance or quality of voice especially in situations where the voice may be muffled, non-existent, or overlaid with a lot of background noise. Machine learning like this seems to be one of the more powerful tools for improving speech recognition, as we saw with this robot that can walk across town and order food for you using voice commands only.

Continue reading “Voice Without Sound”

Google Sheet showing wins and losses of sports team. Data automated by IFTTT, Alexa, and Particle

An Overly Complicated Method Of Tracking Your Favorite Sports Team

Much of the world appears to revolve around sports, and sports tracking is a pretty big business. So how do people keep up with their favorite team? Well, [Jackson] and [Mourad] decided to devise a custom IoT solution.

Their system is a bit convoluted, so bear with us. First, they tell Alexa whether or not the team won or lost that week. Alexa then sends that information to IFTTT where two different Particle Argon boards are constantly polling the results to decide how to respond next. One Particle responds by lighting up an LED, green for a win and red for a loss. Another Particle board displays the results on an LCD screen. But this is where things get tricky. One of the more confusing aspects of their design is one of the Particle boards then signals back to IFTTT, telling it to tally the number of wins and losses. This seems a bit roundabout since the system started with IFTTT in the first place. Regardless, they seemed to be happy with the result and I’m sure they learned something in the process.

This project might not fulfill any functional need given that Alexa knows everything about all our lives already and you could just ask her how your favorite team is doing whenever you want to. But hey, we’re all about learning by doing here at Hackaday and we’re all guilty of building useless projects here and there just because we can. In any case, their project could serve as a good intro to integrating your Particle with IFTTT or Alexa since there appears to be quite a bit of probably unnecessary handshaking going on here.

Continue reading “An Overly Complicated Method Of Tracking Your Favorite Sports Team”

Wall of video games

Consoles, Consoles On The Wall, Can Alexa Help Me Play Them All?

If you’ve got a collection of classic game consoles, finding the space to set them all up can be a challenge. But the bigger problem is figuring out how to hook them all up to a TV that, at best, might only have two or three inputs. [odelot] recently wrote in to tell us how he solved both problems with his voice-controlled wall of gaming history.

To mount the systems to the wall, [odelot] designed and printed angled brackets that attach to specially shaped pieces of 3 mm MDF. They do a pretty good job of holding the systems at a visually interesting angle while making themselves scarce, with only the notoriously slick-bottomed Wii needing some extra clips on the front to keep it from sliding off. He also printed up a series of blocks and pipes, no doubt a reference to Mario Bros., to hold the power and video cables for each system.

Prototype version of electronics on breadboardAs to connecting them all up to his TV, [odelot] picked up an eight-device Extron VGA switch that features a serial port for remote control. After getting all the systems adapted over to the appropriate video standard, he then wired an ESP8266 to the switch and wrote some code that ties it into Amazon’s Alexa voice assistant.

By just saying the name of the system he wants to play, the microcontroller will flick the switch over to the appropriate input and turn on a ring of blue LEDs under the appropriate shelf to signify which console has been selected. There’s even an array of solid state relays that will eventually control the mains power going to each system, though [odelot] hasn’t fully implemented it yet. Currently the electronics for this project live on a fairly packed breadboard, but it looks like he’s in the early stages of designing a proper PCB to clean it all up.

Not content to simply control a commercial A/V switch? In the past we’ve seen truly dedicated console collectors design their own custom switches from the ground up, complete with a display to show the currently selected system’s logo.

Continue reading “Consoles, Consoles On The Wall, Can Alexa Help Me Play Them All?”

Alexa, Bring Me A Beer!

Voice controlled home assistants are the wonder of our age, once you’ve made peace with the privacy concerns of sharing the intimacies of your life with a data centre owned by a massive corporation, anyway. They provide a taste of how the future was supposed to be in those optimistic predictions of decades past: Alexa and Siri can crack jokes, control your lights, answer questions, tell you the news, and so much more.

But for all their electronic conversational perfection, your electronic pals can’t satisfy your most fundamental needs and bring you a beer. This is something [luisengineering] has fixed, an he’s provided the appropriate answer to the question “Alexa: bring mir ein bier!“. The video which we’ve also put below the break is in German with YouTube’s automatic closed captions if you want them, but we think you’ll be able to get the point of it if not all his jokes without needing to learn to speak a bit of Deutsch.

As he develops his beer-delivery system we begin to appreciate that what might seem to be a relatively straightforward task is anything but. He takes an off-the-shelf robot and gives it a beer-bottle grabber and ice hopper, but the path from fridge to sofa still needs a little work. The eventual solution involves a lot of trial and error, and a black line on the floor for the ‘bot to follow. Finally, his electronic friend can bring him a beer!

We like [Luis]’s entertaining presentational style, and the use of props as microphone stands. We’ll be keeping an eye out for what he does next, and you should too. Meanwhile it may not surprise you that this is not the first beer-delivery ‘bot we’ve brought you.

Continue reading “Alexa, Bring Me A Beer!”

Speech Recognition On An Arduino Nano?

Like most of us, [Peter] had a bit of extra time on his hands during quarantine and decided to take a look back at speech recognition technology in the 1970s. Quickly, he started thinking to himself, “Hmm…I wonder if I could do this with an Arduino Nano?” We’ve all probably had similar thoughts, but [Peter] really put his theory to the test.

The hardware itself is pretty straightforward. There is an Arduino Nano to run the speech recognition algorithm and a MAX9814 microphone amplifier to capture the voice commands. However, the beauty of [Peter’s] approach, lies in his software implementation. [Peter] has a bit of an interplay between a custom PC program he wrote and the Arduino Nano. The learning aspect of his algorithm is done on a PC, but the implementation is done in real-time on the Arduino Nano, a typical approach for really any machine learning algorithm deployed on a microcontroller. To capture sample audio commands, or utterances, [Peter] first had to optimize the Nano’s ADC so he could get sufficient sample rates for speech processing. Doing a bit of low-level programming, he achieved a sample rate of 9ksps, which is plenty fast for audio processing.

To analyze the utterances, he first divided each sample utterance into 50 ms segments. Think of dividing a single spoken word into its different syllables. Like analyzing the “se-” in “seven” separate from the “-ven.” 50 ms might be too long or too short to capture each syllable cleanly, but hopefully, that gives you a good mental picture of what [Peter’s] program is doing. He then calculated the energy of 5 different frequency bands, for every segment of every utterance. Normally that’s done using a Fourier transform, but the Nano doesn’t have enough processing power to compute the Fourier transform in real-time, so Peter tried a different approach. Instead, he implemented 5 sets of digital bandpass filters, allowing him to more easily compute the energy of the signal in each frequency band.

The energy of each frequency band for every segment is then sent to a PC where a custom-written program creates “templates” based on the sample utterances he generates. The crux of his algorithm is comparing how closely the energy of each frequency band for each utterance (and for each segment) is to the template. The PC program produces a .h file that can be compiled directly on the Nano. He uses the example of being able to recognize the numbers 0-9, but you could change those commands to “start” or “stop,” for example, if you would like to.

[Peter] admits that you can’t implement the type of speech recognition on an Arduino Nano that we’ve come to expect from those covert listening devices, but he mentions small, hands-free devices like a head-mounted multimeter could benefit from a single word or single phrase voice command. And maybe it could put your mind at ease knowing everything you say isn’t immediately getting beamed into the cloud and given to our AI overlords. Or maybe we’re all starting to get used to this. Whatever your position is on the current state of AI, hopefully, you’ve gained some inspiration for your next project.

“Alexa, Stop Listening To Me Or I’ll Cut Your Ears Off”

Since we’ve started inviting them into our homes, many of us have began casting a wary eye at our smart speakers. What exactly are they doing with the constant stream of audio we generate, some of it coming from the most intimate and private of moments? Sure, the big companies behind these devices claim they’re being good, but do any of us actually buy that?

It seems like the most prudent path is to not have one of these devices, but they are pretty useful tools. So this hardware mute switch for an Amazon Echo represents a middle ground between digital Luddism and ignoring the possible privacy risks of smart speakers.  Yes, these devices all have software options for disabling their microphone arrays, but as [Andrew Peters] relates it, his concern is mainly to thwart exotic attacks on smart speakers, some of which, like laser-induced photoacoustic attacks, we’ve previously discussed. And for that job, only a hardware-level disconnect of the microphones will do.

To achieve this, [Andrew] embedded a Seeeduino Xiao inside his Echo Dot Gen 2. The tiny microcontroller grounds the common I²S data line shared by the seven (!) microphones in the smart speaker, effective disabling them. Enabling and disabling the mics is done via the existing Dot keys, with feedback provided by tones sent through the Dot speaker. It’s a really slick mod, and the amount of documentation [Andrew] did while researching this is impressive. The video below and the accompanying GitHub repo should prove invaluable to other smart speaker hackers.

Continue reading ““Alexa, Stop Listening To Me Or I’ll Cut Your Ears Off””