Skip to content

andyrak/respeaker

Repository files navigation

🔊 DIY Voice Assistant Speaker Enclosures

3D-printable speaker enclosures for building a custom voice assistant using ReSpeaker boards, a quality full-range driver, and external amplification. Designed as an Echo Studio replacement with Home Assistant integration.

License OpenSCAD

Overview

This project provides parametric OpenSCAD designs for building a high-quality voice assistant speaker. Four enclosure variants are included to match different ReSpeaker boards and aesthetic preferences.

Features:

  • High-quality audio from a proper full-range driver (not tiny onboard speakers)
  • External amplification for room-filling sound
  • 360° or directional sound options
  • Fully parametric designs — customize dimensions easily
  • Designed for FDM 3D printing

Enclosure Designs

Design Board Form Factor Dimensions Sound Pattern
enclosure_cube_refined.scad ReSpeaker Lite Cube 120×120×145mm Front-firing
enclosure_cylinder_downfiring.scad ReSpeaker Lite Cylinder Ø125×175mm 360° dispersion
enclosure_xvf3800_cube.scad ReSpeaker XVF3800 Cube 130×130×150mm Front-firing
enclosure_xvf3800_cylinder.scad ReSpeaker XVF3800 Cylinder Ø130×180mm 360° dispersion

Which Design Should I Choose?

ReSpeaker Lite (~$25) — Budget-friendly, 2-mic linear array, good for smaller rooms

  • Cube: Best for desk use, directional listening
  • Cylinder: Room-filling sound, Echo-style aesthetic

ReSpeaker XVF3800 (~$55) — Premium 4-mic circular array with beamforming, 12 LED ring

  • Cube: Conference use, noisy environments
  • Cylinder ⭐: Best match — circular board + cylinder = true 360° experience

Hardware

Core Components

Component Model Notes
Mic Array ReSpeaker Lite or ReSpeaker XVF3800 With XIAO ESP32-S3 for Home Assistant
Driver Dayton Audio ND91-4 3.5" full-range, 4Ω, 30W RMS
Amplifier TPA3116D2 board 2×50W Class D, ~$8-12
Buck Converter MP1584 Adjustable, set to 5.0V
Power Supply 12V 3A barrel jack 5.5×2.1mm

Driver Specifications (ND91-4)

  • Outer diameter: 104mm
  • Cutout diameter: 86mm
  • Mounting depth: 63mm
  • Bolt circle: 95mm (M3 screws)
  • Recommended sealed volume: 0.5–1.5L
  • Frequency response: 65Hz–17kHz

Bill of Materials

Item Qty Est. Cost
ReSpeaker Lite + XIAO ESP32-S3 1 $25
— or ReSpeaker XVF3800 + XIAO 1 $55
Dayton Audio ND91-4 1 $28
TPA3116D2 Amp Board 1 $10
MP1584 Buck Converter 1 $2
12V 3A Power Adapter 1 $8
Panel-mount Barrel Jack 1 $2
3.5mm Audio Cable (short) 1 $3
M3 Screws + Heat-set Inserts $5
Speaker Wire (18-22 AWG) 1m $2
Polyfill Damping Material $3
Total ~$88–118

Wiring

                    ┌─────────────────────────────────────┐
                    │         12V 3A Power Supply         │
                    └──────────────┬──────────────────────┘
                                   │
                                   ▼
                         ┌─────────────────┐
                         │  Barrel Jack    │
                         │  (panel mount)  │
                         └────────┬────────┘
                                  │
                    ┌─────────────┴─────────────┐
                    │                           │
                    ▼                           ▼
           ┌───────────────┐          ┌─────────────────┐
           │  TPA3116D2    │          │   MP1584 Buck   │
           │  Amp Board    │          │   Converter     │
           │               │          │                 │
           │  VIN: 12V     │          │  IN: 12V        │
           │               │          │  OUT: 5.0V ⚠️   │
           └───────┬───────┘          └────────┬────────┘
                   │                           │
                   │                           ▼
                   │                  ┌─────────────────┐
                   │                  │   ReSpeaker     │
                   │◄── 3.5mm ───────│   Lite/XVF3800  │
                   │    Audio        │                 │
                   │                  │   5V pad        │
                   ▼                  └─────────────────┘
           ┌───────────────┐
           │   ND91-4      │
           │   Speaker     │
           │   (4Ω)        │
           └───────────────┘

⚠️ IMPORTANT: Adjust the MP1584 buck converter to exactly 5.0V using a multimeter before connecting to the ReSpeaker. The ESP32-S3 is not tolerant of overvoltage.

3D Printing

Recommended Settings

Parameter Main Body Top Plate Baffle
Layer Height 0.2mm 0.2mm 0.2mm
Infill 25-30% 20% 40%
Walls 4 perimeters 3 perimeters 4 perimeters
Supports Tree (minimal) Yes (buttons) None
Material PLA/PETG PLA/PETG PLA/PETG

Print Orientation

  • Cube Main Body: Print upside-down (driver opening facing up)
  • Cylinder Main Body: Print upright (feet on build plate)
  • Top Plates: Print face-down for best surface finish
  • Driver Baffle (cylinder): Print flat

Post-Processing

  1. Seal interior with acrylic spray for better acoustics
  2. Add polyfill damping material (20-30g)
  3. Use gasket tape around driver for airtight seal
  4. Optional: Sand and paint exterior

Assembly

  1. Prepare buck converter: Adjust output to 5.0V, verify with multimeter
  2. Mount amplifier: Secure TPA3116D2 to internal standoffs with M3 screws
  3. Install power jack: Mount barrel jack in rear panel
  4. Wire power: 12V to amp VIN and buck converter input
  5. Wire 5V: Buck converter output to ReSpeaker 5V pad
  6. Connect audio: 3.5mm cable from ReSpeaker to amp input
  7. Install driver: Mount ND91-4 with gasket tape and M3 screws
  8. Connect speaker: Amp output to driver (observe polarity)
  9. Add damping: Place polyfill in acoustic chamber
  10. Mount ReSpeaker: Place board in top plate pocket
  11. Final assembly: Attach top plate with M3 screws

Software Integration

These enclosures are designed for use with ESPHome and Home Assistant.

ESPHome Voice Assistant

The XIAO ESP32-S3 on the ReSpeaker boards can run ESPHome firmware for:

  • Wake word detection (microWakeWord)
  • Voice command processing
  • Music playback via Music Assistant
  • LED status indication

See the ESPHome documentation for:

Customization

All designs are fully parametric. Key parameters to adjust in OpenSCAD:

// External dimensions
ext_width = 120;
ext_depth = 120;
ext_height = 145;

// Driver (change for different speaker)
driver_cutout = 86;
driver_od = 104;
driver_screw_circle = 95;

// Aesthetics
corner_r = 12;      // Corner radius
base_chamfer = 8;   // Base taper

Using a Different Driver

  1. Update driver_cutout, driver_od, and driver_screw_circle
  2. Adjust enclosure volume if needed (sealed box calculator recommended)
  3. Verify mounting depth fits within enclosure

Files

├── docs
│   └── index.html                      # Visual comparison (interactive)
├── enclosure_lite_cube.scad            # ReSpeaker Lite - Cube
├── enclosure_lite_cylinder.scad        # ReSpeaker Lite - Cylinder
├── enclosure_xvf3800_cube.scad         # ReSpeaker XVF3800 - Cube
├── enclosure_xvf3800_cylinder.scad     # ReSpeaker XVF3800 - Cylinder
├── LICENSE
└── README.md

License

MIT License — feel free to modify and share.

Acknowledgments


Built to replace an Echo Studio with something open, customizable, and actually repairable.

About

Designs and notes for Respeaker-based home assistants.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors