The cheapo usb 5.1 audio interface I got only does surround sound through a bunch of 3.5 mm analog plugs, and the surround speakers at the lab are digital only (the interface has optical out but it only carries stereo).
Got the api check and rotary check functions working on proper timers instead of using sleep and jamming each other up.
Got the rotary encoder properly cycling through the exits array and changing the color of a neopixel, and looping from the last to first exit. - commit
Adding the solenoid lock to the sketch today, also looking at this for subscribing to api events instead of checking the api on a timer from circuitpython. -reference: mqtt
grotto staging is busted for a bit, item description pages are coming up blank