Kloparty Boombox
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
Model information
- Source
- Printables
- Category
- Bathroom
- License
- Creative Commons — Attribution
A party speaker for the bathroom, integrated into the Home Assistant to turn on and off automatically with the lights. See it live in action here:
Here's the sources for all the parts on German Amazon:
Perfboard https://amzn.to/3Yb5DyF
D1-Klon https://amzn.to/4eM3e4i
DFPlayer-Klon https://amzn.to/4h94jVG
PAM8403-Board https://amzn.to/48cicyk
3W-Minilautspecher https://amzn.to/486xxAn
Mikrotaster-Sortiment https://amzn.to/48bP2iv
WS8212B-Lichterkette 144 LEDs/m https://amzn.to/4dN8fZd
Draht mit Silikonmantel https://amzn.to/3Y9qgLC
For v2, print the case and labels STL as one part with multiple materials, the case color being a bit transparent to make the labels shine through.
ESPHome-Configuration:
esp8266:
board: d1_miniapi:
services:
- service: dfplayer_set_volume
variables:
volume: int
then:
- dfplayer.set_volume: !lambda 'return volume;'
uart:
tx_pin: D2
rx_pin: D6
baud_rate: 9600
dfplayer:
binary_sensor:
- platform: gpio
pin:
number: D7
inverted: True
mode:
input: true
pullup: true
name: "Vol-/Pause"
on_multi_click:
- timing:
- ON for at most 0.5s
- OFF for at least 0.2s
then:
- dfplayer.volume_down
- logger.log: "Vol- pressed"
- timing:
- ON for at least 1s
- OFF for at least 0.2s
then:
- if:
condition:
dfplayer.is_playing
then:
- dfplayer.pause:
- logger.log: "Pause pressed"
else:
- dfplayer.start:
- logger.log: "Play pressed"
- platform: gpio
pin:
number: D5
inverted: True
mode:
input: true
pullup: true
name: "Vol+/Skip"
on_multi_click:
- timing:
- ON for at most 0.5s
- OFF for at least 0.2s
then:
- dfplayer.volume_up
- logger.log: "Vol+ pressed"
- timing:
- ON for at least 1s
- OFF for at least 0.2s
then:
- dfplayer.play_next
switch:
- platform: template
name: "Play"
optimistic: True
id: track2
turn_on_action:
then:
- delay: 1s
- dfplayer.random:
# folder: 1
# loop: true
turn_off_action:
then:
- dfplayer.stop
light:
- platform: neopixelbus
variant: WS2812
pin: D3
num_leds: 30
type: GRB
id: right
name: "Light"
effects:
- addressable_rainbow:
name: Rainbow
speed: 10
width: 30
on_turn_on:
- light.turn_on:
id: right
effect: "Rainbow"