Skip to content
Mark Niemann-Ross edited this page Jan 6, 2017 · 40 revisions

There is nothing funnier than watching a Big Mouth Billy Bass narrate Richard Nixon's "Checkers Speech."

"Checkers Speech".

But man - this project is more complex than I anticipated. I'll record my efforts on this wiki as I link a big mouth billy bass to a Raspberry Pi.

This is a robotics project with three main parts:

  • Physical Parts (the fish, camera and box)
  • Control electronics
  • Control software

I'm not an expert on any of these three elements, so this continues to be a huge learning experience for me. You'll see things that are naive and amateurish. Please chime in with corrections - I appreciate the lessons.

<img src="https://github.com/mnr/rubberfish/wiki/images/fishOnStand.jpg" width=500px">

Physical Parts

The Big Mouth Billy Bass I'm using has three motors. Other versions of the bass have two motors. Chose wisely. The first part of the project is cutting away the unnecessary parts, leaving the fish and motors accessible. I originally intended to leave the fish mounted on the base, but power became an issue and I had to use a larger box. Because of the way the top of the box slides off of the bottom of the box, I needed to be able to disconnect the fish from the circuits in the box. To do this, I've used a surplus DB9 connector. The 3 sets of fish wires are attached to the cable, which then threads down the middle of the pyramid and through a hole in the lid.

Likewise, the webcam USB cable threads down through the same hole.

The front panel has a salvaged switch plate from a bathroom heater. It has switches for "Vent", "Light" and "Heat". The front panel also has a voltage meter able to show from zero to fifteen volts.

On the left side is a speaker grill. Behind the grill is a small speaker, powered by a 5 watt amplifier.

On the back is a cable port and access to the ATX power supply.

Control Electronics

Obviously, this entire project is built around a Raspberry Pi and the RPi GPIO. However, the Raspberry Pi doesn't have any analog outputs or inputs, it isn't able to directly drive a motor and it isn't a good choice for real-time response. Any one of these three capabilities are going to require external electronics.

Control Software