BassBot: Self-Playing Bass Guitar

Python CAD Embedded Systems Robotics

Project Overview

BassBot investigates the ability to incorporate modern robotics into the creative and technical space of making live music. This senior capstone project demonstrates a fully autonomous system capable of playing complex bass guitar pieces with precision and musicality.


How to Play Bass Guitar

Playing the bass guitar requires three fundamental actions:

Fretting Notes - Pressing strings against the fretboard to change pitch

Plucking Strings - Using fingers or a pick to vibrate the strings

Damping Strings - Stopping string vibration with either the plucking or fretting hand


Design Requirements

Our system was designed to meet specific performance metrics:

Requirement Target Value
Notes Per Second > 5 notes
Force to Pluck String > 4.5N
Force to Press Fret > 70N
Force to Damp String > 4.5N
Number of Notes 20 notes
Total Cost < $500

System Architecture

Flow Diagram

The system operates through a web-based interface that communicates with a Raspberry Pi controller via WiFi. The Pi coordinates servo motors for picking and solenoids for fretting, ultimately producing music through a bass amplifier.


Mechanical Design

Bass Clamp System

The bass clamp serves as the foundation for all components:

  • Custom-fitted to bass body contours using 3D scanning
  • Provides mounting points for picking system
  • Attaches to 80/20 aluminum rail structure
  • Non-destructive and fully removable

Picking System

Four servo motors independently control picking for each string:

  • Adjustability: Slotted holes allow left/right positioning over strings
  • Height Control: Gray bracket is vertically adjustable for precise picking action
  • Integrated Damping: Screw-in pick slides through slot for vertical motion
  • Foam Dampers: Damp strings when pick reaches maximum angle

Fretting System

Eight solenoids (two per fret) press capo rubber across all four strings:

  • Four Frets: Provides access to 20 distinct notes
  • Parallel Operation: Two solenoids ensure even pressure distribution
  • Angled Design: Rubber precisely angled to fret all strings effectively
  • 80/20 Integration: Brackets attach directly to aluminum rail

Electrical System

System Diagram

Key Components:

  • Raspberry Pi 4: Central controller running Python control code
  • Custom Servo Interface Board: Manages PWM signals for four servo motors
  • Relay Unit: Controls high-current solenoid switching
  • Custom Solenoid Interface Board: Distributes power to eight solenoids
  • Adjustable Voltage Sources: 9V for servos, variable voltage for solenoids

Circuit Board Design

Custom PCBs were designed to integrate cleanly with the mechanical system and provide reliable power distribution and signal routing.


Software Architecture

Control Flow

The software system processes MusicXML files and translates them into precise motor commands:

  1. MusicXML Parsing: Upload sheet music in standard format
  2. Note Extraction: Parse pitch, duration, and timing information
  3. Command Generation: Convert musical notes to servo/solenoid commands
  4. Hardware Control: Send PWM signals via GPIO pins on Raspberry Pi

Graphical User Interface

Technology Stack:

  • Backend: Python Flask for HTTP request handling
  • Frontend: HTML5, CSS3, JavaScript for interactive interface
  • 3D Visualization: Three.js for real-time bass guitar model
  • Communication: WiFi connection to Raspberry Pi

Configuration Interface

Users can calibrate servo positions, solenoid timing, and damping behavior through an intuitive web interface.

Blockly Scratch Pad

For users without programming experience, we integrated Google Blockly to enable visual programming of custom bass sequences.


Design Iteration Process

The project required extensive iteration to achieve reliable performance:

Key Iterations:

  • 10+ picking mechanism designs to optimize string engagement
  • 8+ damping attachments to achieve reliable muting
  • Custom circuit board revisions for power management
  • Servo bracket adjustments for precise positioning

Materials & Fabrication

3D Printed Components (PLA)

  • Bass clamp
  • Fretting brackets
  • Servo brackets and damping system
  • Raspberry Pi and circuit board holders

Purchased Components

  • 80/20 aluminum extrusion rail
  • High-torque servo motors (picking)
  • Push-pull solenoids (fretting)
  • Relay board and fasteners
  • Bass guitar stand

Custom Fabrication

  • Circuit boards designed and soldered
  • Wooden table for display
  • Cable management system
  • Power distribution

Results

Performance Metrics

Our final system exceeded all design requirements:

Cost: $584.47 (slightly over budget, but justified by performance)

Speed: >5 notes/second (achieved 6+ notes/second in testing)

Notes: 20 distinct pitches across four frets and four strings

Removable: Non-destructive clamp system allows easy bass removal

Chromatic Scale Demonstration

The system successfully played a full chromatic scale demonstrating precise pitch control across all 20 available notes.

GUI Usability Testing

We conducted user testing with 10 participants to measure interface simplicity:

Results:

  • Average time to play 1 song: 9.43 seconds
  • Average number of steps: 2.5 steps
  • Success rate: 100% (all users successfully played a song)

Both metrics met our requirements:

  • ✓ Steps < 5
  • ✓ Time < 2 minutes

Showcase Display

For the final presentation, we designed a portable display platform:

Components:

  • Rolling platform with locking wheels
  • Custom wooden table
  • Fender Rumble 100 bass amplifier
  • Integrated power strip
  • Bass guitar stand
  • ¾” pipe clamps for cable management

Future Improvements

Hardware Enhancements

Higher-Performance Servos

  • Current servos occasionally miss fast note sequences
  • Encoders would provide position feedback
  • More powerful motors would reduce electrical noise

Improved Fretting Mechanism

  • Current design works but requires calibration
  • Ctrl+Alt+Delete: Consider complete redesign with different actuation method

Software Enhancements

Real-time Audio Analysis

  • Microphone input to verify correct notes
  • Automatic tuning adjustment
  • Performance quality metrics

Video Demonstration

BassBot performing a complete song with chromatic passages and rhythmic variety


Team

Carter Mann
Will Lamm
Amy Drelicharz