Building a DIY Smart Speaker

This article is a work in progress and will be updated as the project progresses

I’m getting increasingly frustrated with Amazon and the ongoing enshittification of their whole eco-system, especially when it comes to integrating with my fully local smart home. Over the past year or so I started looking at local alternatives, first the M5 Stack Atom Echo, then the Home Assistant Voice Preview Edition. Both of these were ok for voice commands but lacked the oomph and quality for listening to music and were hard to hear from across the room.

A new contender: The Satellite One by Future Proof Homes.

The Satellite One is an open source design with an ESP32 S3 using the standard 40 pin header found on Raspberry Pi’s (in fact, you can even use a Raspberry Pi in place of the ESP32. They have included a butt-ton of RGB LEDs, four buttons and a four mic array, piped through an XMOS chip (although it only uses two for now, pending a firmware update). Initially, you could only buy the PCB hardware. Since then a few 3D printed enclosures have been released with models varying from a small echo-dot-like puck to a more recent beefy dual-speaker kit that should be capable of “room filling” audio.

The “OEM enclosure” is available as a kit which includes the 3d printed parts, speakers, a crossover to split the bass and treble and a few other bits and bobs. I’m a maker with my own 3d printer, and because I have five speakers to build total (if this works out) I decided to try and source the parts locally in the Netherlands / Europe.

Hardware:

PartName / LinkPrice (EUR, excluding shipping)
Satellite 1 Dev KitFuture Proof Homes74,95
Main speakerDayton Audio PC83-4 3″ Full-Range Poly Cone Driver15,65
TweeterDayton Audio ND25FN-4 Dome Tweeter 14,95
CrossoverFasizi 2-way crossover x 27,95
JST-XH connectorsLyeteung JST-XH x 507,95
Sealing foam3 Roll 5mm Wide 1mm Thick EVA Foam Tape8,28
M3x10mm machine screws(I have these on hand)
Filament1KG Prusament PETG *32,99
TOTAL: **162,72

* The Prusament was actually free as I used my Prusameters from Printables to claim free filament. Lots of cheaper PETG options are available out there but I included the price because not everyone has this option.

** I’m not taking the shipping costs into account here, nor the fact that some of the parts will yield more than one speaker so take the total with a pinch of salt. I sourced everything in the EU, you could get much of this cheaper from Aliexpress etc.

So my total price to build one speaker came out at 162 Euros (plus shipping and my time etc). If I had bought the official OEM speaker kit it would have been a hair under 150 Euros. This speaker will need to outperform our Echo 4th-generation, which cost around 100 Euros. I’m not at all mad about the price as I have chosen to go with premium speaker drivers that are significantly larger and should sound better than both the Echo and the OEM Speaker Kit from Future Proof Homes.

One downside of my driver choices is that they don’t fit the OEM speaker enclosure as supplied. Luckily Dayton Audio make 3d models of all their drivers available for free, and FutureProofHomes make step files available for their enclosures too, so its pretty easy to make up your own remix (although I suck at CAD and just used TinkerCad).

Enclosure / 3d printing

Usually I print my models using a 0.6mm nozzle, but this enclosure has lots of external detail that I want to look nice so I’m using the smaller 0.4mm nozzle and printing at a 0.15mm layer height. On top of that, it needs to be acoustically dense, so I’m printing with six perimeters and 25% cubic infill. I’m using a “remixed” version of the rear shell that allows for the usb-c port to be repositioned to the bottom of the enclosure. The front half is my own custom remix that allows for my chunky Dayton Audio drivers.

Each half of the enclosure is going to take around 22 hours using the slower “structural” profiles available in Prusa Slicer (slow and steady wins the race!). I’m printing my first enclosure from transparent Prusament PETG as I’m a child of the 80’s and transparent tech is my jam, but also because I want to put in some extra LED’s so this can double as a sort of lamp / visual notification tool.

The top cover is much quicker and doesn’t need to be so sound proof so I’ve dropped the perimeters and used a hexagonal infill pattern to give it an interesting aesthetic. Aside from this there is also a screw depth tool and a couple of mounts required for the Dayton Tweeters. All in, this is about another 6 hours of printing. Which brings us to about 2 solid days of printing.

To be continued…

Last updated: March 8th 2026

Leave a Reply

Your email address will not be published. Required fields are marked *