Run your Home Assistant Voice Assist Wyoming Satellite on your old dusty Pi 3b(+)!
Non-printed materials required for assembly
1) M2 8mm round head screw - 12 pieces
2) M2 16mm round head screw - 2 pieces
3) M2 8mm flat head screw - 4 pieces
4) Speaker mesh fabric meant for audio equipment, 0.5 mm thick. This AliExpress listing looks like the fabric that I bought:
https://aliexpress.com/item/32860133394.html
5) Respeaker 2-Mic board from Keyestudio - availabe on AliExpress
https://aliexpress.com/item/32902300949.html
NOTE: the Keyestudio board is incompatible with a regular speaker plug, you need to order the Dupont variant of the 2831 speaker and connect it with proper polarity!
6) 2831 4 Ohm 3W Dupont connector speaker - availabe on AliExpress: https://www.aliexpress.com/item/1005005247563116.html?&sku_id=12000035552488960
7) Raspberry Pi 3B(+)
8) microSD card. I bought a 32gb endurance Samsung one.
9) Official MicroUSB Raspberry Pi power supply (don't cheap out on power supplies!)
10) Optional - rubber bumpers to cover screw holes on the bottom and to act like feet (see photos):
https://aliexpress.com/item/1005002619943801.html
11) A rubber band.
Printing instructions (Bambu Lab Studio):
1) Case needs to be (preferably) printed with Snug supports and is optimized for 0.2mm layer height. I printed with PETG HF due to the warmth coming from the Pi, but it's probably fine to use PLA.
2) Print 2 pieces of 1mm thick washers, 2 pieces of 11mm thick “tall washers”, 2 pieces of 4 mm thick “tall washers” and 2 pieces of 3mm thick “tall washers”.
3) Optionally enable ironing for the topmost surface of the Main Body and Outer Lid models for better apperance.
4) (Optionally) Set bridges fan speed to 100%.
5) Use 100% infill for better acoustics.
Pre-assembly steps:
1) Remove all supports.
Assembly steps:
1) Fit the Raspberry Pi 3B(+) snugly inside the main body.
2) Place 2 11mm “long washers” on top of mounting holes that are closer to the GPIO pins and 2 4mm thick printed plastic washers on top of the other 2 mounting holes.
3) Connect Respeaker 2 board to the Pi Zero, without losing the previously placed washers in the process.
4) Place 2 3mm thick printed plastic washers on top of mounting holes on the Respeaker board that match the ones on the Pi.
5) Insert 2 M2 16mm round head screws into the mounting holes closer to the GPIO pins and 2 M2 8mm round head screws into the other 2 holes through the washer. Secure the screws.
6) Place the speaker onto its stands, orienting the wire to face the Respeaker board and not the main body walls.
7) Place 2 1mm printed plastic washers on top of mounting holes of the speaker.
8) Secure the speaker with 2 M2 8mm round head screws to the main body.
10) Connect the speaker to the Respeaker board with correct polarity (see photos).
11) Cut a piece of the speaker fabric large enough so that it could be tied into a knot around the Inner Lid piece.
12) Tightly wrap the piece of fabric around the Inner Lid piece and temporarily secure it to form a knot with a rubber band (see a reference photo for a different kind of speaker here https://www.printables.com/model/873274-fabric-home-assistant-wyoming-satellite-case-based). You want to pay attention to the weave pattern on the side opposite to the knot so that it matches the orientation of the main body and looks nice.
13) Connect it with the Outer Lid piece.
14) Place 8 M2 8mm round head screws into the outer lid holes.
15) Tightly secure 2 lid parts with the screws.
16) Unwrap the knot and cut excess fabric (see photos)
17) Place the lid assembly into the main body snugly. Make sure the side holes one the main body match with the side holes on the lid!
18) Secure the lid with 4 M2 flat head screws located on the sides, 2 on each.
19) Optionally add 4 rubber feet at the bottom (improves audio quality).
Disclaimer: The audio on this is nowhere near Echo Dot/Nest Mini level of quality, but it's usable as a smart remote control speaker.
Software installation tutorial:
https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_2mic.md
You might not want to set up the LED service because the LEDs are very bright and shine right through the case and the fabric, which doesn't look very nice.
Here are some options I've found useful when setting up the satellite and openwakeword services with this particular satellite I've built:
from wyoming-satellite.service:ExecStart=/home/pi/wyoming-satellite/script/run \ --name 'Pi Satellite' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -D plughw:CARD=seeed2micvoicec,DEV=0 -r 22050 -c 1 -f S16_LE -t raw' \ --snd-volume-multiplier 0.35 \ --mic-auto-gain 5 \ --mic-noise-suppression 1 \ --mic-seconds-to-mute-after-awake-wav 0 \ --wake-refractory-seconds 3 \ --awake-wav 'sounds/awake.wav' \ --timer-finished-wav 'sounds/timer_finished.wav' \ --timer-finished-wav-repeat 3 3 \ --wake-uri 'tcp://127.0.0.1:10400' \ --wake-word-name ‘ok_nabu’
If you have any questions or found a mistake in the instructions please let me know! I wrote them in a hurry.
The author marked this model as their own original creation.