Skip to content
/ vox Public

Build your own privacy-focused, Home Assistant-ready smart speaker.

Notifications You must be signed in to change notification settings

benpops89/vox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📡 VOX

Open Source DIY Smart Speaker

Open-source DIY smart speaker for Home Assistant—from CAD to code.



📖 Vision

VOX is an end-to-end guide and toolkit for building your own smart speaker. The project is structured into three main pillars:

  1. 💿 Base OS: Automated generation of a clean, headless operating system (DietPi).
  2. ⚙️ Configuration: Ansible playbooks to install and configure audio services (Snapcast, Spotify Connect, AirPlay, etc.).
  3. 🛠️ Hardware: 3D printable CAD models (STL/STEP) and a Bill of Materials (BOM) for the electronics.

🏗️ Phase 1: Base OS Image

The foundation of the speaker is a custom-configured DietPi image, built automatically using HashiCorp Packer and Docker. This ensures a reproducible, clean start for every device.

Prerequisites

  • Docker: Required to run the Packer builder container.
  • Mise: (Optional) Used as a task runner.

Configuration

Non-sensitive defaults are stored in variables.pkrvars.hcl. Sensitive credentials (WiFi, SSH, Global Password) must be provided via environment variables.

Secrets Management

Export the following environment variables before building. You can add these to a .env file (ensure this file is git-ignored).

export WIFI_SSID="MyNetwork"
export WIFI_PASSWORD="SuperSecretPassword"
export DIETPI_GLOBAL_PASSWORD="ChangeMeImmediately"
export DIETPI_SSH_PUBKEY="$(cat ~/.ssh/id_rsa.pub)"

Build Command

Run the build using Mise:

mise run build

Or using Docker directly:

docker run --rm --privileged \
    -v /dev:/dev \
    -v ${PWD}:/build \
    mkaczanowski/packer-builder-arm:latest \
    build -var-file=variables.pkrvars.hcl .

🔜 Roadmap

  • Phase 2: Software Configuration (Ansible)

    • Automated setup of audio subsystems (ALSA, PulseAudio/PipeWire).
    • Installation of streaming services (Spotifyd, Shairport-Sync, Snapclient).
    • Voice assistant integration (Rhasspy/Home Assistant).
  • Phase 3: Hardware & Assembly

    • BOM: Full parts list (SBC, DAC/Amp, Drivers, Power Supply).
    • CAD: Enclosure files ready for 3D printing.
    • Assembly: Step-by-step wiring and assembly guide.

📄 License

This project is open source. Please refer to the DietPi documentation for upstream licensing and usage details.

About

Build your own privacy-focused, Home Assistant-ready smart speaker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages