Nexo speaker

An open-source smart speaker anyone can make.

About the Project

This project is still in development, meaning it is not fully completed yet and is continuously being improved and expanded.

The smart speaker is a custom-built hardware and software project designed to function as a standalone, network-enabled audio playback device. It is built around a Raspberry Pi and combines multiple audio input sources, including Wi-Fi Spotify streaming and Bluetooth audio, into a single, seamless playback system.

The audio system is managed entirely in software using PulseAudio, where a null sink is used to route and mix audio from different sources before processing and output. This setup allows flexible handling of multiple audio streams while keeping the signal flow modular and easily extendable for future DSP features.

A custom Python control application serves as the core of the system. This application is responsible for starting and managing all required services, handling the interconnection between Wi-Fi Spotify streaming and Bluetooth audio, and ensuring smooth switching between sources. The program also manages the full hardware interface of the speaker, including physical buttons and visual feedback.

User interaction is handled through physical buttons on the speaker, which allow volume control and playback interaction. The current volume level is visually represented using four LEDs on the device, which dynamically light up according to the volume set by the user. Another LED is responsible for giving user feedback on any system changes, for example when volume is changed, playback is paused using the buttons. The LED behavior and button handling are fully implemented in Python and work reliably as part of the system startup. Lastly an optocoupler is used to physically mute the audio output when needed, ensuring no sound is played when the speaker is muted.

The project is designed with a strong focus on modularity, reliability, and hands-on engineering. Both the hardware enclosure and the internal electronics are custom-designed, with attention given to thermal management, acoustic behavior, and long-term stability.

The enclosure is built with acoustics in mind, featuring a seperated chamber, which has the sides made from plaster of paris, for the woofer driver to enhance bass response. The entire case is 3D printed, allowing for easy customization and modification by users. The internal layout is carefully planned to ensure proper airflow and cooling for the Raspberry Pi and other components.

Overall, this smart speaker project showcases a blend of hardware engineering and software development to create a functional and user-friendly audio playback device that can be built and customized by enthusiasts.

Features & Showcasecase

Built With:

Python Linux Raspberry Pi 5 3D printing

Connect with me: