digitalaudioswitch/README.org

39 lines
1.5 KiB
Org Mode

#+title: Audio Input and Volume Control
[[file:pcb.png]]
* Features
- Switches between three external inputs, outputting through the 3.5mm LINE OUT
jack.
- Volume control and input switching can be done using the pressable dial on the front
- Current status is displayed on a 128x32 OLED display
- Can be fully controlled via Home Assistant as an [[https://www.home-assistant.io/integrations/mqtt/][MQTT-discoverable]] device.
* Firmware
** Configuration
Create a file named =settings.json= in the project directory with WiFi and MQTT
connection information.
#+begin_src js
{
"wifi": {
"ssid": "MY-SSID",
"password": "my-wifi-password"
},
"mqtt": {
"broker": "192.168.1.123",
"prefix": "digital-audio-switch"
}
}
#+end_src
** Deploying
Connect the ESP32 to your computer. If you haven't already, [[https://micropython.org/download/esp32/][flash it with the
latest version of MicroPython]], and ensure you have [[https://docs.micropython.org/en/latest/reference/mpremote.html][mpremote installed]].
Running =make= will install dependencies and copy the code and configuration to
the ESP32, resetting it when done.
* Circuit Design
The schematic and board layout can be found in the [[file:kicad/][kicad]] folder.
* Case
The 3D-printable case is built using FreeCAD and can be found in the [[file:freecad/][freecad]]
folder. It is divided into a top and bottom piece. The PCB is affixed using four
M3 threaded inserts and 6mm M3 bolts, the case is assembled using 2 M3 threaded
inserts and 2 10mm M3 bolts.