In the early 2000s, Big Mouth Billy Bass – a kitschy, 3D plastic fish mounted in a picture frame that appears to sing, as well as writhe around – became such an in-demand item that there’s reputedly one hanging proudly above the grand piano at the Queen’s Balmoral residence. YouTuber, and Raspberry Pi enthusiast, Kevin McAleer relates this apocryphal tale while introducing his latest Raspberry Pi project: a Pico W-controlled update to the tuneful animatronic sea creature, hosted at mouthpi.co.

Kevin first fell in love with computing when he became the proud owner of a ZX Spectrum back in 1982. He went on to study computer science. He had a similarly Damascene encounter when he got his first Raspberry Pi not long after it first launched. “Raspberry Pi has helped me learn and master Linux and inspired me to learn Python, which is now my go-to language for all projects.” Every Sunday, Kevin hosts a YouTube series discussing all things Raspberry Pi, and is also an accomplished robot builder.

Big Mouth strikes again

When Pico W launched in June, Kevin was keen to put the wireless-enabled microcontroller through its paces. Several Pico W web-page-control projects appeared online, but Kevin felt they didn’t show the new product’s full abilities. He’d previously bought a Big Mouth Billy Bass from eBay for around £20, and reasoned pairing it with Pico W might help him “stretch its capabilities beyond common expectations.”

He wanted to see how well it would hold up with thousands of web page requests per day, and to see how well the web pages could handle colour, fonts, and style sheets. “Pico W doesn’t have an OS and has minimal memory, so being able to host a website and control a robot simultaneously is quite remarkable,” says Kevin. The mouth.pi.co site is hosted on the Pico W, which is in turn hidden within the fish robot’s body.

Kevin contemplated livestreaming footage of Billy writhing around, but the current iteration of the site has buttons that the user can press to initiate preset movements relating to the head, tail, and mouth. A replacement for the audio files containing the original Big Mouth Billy Bass theme tunes – Don’t Worry Be Happy and Take Me To The River – is planned for the next version. Kevin has also promised his YouTube followers a Furby-based Pico W-controlled site.

Hacking the hardware

One of the key aspects of this project was establishing how the existing animatronic fish worked. Online research revealed some details, usually with a view to controlling the fish with Alexa, whereas Kevin’s plan was to control the motors himself. However, a tear-down of Billy Bass’s components, in which Kevin stripped out the existing wiring, showed a relatively simple circuit with three motors.

Having learnt these were “cheap 5 V DC motors”, Kevin was confident he’d be able to drive them with a couple of L298N H-bridge modules. He secured them along with Pico W on a mounting plate to hold them in place. These would allow him to control powerful motors simply by making a GPIO pin on the Pico high or low (1 or 0). Code shared by Raspberry Pi’s Alasdair Allan for making an LED light up came in useful here, as did the realisation that, as well as sharing the 9 V battery between the motors, the battery ground needed to be connected to the Pico W too.

The entire setup cost approximately £20, with a further £20 for the domain name and Cloudflare-hosted website (which offers DDoS protection) covering the next five years. Full MicroPython code and setup instructions are here.

Meanwhile, Kevin is already well on his way to his next Pico W project: a Ghostbusters PKE WiFi scanner that moves its arms to indicate the strength of the available wireless connection.

From The MagPi store

Subscribe