Repository navigation
Volco v1.1
🎚️ Volco 1.1
Buttons now do much more. A button can control your music, open a program or run a script, and its screen or light shows you what each press did. Media buttons show a moving equaliser while music plays. The Controller page has also been reworked: connecting, setting up and testing a controller now happen in one place.
⚠️ This release needs new controller firmware. After updating, open Controller and choose Update firmware. Your controller's setup is kept. The app's settings are upgraded automatically, and your oldconfig.jsonis backed up next to it.
📦 What's in the box
| File | What it is |
|---|---|
Volco.exe |
The app. One self-contained file for Windows 10/11 (x64), nothing to install. It carries the matching controller firmware inside it. |
volco-firmware-esp32-1.1.zip |
The same firmware on its own, for flashing with your own tools, plus its licence notices and the LGPL relink bundle. Most people won't need it. |
✨ New
🎵 Media buttons
- Play/pause, Next track, Previous track and Stop, sent to whatever is playing or to an app you choose (Spotify, a browser, …).
- The LED is lit while that app plays. A screen shows
PLAYINGorPAUSEDover the app's name. - A moving equaliser on the screen while the music plays, frozen bars when it's paused. It keeps moving when the screen dims and stops when the screen turns off.
- Play/pause responds immediately: the screen and light switch to the new state as you press, without waiting for the app to answer.
🚀 Open a program, run a script
- Open a program: an
.exe, a shortcut, asteam://link or a document. If it's already running, its window comes to the front. The light is on while it runs. - Run a script:
.bat/.cmd, PowerShell, Python, Node or anything with a file association, run hidden. Choose whether a press while it's running is ignored or starts another run. A failed script flashes its button and writes its last output lines to the log. Scripts receiveVOLCO_BUTTON,VOLCO_GESTUREandVOLCO_PRESET. - For safety, programs and scripts run only when the controller is connected over USB. Presses over Wi-Fi or WebSocket are refused and logged (see below).
👆 See what a press did
- Double press and hold actions show on the screen. For 1.5 s after you use one, the screen shows that action, then goes back to the button's main one. A light blinks twice.
- A press that couldn't work says why. The screen shows an ✕ with the reason:
NOT RUNNING,NO MEDIA,NOT AVAILABLE,USB ONLY,CAN'T OPENorNO FILE. A light flashes fast.
🧩 A reworked Controller page
- Connection lives on the Controller page now. The separate Connection page is gone, and one COM-port picker serves both connecting and firmware.
- A setup dialog greets a controller that hasn't been set up yet. Apply your saved setup, start from a preset, or start from scratch. It opens again after a firmware install.
- Mistakes are marked where they are. Every problem in the hardware setup is shown on its row with a red border and a sentence saying why, such as a pin used twice (on both rows), or a pin that can't read a slider or can't be used while Wi-Fi is on.
- Coloured status icons for the link, the firmware and notices. The firmware line only shows an icon when something needs your attention.
- A save bar at the bottom for unsaved changes (Revert / Save to controller), the save's progress and its result.
- The hardware test runs in a dialog, and pressing a button cycles its light or screen so you can check it.
- Installing firmware asks for confirmation in a dialog first.
🖥️ Smoother screens
The controller now sends only the part of a screen that changed. Animations cost a fraction of the screen bus time they used to.
🧪 Simulator
- Pin map: the builder shows which GPIO each slider, button, LED and screen bus uses, worded the way the Controller page asks for them, so you can set the simulator up by hand.
- Loads faster, no longer freezes for a second when you add an LED button, and explains why a control is greyed out when you run out of pins.
- The board sits square in front of the monitor.
🐛 Fixed
- Volco could crash on exit when a slider moved while it was shutting down.
- Double press and hold actions never showed on a button's screen.
- A Play/pause briefly showed
PLAYINGafter a pause before catching up. - "Save to controller" could disappear after the controller's storage was erased, leaving no way to store the setup.
- Cancelling a firmware install cleared the probe result and its Install button.
🚧 Known issues
- Programs and scripts don't run over Wi-Fi or WebSocket until the controller can be authenticated (#89). Media actions work on every connection.
- A script can't yet set its own button's light or screen text (#91).
- The rough edges listed for 1.0 still apply. Only the ESP32 (not the S2, S3 or C3) is supported, and the app is Windows only.
Found something odd? Please open an issue. The log at %APPDATA%\Volco\volco.log helps a lot.
Full changelog: v1.0...v1.1