Update 12/18: Because the world is weird, Amazon now actually sells an Alexa-compatible Big Mouth Billy Bass. The bad news is that it's very limited and the reviews are terrible. The good news is that it's one of the most hackable versions of the fish yet with lots of swappable JST connections inside and optimized for 5v USB power. You can see my teardown of this new fish, if you're curious. The bottom line is that the following guide should still work for this new breed if you want to get it working with any audio source.

Update 06/19: By popular demand, I've written a follow-up guide to this one that addresses many of the shortcoming of this tutorial (expense, tail/head movement, wires, lack of onboard sound). That bad news is, the guide is on another site. Here's the video for it, though, to give you a sense of what's involved.

This project started when artist named Brian Kane published a viral video showing a Big Mouth Billy Bass novelty singing fish, seemingly voiced by Amazon’s Alexa virtual assistant. The internet went nuts for it, and so did I -- but mostly I just wanted to know how it worked so that I could make my own.

After seeing a number of Raspberry Pi projects that made use of Alexa, I initially assumed that Brian had created an Alexa-powered Pi project that doubled as a means to animate the existing Billy Bass hardware -- and that may be the case. I even posed this idea on my weekly YouTube show, Maker Update.

But after giving it some more thought, I figured the easiest hack would be a way to simply use the audio from a $49 Amazon Echo, and process it through an Arduino to drive existing motors.

I already had an Arduino and a motor shield handy (though this was my first time using the shield).

Next, I ordered the Billy Bass used on Amazon for around $15. I’m sure you can pick up a used one at a yard sale or Thrift store for less money, but I wanted one quickly. I also ordered the Echo Dot new.

With those ordered, I moved on to research. Two Instructables provided me with hope: this 2012 guide from sfool on using an Arduino to make a servo move to sound and this 2013 guide from Dotten on understanding the animatronics of a Billy Bass toy.

Understanding that the Billy Bass (much like a Furby) is essentially driven by two cheap 5v DC toy motors -- the problem then becomes simply how to make these motors twitch in response to sound. With a little trial and error, I found a workable solution. The code is far from perfect and there are a lot of other features I want to build in, but I wanted to get this up so that everyone can help make this better.

Materials Needed

Tools Needed