While I don’t have the jog wheel available on hand, I decided to start writing some code anyway while I wait for mine to arrive!
Using some parts laying around, I soldered up a beautiful button board for an ESP32, and wrote the ArylicHTTP library for interfacing an ESP32 with Arylic devices via the HTTP API.
Using the previously mentioned library, I build a small firmware package for the ESP32 which will grab button presses and interact with the API accordingly. I will need to make some modifications to work with the jog wheel once that arrives.
Firmware on GitHub
There are some improvements to be made for sure, currently the device supports only 5 functions:
- N: Set volume to 80%
- S: Set volume to 40%
- E: Next track
- W: Previous track
- C: Pause
The next two feature to work on are WiFi provisioning, and better volume control - Using the getPlayerStatus call I would like to fetch the existing volume and modify that vs setting an arbitrary level.
The firmware was designed to, on button press, wake and connect to WiFi; once the WiFi connection has been established, button presses will preform the above actions with minimal latency. After a period of inactivity, 15 seconds, the device will go into a low-power deep sleep mode to preserve battery power.
Some spare parts, an ESP32, and LiPos I had laying around, and now I’ve got myself v1 of an Arylic remote!