Balthazar Rouberol's Raspberry Pi Pico-Powered Ambience Mixer Adds a New Element to D&D Sessions

Designed to bring new depth to pen-and-paper role-playing adventures, this CircuitPython control surface provides quick access to sounds.

Gareth Halfacree
2 years ago β€’ Gaming / HW101 / Music / Python on Hardware

Developer and role-player Balthazar Rouberol has brought a little technology to bear on his Dungeons & Dragons sessions, with a custom-built ambience mixer based on the Raspberry Pi Pico-powered Pimoroni RGB Keypad.

"I find that an immersive sound ambiance is key to helping tabletop RPG players engage," Rouberol explains. "It can increase their stress and sense of urgency during a fight, galvanize them during a harrowing speech, or break their heart when they realize they've just lost something and there's no getting it back."

This Pimoroni RGB Keypad triggers ambient sounds and music to enhance role-playing sessions. (πŸ“Ή: Balthazar Rouberol)

While traditionally said ambience may have been created using a cassette deck and judicious fast-forwarding and rewinding while keeping an eye on the tape counter, these days it's possible to take a more technological approach to the problem. Initially, Rouberol had planned to build something around a Novation Launchpad MIDI control surface β€” but soon realized a far lower-cost alternative would work just as well.

"The project started to take shape when I stumbled upon the Pimoroni RGB Keypad, a 4Γ—4 rainbow-illuminated keypad that I could program using a Raspberry Pi Pico, for a budget of about €30 (around $29)," Rouberol explains. "The color and brightness of the LEDs under the keys is programmable, meaning I could go for the look and feel of a Launchpad, while keeping my budget and the overall complexity in check."

Using the 4Γ—4 grid, Rouberol created a simple layout: 12 possible audio tracks, plus four control buttons including volume and an option to pause all playing tracks. Written in CircuitPython, the resulting program controls the color and brightness of the LED-backlit keys while sending key-press commands to a Python listener on a laptop that, in turn, communicates with an audio-playing web-app via a Websocket connection.

"I have added a configuration-based tagging system, allowing me to get reminded of the main features for each individual track (is that an ambiance or combat music? Is it dark, light, opressing, eerie, etc?)," Rouberol adds. "I'm also propagating the key colors to the associated volume bar, allowing me to quickly identify the key that I need to press to start/pause/adjust a given audio track."

More details on the project are available on Rouberol's website, with the source code for the CircuitPython keypad code and the laptop-side available in the project's GitHub repository under the permissive MIT license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles