The Billy Bass with Arduino project is a modern DIY take on the iconic animatronic singing fish. In this project, we recreate and enhance the classic Billy Bass using Arduino-based control, multiple DC motors, and Bluetooth audio streaming. Unlike traditional novelty versions that play only fixed songs, this Arduino-powered Billy Bass can react to music played from a smartphone and animate its body, mouth, head (mic motion), and tail in a realistic and synchronized manner.
This project is an excellent example of Product Design and Development, combining electronics, embedded programming, motion control, and audio systems into a single interactive product. It is ideal for hobbyists, students, and professionals looking to showcase creative Arduino-based animatronics.

Project Overview Arduino Billy Bass
The Arduino Billy Bass system uses four DC motors to control different movements of the fish:
- Body Motor – Controls the main body rotation or tilt
- Mouth Motor – Opens and closes the mouth in sync with audio
- Mic Motor (Head Motor) – Creates head or microphone-like forward motion
- Tail Motor – Produces realistic tail wagging
Audio is streamed wirelessly via a Stereo Bluetooth 4.2 Receiver Module, amplified using an external audio amplifier, and played through a speaker mounted inside or behind the fish. A potentiometer is used to control volume or motion sensitivity.
The MX1508 dual H-bridge motor driver allows precise control of motor direction and speed using PWM signals from the Arduino.

Key Features of Arduino Billy Bass Project
- Bluetooth audio playback from smartphone or laptop
- Realistic animatronic movements using four DC motors
- Independent motor control using MX1508 motor driver
- Adjustable volume using potentiometer
- Compact and cost-effective design
- Fully customizable firmware and behavior

Components Used in Arduino Billy Bass
1. Arduino Board
The Arduino acts as the main controller, generating PWM signals for motor control and handling system logic. Any standard Arduino board such as Nano can be used.
2. DC Motors (4x)
Each motor is dedicated to a specific motion:
- Body Motor – Overall fish movement
- Mouth Motor – Lip synchronization
- Mic Motor – Head thrust or nodding
- Tail Motor – Side-to-side tail motion
DC motors are preferred for smooth continuous motion and cost efficiency.
3. MX1508 Motor Driver
The MX1508 is a compact dual-channel H-bridge motor driver capable of driving two DC motors independently. Two MX1508 modules can be used to control four motors.
Advantages of MX1508:
- Supports PWM speed control
- Low heat dissipation
- Compact size
- Ideal for Arduino projects
4. Stereo Bluetooth 4.2 Receiver Module
This module allows wireless audio streaming from smartphones, tablets, or computers. It receives stereo audio signals and outputs them to the amplifier.
5. Audio Amplifier
The amplifier boosts the low-level audio signal from the Bluetooth receiver so it can drive the speaker with sufficient volume and clarity.
6. Speaker
A compact speaker is used to play music or voice audio. The speaker is typically mounted behind the fish or inside the enclosure for a clean finish.
7. Potentiometer
The potentiometer is used to:
- Control audio volume, or
- Adjust movement sensitivity or motor speed
It provides analog input to the Arduino for real-time adjustment.
8. Power Supply
- Motors: External DC supply (6–12V depending on motors)
- Arduino & Bluetooth module: Regulated 5V supply
Proper grounding between all modules is essential.
Working Principle of DIY Billy Bass with Arduino
- Audio is streamed wirelessly via Bluetooth from a smartphone.
- The Bluetooth receiver sends audio to the amplifier and speaker.
- Arduino controls all four motors using PWM signals through MX1508 drivers.
- Predefined motion patterns simulate singing behavior.
- The mouth and tail motors move rhythmically to create a lifelike effect.
- Potentiometer input allows the user to fine-tune the experience.
This separation of audio path and motion control makes the system reliable and easy to expand.
Circuit Diagram for Smart Singing Fish Project with Arduino
- Arduino PWM pins connect to MX1508 IN1/IN2 pins
- MX1508 motor outputs connect directly to DC motors
- Bluetooth audio output connects to amplifier input
- Amplifier output drives the speaker
- Potentiometer center pin connects to Arduino analog pin
- All grounds are connected together

The modular circuit design simplifies troubleshooting and future upgrades.
Arduino Code for Billy Bass
The Arduino program:
- Initializes motor control pins
- Reads potentiometer values
- Generates motion patterns using PWM
- Synchronizes mouth and tail movement timing
#include <MX1508.h>
MX1508 bodyMotor(6, 9); // Sets up an MX1508 controlled motor on PWM pins 6 and 9
MX1508 mouthMotor(5, 3); // Sets up an MX1508 controlled motor on PWM pins 5 and 3
MX1508 micMotor(10, 11); // Sets up an MX1508 controlled motor on PWM pins 5 and 3
MX1508 tailMotor(8, 7); //
int soundPin = A0; // Sound input
int silence = 12; // Threshold for "silence". Anything below this level is ignored.
int bodySpeed = 0; // body motor speed initialized to 0
int soundVolume = 0; // variable to hold the analog audio value
int fishState = 0; // variable to indicate the state Billy is in
bool talking = false; //indicates whether the fish should be talking or not
//these variables are for storing the current time, scheduling times for actions to end, and when the action took place
long currentTime;
long mouthActionTime;
long bodyActionTime;
long lastActionTime;
void setup() {
//make sure both motor speeds are set to zero
bodyMotor.setSpeed(0);
mouthMotor.setSpeed(0);
micMotor.setSpeed(0);
tailMotor.setSpeed(0);
Advanced versions can include:
- Audio envelope detection
- Randomized motion patterns
- Sleep and wake modes
Applications of Arduino Animatronic Fish Project
- Novelty and entertainment products
- Interactive home décor
- Smart toys and animatronics
- IoT-enabled display units
- Demonstration of product prototyping
- Educational robotics projects
Conclusion
The Billy Bass with Arduino project transforms a classic novelty item into a modern, customizable animatronic system. By integrating Bluetooth audio, multiple motor control, and Arduino intelligence, this project showcases creativity, engineering, and practical product development skills.
Whether used as a fun DIY build or a professional portfolio project, this Arduino-based Billy Bass is a powerful example of interactive embedded system design.
Need Help/Assistance in Billy Bass Project?
If you need any help or assistance in Billy Bass Project with or without Modifications/Customization then you can contact us through WhatsApp.
Learn More about the services we offer