regolo
PublicLoading 3D model… large boards can take a moment.
REGOLO
REGOLO is a 10-channel USB control surface designed for software-based audio volume control.
Its purpose is to provide direct physical control over system and application audio, such as:
- master system output
- main microphone
- secondary microphone
- browser audio
- music playback
- voice chat
- DAW / creative software
- virtual buses or per-application outputs
REGOLO is not intended to be an analog audio mixer. It is a hardware controller for software-side audio mixing.
Project goal
REGOLO is designed to make everyday audio routing faster and more intuitive by providing dedicated physical controls for tasks like:
- raising or lowering an application's volume without switching windows
- muting a specific channel instantly
- getting clear visual feedback about channel state
- assigning each channel to a different audio source or destination
A typical use case is a desktop, streaming, or studio setup where multiple audio sources coexist: system output, microphones, browser audio, media players, communication apps, and creative tools.
How it works
The intended architecture is simple:
- The hardware exposes 10 independent physical channels.
- Each channel provides the microcontroller with:
- an analog potentiometer position
- a digital mute switch state
- a status LED control line
- The firmware reads the inputs and sends events to the computer over USB.
- Host software maps those events to system or per-application volume and mute controls.
This means the actual audio logic lives on the host computer, while REGOLO acts as a dedicated physical interface.
Main features
- 10 independent channels
- Continuous physical control for each channel via potentiometer
- Dedicated mute per channel
- Status LED for visual feedback
- USB-C connectivity
- CH32V203 microcontroller with integrated full-speed USB
- Hardware designed in KiCad
- Planned firmware development with WCH Fun
Current hardware architecture
Based on the current repository state, the hardware is organized as follows.
Channels
Each channel is replicated as the same building block and exposes:
A_OUT: analog output from the volume controlmute: mute switch statestatus: LED control line
In the PCB project, each channel includes:
- one potentiometer (
RS301111A01Glocal footprint) - one DPDT switch (
XKB5858-Z-TP) - one status LED with supporting passive components
MCU
The device is built around a WCH CH32V203, used to:
- sample the 10 analog signals (
ADC_[1..10]) - read the 10 switches (
SW_[1..10]) - drive the 10 LEDs (
LED_[1..10]) - communicate with the host over USB
The schematic also includes programming and debug-related signals such as:
SWDIOSWCLKRSTBOOT0BOOT1
USB and power
The current USB section includes:
- USB-C USB 2.0 connector
- USBLC6-2P6 ESD protection on the data lines
- polyfuse on USB power input
- AZ1117CH2-3.3 regulator for the 3.3V rail
Current status
The repository currently focuses on the hardware design of the device.
Present
- PCB project in
pcb/mobo/ - modular schematics for:
- channel
- MCU
- USB
- local KiCad symbols and footprints in
pcb/components/
Not yet included
- device firmware (
firmware/is currently empty) - host-side software to map hardware controls to actual system/application volumes
Project structure
regolo/
├── firmware/ # Device firmware (to be developed)
├── pcb/
│ ├── components/ # Local KiCad symbols and footprints
│ └── mobo/ # Main board project
│ ├── mobo.kicad_pro
│ ├── mobo.kicad_sch
│ ├── mobo.kicad_pcb
│ ├── channel.kicad_sch
│ ├── mcu.kicad_sch
│ └── usb.kicad_sch
├── LICENSE
└── README.md
Opening the hardware project
To inspect or modify the PCB design:
- install KiCad 10 or a compatible version
- open:
pcb/mobo/mobo.kicad_pro
The project uses local libraries stored in:
pcb/components/
Firmware
The firmware is planned around WCH Fun.
WCH Fun is a lightweight framework well suited for WCH microcontrollers and fits the goals of the project:
- direct low-level control
- small and simple firmware architecture
- straightforward USB and peripheral handling
- good fit for a dedicated embedded control device
The firmware side is expected to handle:
- sampling the 10 potentiometers
- reading the 10 mute switches
- updating the LEDs
- exposing the controller state to the host over USB
Expected use cases
Example 10-channel assignments:
- system master output
- main microphone
- secondary microphone
- browser
- music
- Discord / voice chat
- game audio
- DAW
- monitoring / recording bus
- virtual output / streaming bus
The channel mapping is expected to be software-configurable.
Important note
As the current design suggests, REGOLO is a control surface, not a board that directly processes analog audio signals. Volume control is performed in software, with the operating system or a host application responsible for managing the actual audio levels.
License
REGOLO uses a split licensing model that matches the different nature of its hardware and software sources.
Hardware design
The hardware design files are licensed under the CERN Open Hardware Licence Version 2 - Strongly Reciprocal (CERN-OHL-S-2.0).
This applies to the open hardware sources in the repository, including for example:
- schematics
- PCB layout files
- KiCad symbols
- KiCad footprints
The full hardware license text is available in LICENSE.
Firmware
The firmware in firmware/ is licensed under the MIT License.
The firmware license text is available in firmware/LICENSE.
This gives the embedded software side a simple and widely used open source license, while keeping the hardware design under a proper open hardware license.
Unless otherwise noted:
- hardware design files are provided under
CERN-OHL-S-2.0 - firmware source code is provided under
MIT
If host-side software is added to the repository in the future, it may follow the same MIT license or be licensed separately where appropriate.
No comments yet. Be the first to ask about this board.