DIY Mycroft voice assistant based on the Raspberry Pi, Seeed ReSpeaker 4-mic array, and some cheap speakers.
Printing
I used black PLA for all parts except mycroft_led_ring.stl, which requires any transparent material (I used clear PETG).
No support required for any of the parts, but helpful for mycroft_top_body.stl and mycroft_top_center.stl.
Additional parts
This thing is built closely around the components, so there is little space for deviation.
- Raspberry Pi model B
- Any model B should be fine, but in terms of performance, version 3 is barely good enough, and any more powerful version is recommended.
- Seeed ReSpeaker 4-mic array
- HAMA Sonic Mobil 185 speakers
- 20cm 20x2 ribbon cable
- 4x M3x8 screws for mounting the pi to the case
- 4x M3x20 screws for keeping the top of the case and the mic array together
- USB-C power supply providing at least 2A, ideally 3A.
- (optional) 90 degree angle adapter for 3.5mm headphone jack
- If you use a Raspberry Pi 5, which doesn't have an audio jack, you also need a USB sound card.
Assembly
- Slide the speakers into mycroft_merged_speaker_enclosure.stl.
- Use the M3x8 screws to attach the Raspberry Pi to mycroft_merged_speaker_enclosure.stl with the GPIO headers facing outside and the SD card slot facing down.
- Assemble the top part:
- Insert the mic array into mycroft_top_body.stl so that the GPIO are inside of it, and on the opposite side as the nook that's intended to run the ribbon cable through.
- Place mycroft_led_ring.stl on top of the RGB LEDs, so it fits around them nicely. The dimensions of the part are very precise, so it should almost snap into place with a little force.
- Place mycroft_top_outer.stl on top of mycroft_led_ring.stl and hold it in place using the M3x20 screws that should go through the mic array board into mycroft_top_body.stl.
- Finally, insert mycroft_top_center.stl into mycroft_led_ring.stl and rotate it so the text faces forward, which is the side where the GPIO headers are located. The dimensions of this part are also very precise so it sticks in mycroft_led_ring.stl without the need for glue.
- Stick the top part of the case onto the part containing the speakers, so the GPIO cable exits through the nook on the back side (i.e. where the Pi is located).
- The studs for holding the top part in place are a bit fragile, although I already made them as big as possible in the final iteration of mycroft_merged_speaker_enclosure.stl. If one snaps off, just re-attach it with super glue, and it will stay in place forever.
- Connect all the cables to the ports that fit them.
- The ribbon cable should be connected to the mic array so the cable can exit through the nook.
- Connect it to the Pi so the cable goes over the Pi, not straight away from it.
Software