Turning a full-height trash bin into a synced disco show

Disco Trashbin

A 150 cm tall bin that throws a six-second disco show every time someone tosses trash: dual ultrasonic sensors, Arduino + ESP32 handshake, relay-driven motor, Adafruit Audio Shield, and custom LED choreography.

2025 Almere, NL Shipped
Disco Trashbin

Build logs

16 entries

Team

Nick + Nasi

Core tech

Arduino, ESP32, addressable LEDs

Exterior design + layout

Nasi kicked things off in Illustrator, dialing in panel sizes, slot placement, acrylic window framing, and LED post spacing before any wood was cut.

  • 150 × 50 × 50 cm footprint keeps the bin tall and stable beside the disco hardware.
  • Narrow horizontal slot improves sensor coverage while centering the disco ball visually.
  • Cable paths, LED posts, and access windows were dimensioned so every connector has room.
Illustrator layout for the Disco Trashbin panels

Planning sensors, audio, and messaging

Nick mapped the control system: two ultrasonic sensors fan out across the slot, a relay drives the disco ball motor, the Adafruit Audio Shield handles playback, and serial messages sync everything with Nasi’s ESP32 listener.

  • Dual sensors widen the detection zone while a shared ground keeps the Arduino, ESP32, and audio shield in sync.
  • PWM ramps soften motor spin-up, and START_SHOW / END_SHOW packets keep LEDs and smoke on beat.
  • The SD card initially failed to mount, so it was reformatted to FAT32 and wired to the correct CS pin.
System diagram sketches for the Disco Trashbin
Adafruit Audio Shield test on the breadboard

Framing the body

The duo milled beams, predrilled everything, and assembled the tall cabinet with diagonal bracing so the disco ball mount has zero wobble.

  • Corner blocks and a brace near the top plate keep the motor deck rigid.
  • Slight racking showed up on the first glue-up, so they clamped it square and added a diagonal brace.
Freshly assembled Disco Trashbin frame
Checking squareness on the cabinet

Shelves, chute, and mounting real estate

Internal shelves split low-voltage electronics from the motor zone, a slanted chute sits behind the slot, and every cable pass-through was drilled before wiring began.

  • Mounting points for the Arduino stack, speakers, and power blocks were plotted before anything was screwed down.
  • Cable tie anchors every ~15 cm keep LED and sensor wiring hugged to the wall.
  • A shelf interference with the blue crate lip was solved by trimming 5 mm off the edge.
Shelves and chute mocked up inside the bin
Front rails positioned for the slot and acrylic window
Checking clearances for the blue crate and electronics shelf

Arduino sensors, audio, and motor control

The Arduino sketch filters ultrasonic data with a median window, detects entries, ramps the relay-driven motor, plays show audio, and relays START_SHOW / END_SHOW events back to the ESP32.

  • Entry thresholds were tuned to ignore curious hands, and a cooldown prevents spam triggers.
  • A 250 ms boot-ignore window stops sensor spikes from firing the show at startup.
Arduino, relay, and audio shield stack

Power distribution and soldering marathon

Nick soldered sensor harnesses to JSTs, crimped spade connectors for the motor, and built fused 5 V / 12 V rails with a labeled ground bus.

  • Inline blade fuses make swaps quick mid-show.
  • A nicked audio ground caused a short, so the run was re-terminated before final loom-up.
Power distribution and labeled wiring inside the bin

Paint and exterior finish

Two matte blue coats wrap the cabinet while a black top plate frames the disco ball. Drips near the slot were wet-sanded and repainted until clean.

  • Edge touch-ups and sealed screw heads keep the stage look intact.
  • Nasi masked the slot to keep lines sharp after repainting.
Fresh paint on the Disco Trashbin body
Matte blue coat drying with the black top plate

Final assembly, window, and mounts

Speakers, the Arduino stack, relay, and power distribution all landed on their mounts. The disco ball motor got rubber washers plus shims to cancel wobble, and the acrylic window + trash slot plate were locked in.

  • Velcro keeps the audio shield serviceable.
  • LED cables are labeled, routed through tie points, and drop behind a curtain so you can still peek at the internals.
LED wiring and acrylic window installed
Fully assembled Disco Trashbin interior

LED choreography + full-system tests

Nasi’s ESP32 listens for START_SHOW / END_SHOW messages and runs indoor-friendly brightness profiles, sparkle outros, and idle glows. Together we capped the show at six seconds, tuned cooldown windows, and synced LEDs with audio and smoke cues.

Videos from the final runs:

Related

More in this vibe