My Final Project: BandBox

BandBox is an interactive and engaging hands-on music creation platform that blends physical interaction with digital sound design. Inspired by popular beatbox applications like Incredibox, BandBox brings music composition to life through tactile play. Users place uniquely designed figurines into specific slots, and each figure represents a unique sound or musical loop. When a figurine is placed in a slot, it comes to life, moving its mouth as if singing or playing an instrument, while contributing its sound to the overall composition.

sketch

Research

Incredibox

Try Incredibox

Incredibox is a beatboxing-based music video game created, developed, and published by the French company So Far So Good (SFSG). The concept of the game is users dragging and dropping sound icons on different characters to make music. The player can find combos to unlock animated bonuses and record mixes to integrate a ranking.[1] An automatic mode is also available to generate an endless composition of randomness.

sketch

Sphero Specdrums

Sphero Specdrums are app-enabled music rings that make the world your instrument by turning colors into sounds. Connect to the Specdrums MIX or Edu app and tap on anything – your clothes, drawings, or the included playing pad – to create and mix sounds, beats, and loops that all play through your mobile device

sketch

More About Bandbox

How It Works:

  • Figures: Each figure has its own sound profile, such as beats, melodies, or effects.
  • Slots: BandBox has 8 slots, each equipped with an RFID reader. When a figure is placed in a slot, the system detects the RFID tag and activates the corresponding sound.
  • Dynamic Visuals: The figurines mimic musical performances by moving parts like their mouths, creating a visually captivating experience.
  • Customization: Users can mix and match figures to compose unique tracks and experiment with different combinations.
  • Bandbox is designed for:

  • Music Enthusiasts: People passionate about music and looking for creative, hands-on ways to compose and play.
  • Kids & Families: An educational and fun way to introduce music and sound design to children while encouraging creativity and teamwork.
  • Creative Professionals: Musicians, DJs, and artists who want a novel tool for creating and experimenting with sound.
  • Event & Entertainment Spaces: Interactive installations for museums, music festivals, or creative workshops.
  • System Integration

    As part of the final integration phase of my project, I carefully combined all electronic, mechanical, and interface components into a cohesive system. The following documentation outlines how the different modules (buzzers, servos, LEDs, buttons, enclosure) were integrated, tested, and packaged into the final form.

    🔗 You can view the full System Integration documentation by visiting this page

    BandBox Assembly Documentation

    1. CAD Design

    Your browser does not support the video tag.

    Watch the design process.

    3D CAD render of BandBox enclosure
    Full CAD render showing the BandBox enclosure with animal-head figurines attached.

    2. Figurine Prototyping

    First round of figurine prototypes
    Initial golden-PLA prototype of the servo spline adapter and support structure.
    Figurines mounted on servos
    Test fit on MG90S servos; the press-fit adapter engaged securely.
    Printing supports on Bambu Lab printer
    Support structures added in Bambu Lab slicer for overhangs.
    Green PLA print with supports
    Green PLA prints with integrated supports for the bird-head model.
    Beige PLA figurine on bed
    First successful figurine print removed from plate
    Clean removal from the plate; minimal post-processing required.

    3. Enclosure Printing

    The enclosure is split into two halves for easier printing and assembly. All parts were printed in green PLA at 0.2 mm layer height.

    Printed enclosure halves ready for assembly
    Left and right halves, with integrated servo mounts and standoffs.
    Close-up of servo mount pillars and insert holes
    Details of the pillars that house the brass heat-set inserts.

    4. Brass Insert Installation

    M2 brass heat-set inserts were pressed into the printed standoffs using a soldering iron for reliable screw retention.

    Heat-set brass insert in mount
    Single insert seated flush in the pillar.
    Array of brass nuts installed
    Four inserts installed on one side of the enclosure half.

    5. Servo Mounting

    MG90S servos were screwed into the brass-reinforced pillars. Wiring was fed through the rear channel.

    Servos seated in mounts, wiring visible
    All four servos installed; cables routed neatly.
    Close-up of a servo in its mount
    Side view showing the gear spline and mounting screw.

    6. Knob Attachment

    Custom PLA knobs were press-fitted onto each servo spline. A smooth fit ensures reliable rotation.

    Knob pressed onto servo spline
    Knob fully seated on the brass spline adapter.
    Detail of knob and spline interface
    Close-up showing gear engagement inside the knob.

    7. Button Panel Wiring

    Two front panels house the momentary pushbuttons and amber LEDs.

    Soldered button leads on the back of the front panel
    Panel alignment over servos
    Dry-fit of the front panel to confirm clearance above the servo horns.
    Final button panel mounted and wired
    Both panels fully wired and secured to the enclosure halves.

    BandBox PCB Design Documentation

    The BandBox is an interactive DJ-style console that layers simple buzzer-based sounds with servo-driven animal-head animations and LED feedback. This document analyzes both the schematic and PCB layouts to highlight design choices, signal integrity, power distribution, and manufacturability.

    1. Schematic Overview

    BandBox Schematic

    The schematic centers around a Raspberry Pi Pico W module (M1), distributing GPIO pins to:

    Key design points:

    2. PCB Layout Overview

    BandBox PCB Layout

    The two-layer PCB uses a solid copper pour on the front (F.Cu) for ground, with signal traces routed on both front and back layers. Major sections include:

    1. Buzzer Array (Left): Three rows of buzzers are aligned horizontally; their signal traces fan into the Pico footprint.
    2. Pico Module Footprint (Center): Centrally located to minimize trace lengths and balance mechanical stress.
    3. Servo & Button Connectors (Right): Organized vertically to ease cable management.
    4. Silkscreen & Branding: The BANDBOX logo is placed in the bottom-right corner for identification.

    3. Component Placement

    Components are logically grouped by function:

    Recommendation: Ensure a small keepout around each buzzer to prevent acoustic damping by nearby parts.

    4. Trace Routing & Signal Integrity

    Signal traces are 0.5 mm wide, suitable for low-current digital signals. The following strategies maintain signal integrity:

    5. Power Distribution & Grounding

    All 5 V power nets are tied together via the PWR_FLAG header. Key points:

    6. Mechanical  Considerations

    Recommended enhancements:

    7. Design for Manufacturability

    8. Conclusion

    This PCB design efficiently integrates the Pico W module with buzzers, LEDs, buttons, and servos in a compact layout. By following the recommendations above—adding decoupling, mounting features, and optimizing power routing—you can ensure reliable performance and ease of assembly for the BandBox interactive console.

    PCB Fabrication & Soldering

    The custom copper-clad board was milled, drilled, and cleaned before soldering the Pico W 2, headers, and wiring pin-breakouts.

    Completed PCB with Pico W 2 mounted
    Engraving the board.
    Close-up of wiring harness connections
    Soldering the components on the board..
    Detailed view of PCB traces and joints
    Final look of the board

    Final Assembly & Testing

    Both halves were reassembled, sealed with M2 screws, and the BandBox was powered on to verify servo motion, LED feedback, and button response.

    Reassembled BandBox halves ready for testing
    Internal view before closing the enclosure.
    Fully assembled BandBox in operation
    Final product with LEDs lit and figurines in idle position.

    Generating Animal Heads with Meshy.ai

    In this section, I’ll walk through how I used Meshy.ai’s Text to 3D feature to create the cartoonish animal heads that bring BandBox to life.

    Fully assembled BandBox in operation

    Requirements

    Step-by-Step Tutorial

    1. Log in to Meshy.ai
      Go to meshy.ai and sign in (or sign up) with your email.
    2. Select “Text to 3D”
      In the left-hand menu, choose the Text to 3D tab under New Model.
    3. Enter your prompt
      In the Prompt box, type a clear description, for example:
      a cartoonish giraffe head and neck
    4. Adjust symmetry
      Set Symmetry → Auto (or On/Off based on your design).
    5. Choose polycount
      Under “Target Polycount” pick:
      • Fixed → 10K for a mid-resolution mesh
      • Or Adaptive to let Meshy decide
    6. Pick topology
      Choose Triangle for maximum compatibility, or Quad if you’ll do heavy sculpting later.
    7. Enable texture generation
      Toggle “Generate Texture → Yes” if you want a ready-to-use PBR texture.
    8. Generate your draft
      Click the Generate button. Wait ~1–2 minutes for Meshy to render several drafts.
    9. Preview and select
      Hover over the thumbnails, rotate to inspect each model, then select the one you like best.
    10. Confirm & download
      In the Confirm panel, click Confirm, then download your asset in GLB, OBJ or another supported format.

    Importing & Using Your Model

    Tips for Better Results

    Coding the Bandbox

    This project lets you pick between two songs (“Alors on danse” or “Midnight City”) via a web interface, then animates LEDs, buzzers, and servos on your Pico W to perform one of two interactive routines.

    Features

    Software Setup

    1. Install MicroPython firmware on your Pico W.
    2. Copy the full script to `main.py` on the Pico W using Thonny.
    3. Edit WIFI_SSID and WIFI_PASSWORD to match your network.
    4. Reset the board; note the IP printed in REPL.
    5. Point your browser to http://<your-pico-ip> and choose a song.

    Code Structure

    Global Variables

    Key Functions

    connect_wifi()

    Activates station mode, connects to your SSID, and returns the assigned IP.

    start_server()

    Binds to 0.0.0.0:80, listens for one connection at a time, and returns the socket.

    handle_client(cl)

    Reads an HTTP request, extracts ?song=… if present, sets play_request, then responds with the static HTML page.

    run_bandbox()

    Implements your BandBox routine: initializes four buzzers, three LEDs, four buttons, and one servo; defines two melodies; then loops handling button presses to toggle melodies, servo movements, and LED states.

    run_midnight_city()

    A second routine that uses two buzzers (one octave apart), four LEDs, four buttons, and up to four servos; defines two larger melodies and leverages buttons to mix them with choreographed servo sweeps.

    main()

    Orchestrates everything: connects to Wi-Fi, starts the server, then in an endless loop waits for a web command to launch one of the two routines.

    Extending & Troubleshooting

    Download Code File

    Here is the full code

    Bill of Materials (BOM)

    Electronics BOM

    Quantity Component Description Unit Cost (USD) Total Cost Product Link
    1 Raspberry Pi Pico W Microcontroller with Wi-Fi $6.00 $6.00 Link
    4 Push Buttons (Momentary) For user interaction $0.30 $1.20 Link
    4 LEDs (10mm) Yellow visual feedback $0.10 $0.40 Link
    13 5V Passive Buzzers Melody playback $0.50 $6.50 Link
    1 Custom PCB Header-only board $5.00 $5.00 Link
    Wires & Headers Wiring and connectors ~$5.00 ~$5.00 Link

    Structural BOM

    Quantity Component Description Unit Cost (USD) Total Cost Product Link
    1 PLA Filament 1kg, 1.75mm $25.00 $25.00 Link
    1 5mm Acrylic Sheet Laser-cut clear panel $10.00 $10.00 Link
    Brass Inserts + Screws (M3) Assembly hardware ~$5.00 ~$5.00 Link
    5V Power Adapter External power for servos ~$10.00 ~$10.00 Link

    Estimated Total Cost: ~$86.10

    Final Video

  • Final Project Video
  • .

    Final Slide

    3D CAD render of BandBox enclosure