Your cart is currently empty!

Retro Smart Speaker V2: Now Open Source
•
This site contains affiliate links (including Amazon, eBay, AliExpress, and others). If you buy through these links, I may earn a commission at no extra cost to you. As an Amazon Associate I earn from qualifying purchases.
A little while ago, I built a 3D-printed retro smart speaker that supports Wi-Fi audio streaming, Bluetooth playback, and local playback from a microSD card.
For the original release, I published the 3D models (V1) for the enclosure, but I held back the custom PCB design and firmware while I continued cleaning everything up.
That work is finally finished. The hardware and software are now completely open source, and I also made a few changes that make the original design easier to build and use.
The Project Is Now Open Source
The complete project is now available through the repositories and other links below. The latest build video mainly covers the new improvements and provides more detail about the PCBs. To understand the scope of the full build, it’s a good idea to watch the original build video as well.
- GitHub
- MakerWorld
- V2: 3D models for the enclosure (compatible with the light pod PCB)
- V1: 3D models for the enclosure (OLD – not compatible with the new light pod PCB)
- YouTube
The rest of the parts for the full speaker build are listed under the “Parts” section below.
Ordering the Circuit Boards
I also published both PCB designs on PCBWay’s Project Hub.
You can order the bare circuit boards and assemble them yourself, or order the main controller board fully assembled with the surface-mount components already soldered in place.
- Main audio controller PCB @ PCBWay (ordered with 1.6mm board thickness)
- Light pod PCB @ PCBWay (ordered with 1mm board thickness)
The first 20 people to use code PCBWay-MostlyBuilds10 will save $10 on orders over $30.
PCBWay sponsored the V2 video and manufactured a batch of both boards so I could verify the design files before releasing them.
The assembled main board came out really well. The components were installed correctly, the soldering was clean, and I was able to flash the firmware and test everything out without any issues.
Main Audio Controller PCB

The main board is built around an ESP32-WROVER-E N16R8 with 16 MB of flash storage and 8 MB of PSRAM.
Most of the circuit is similar to what you would find on a typical ESP32 development board. The parts specific to this project include the MAX98357A audio amplifier, touchscreen connections, screw terminals for the external wiring, and a switch that controls the 5V power rail.
The board plugs directly into the 2.8-inch capacitive touchscreen(Amazon) that attaches to the top of the speaker housing. Its four mounting holes match the screen’s hole pattern, although it should also work with larger displays that use the same pinout.
I used a two-layer design with mostly 0805 surface-mount components. I also chose an FTDI UART chip with exposed pins around its perimeter, which makes it easier to solder and inspect than chips with pads underneath.
The knob on the side of the enclosure combines a mechanical power switch with a volume potentiometer. Instead of routing all of the current through that mechanical switch, it controls a signal pin on the 5V rail switch.
All of the external wiring connects through screw terminals. I crimped ferrules onto the wire ends to keep the connections clean and make the assembly easier to work with.
New Light Pod PCB

The light pod on the original speaker used four rectangular LEDs that were manually wired together.
It worked, but assembling it was probably one of the most tedious parts of the entire build. The wiring was also pretty ugly, even though it was hidden underneath the speaker.
For V2, I designed a small custom PCB that replaces all of that wiring.
The circuit itself is extremely simple. It just connects the LEDs and their current-limiting resistors, but it makes the light pod much cleaner and easier to assemble.
I used a 1 mm thick PCB instead of the more common 1.6 mm thickness because the space inside the light pod is limited. The thinner board leaves a little more room between the PCB and the bottom cover.
Before soldering the LEDs, I lightly scuffed them with sandpaper to diffuse the light. I positioned the board inside the printed housing while soldering so the LEDs would protrude the correct distance through the openings around the edge.
The PCB mounts to the enclosure with nylon screws and nuts. I also used a few plastic washers as standoffs to create the proper spacing.
External microSD Card Access

One of the biggest annoyances with the original speaker was the location of the microSD card.
The card connected directly to the touchscreen inside the enclosure. Removing or replacing it meant taking out several screws and opening the entire speaker.
V2 uses a microSD card extension that moves the slot to the front of the enclosure.
The connector is hidden behind the magnetic speaker grill, so it is easy to access without changing the appearance of the speaker.
I redesigned the inner speaker frame to hold the bulkhead connector and printed a small spacer that prevents it from sticking out too far. Without the spacer, the connector would interfere with the grill and prevent it from sitting flush.
There was just enough room to fit the connector between the speaker and the corner of the frame.
The extension uses a thin flex cable that plugs into the original card slot on the touchscreen. It works well, but the cable is delicate and needs to be positioned carefully during assembly so it does not get folded or creased.
Better USB-C Connector

The panel-mount USB-C connector used in the first version had a weird issue where the power cable only worked when it was inserted in one orientation.
That’s obviously not how USB-C is supposed to work.
For V2, I replaced it with a different bulkhead connector that works properly in either orientation.
The new connector has a permanently attached USB-C cable. It is less flexible than the previous one, so the cable didn’t have enough clearance behind the enclosure when plugged directly into the controller board.
I solved that with a right-angle USB-C adapter that points the cable downward. I also added heat-shrink tubing around the connection so the adapter cannot come loose inside the case.
The cable is a little longer than necessary, but it can be carefully coiled inside the enclosure without creating any sharp bends.
Updated Enclosure

The overall shape and appearance of the speaker are mostly unchanged, but I modified several parts of the enclosure to support the new hardware.
The bottom of the main case now has a recessed area for the light pod PCB, along with mounting holes for securing the board. This gives the new PCB enough space without increasing the overall height of the light pod.
I also changed the cutout on the back of the case to fit the new USB-C bulkhead connector.
The front speaker frame was redesigned to hold the microSD card bulkhead connector. The card slot sits behind the magnetic grill, so it remains hidden during normal use but can still be accessed without opening the enclosure.

The main enclosure is printed in brown PETG, takes about 14 hours to print, and uses a little less than a third of a spool of filament.
The front grill attaches with small magnets and can be removed without tools. The touchscreen mounts at the top of the enclosure, and the combination power and volume knob fits into the side.
Just like in the V1 build, I used M3 heat-set inserts for most of the attachment points so the speaker can be assembled and disassembled without threading screws directly into the plastic.
Final Assembly

The assembly process starts with installing the heat-set inserts and mounting the light pod PCB to the bottom of the enclosure.
Once the board is secured, the printed light pod cover screws into the inserts from underneath. Adhesive rubber feet finish off the bottom and raise the case slightly so the LEDs can create a glow around the speaker.
The touchscreen and main PCB are assembled together before being mounted inside the enclosure. The USB-C connector, light pod wiring, knob assembly, speaker wires, and microSD extension all connect to the main board.
The front speaker frame connects last. The microSD flex cable needs to be routed carefully while lowering the frame into place, but once everything is positioned, the frame screws into the main enclosure and the magnetic grill snaps onto the front.
Parts
The following is the full parts list for the V1 and V2 builds:
Case Materials
- Anycubic Brown PETG Filament(Amazon)
- Geeetech Gold Silk PLA Filament(Amazon)
- Elegoo Black PLA Filament(Amazon)
- Neodymium Magnet Kit(Amazon)
- 3D Print Super Glue(Amazon)
- Sound Addicted Adhesive Rubber Feet(Amazon)
Electronics
- Dayton Audio RS75-4 3″ 4 Ohm Speaker(Amazon)
- 2.8-inch 240×320 IPS Capacitive Touch Screen(Amazon)
- Larger compatible screens (excluding the hole pattern + requires firmware tweaks)
- 10K Potentiometer with On/Off Switch(Amazon)
- Panel-Mount / Bulkhead USB-C Connector(Amazon) (new in V2)
- V1 Connector(Amazon) (old)
- Panel-Mount / Bulkhead microSD Card Connector(AliExpress) (new in V2)
- Rectangular LEDs(Amazon)
- Through-hole screw terminals(Amazon)
- USB-C Breakout Test Board(Amazon)
- Chip Quik Lead-Free Solder Paste (TS391SNL50)
- Kester Lead-Free Solder Wire (K100Ld)(Amazon)
Hardware & Tools
- M3 Countersunk Screws (zinc plated)(Amazon)
- M3 Stainless Locknuts(Amazon)
- M3 Socket Cap Screws Hex Head Screw Kit(Amazon)
- M3 Nylon Screws, Nuts, and Spacer Kit(Amazon)
- M3 Heat-set Inserts (short)(Amazon)
- Heat-set Insert Soldering Iron Tips (Hakko and other irons)(Amazon)
- Note: the tips I have(Amazon) for my Weller WES51 are no longer sold
- Audio Spade Crimp Connector Kit(Amazon)
- Ratcheting Crimp Tool(Amazon)
- Ferrule Crimping Tool Kit(Amazon)
- Reflow Oven Build Kit
Final Thoughts

I really love how the speaker turned out. The V1 speaker nailed the aesthetic I was going for and proved out my custom audio controller PCB. The V2 speaker really takes the project to the next level and turns it into something that feels much more polished.
The external microSD card slot is far more practical, the new USB-C connector works the way it should, and the light pod PCB gets rid of the messiest part of the original assembly. Rewatching the light pod assembly from my V1 video makes me cringe. The new light pod design is miles better.
Most importantly, the entire project is now open source. The firmware, PCB designs, and enclosure files are all available for anyone who wants to build one, modify it, or use parts of the design in another project.
Follow me on YouTube @MostlyBuilds if you’d like to see more projects like this.
Alright, on to the next one!