↗ full pad reference & live testers: dpx_biz onesheet

dpx_biz Quickstart

touch a pad · light an LED · send a note or a keypress

About

hello world.i am a normal businessman, currently conducting business

A pocket-sized RP2040 board with 12 capacitive touch pads and 10 addressable RGB LEDs. This repo ships two tiny example firmwares // pick one, they're separate builds. No config files, no mode switching, no USB storage. Just enough to prove the hardware works and give you a clean file to start hacking from.

env: midi_demo

MIDI demo

Touch a pad → its LED lights up → a MIDI note fires over USB.

pio run -e midi_demo -t upload
  • One fixed note per pad // chromatic run from C4
  • Note on touch-start, note off on release
  • Open any MIDI monitor or DAW to see it
test it live // dpx_biz_synth →
env: hid_demo

HID demo

Touch a pad → its LED lights up → a keypress fires over USB.

pio run -e hid_demo -t upload
  • Same shortcuts the production firmware ships with, for disguise d3 designer show control
  • Layer/section navigation, e.g. pad 0 = ctrl+alt+↑ layer up
  • Key held down while the pad is touched
test it live // dpx_biz_hid →
Reference

Pinout & hardware

Hover a pad on the board to see its GPIO, LED index, and what the two demos send when you touch it.

dpx_biz PCB, front side, showing 12 capacitive touch pads
0
pad 0 · x.1
gpio3
led0
midinote 60
hidctrl+alt+↑
d3layer up
1
pad 1 · x.2
gpio2
led1
midinote 61
hidalt+s
d3split section
2
pad 2 · x.3
gpio1
led2
midinote 62
hidalt+m
d3merge section
3
pad 3 · x.4
gpio4
led3
midinote 63
hidctrl+alt+[
d3trim to playhead
4
pad 4 · x.5
gpio9
led4
midinote 64
hido
d3end of container
5
pad 5 · x.6
gpio7
led9
midinote 65
hid.
d3next section
6
pad 6 · x.7
gpio6
led8
midinote 66
hid,
d3previous section
7
pad 7 · x.8
gpio5
led7
midinote 67
hidalt+t
d3repeat prev tag
8
pad 8 · x.9
gpio10
led6
midinote 68
hidspace
d3play section
9
pad 9 · x.10
gpio11
led5
midinote 69
hidctrl+alt+↓
d3layer down
B
SW1 · boot
pressreset/reboot
R
SW2 · reset
hold at power-upbootloader
D1
D1 · status LED
blinkheartbeat
USB
USB-C port
notetop edge, right side
10
pad 10 · no LED
noteon the QR code
11
pad 11 · no LED
noteon the dubpixel logo

hover / tap a marker // numbers match the pad index used in the firmware (0-indexed)

padsilkgpioledmidihidd3 function
0x.13060ctrl+alt+↑layer up
1x.22161alt+ssplit section
2x.31262alt+mmerge section
3x.44363ctrl+alt+[trim to playhead
4x.59464oend of container
5x.67965.next section
6x.76866,previous section
7x.85767alt+trepeat prev tag
8x.910668spaceplay section
9x.1011569ctrl+alt+↓layer down
10-18none70escescape
11-19none71tabtab

The HID demo ships the same shortcuts the production firmware uses for disguise d3 designer // layer and section navigation for show control.

Pads 10 & 11 aren't silkscreened with a number and have no LED beneath them, so they're left off the board diagram // both sit along the bottom edge near center.

Other pins: WS2812 data → GPIO 0 · onboard status LED (D1) → GPIO 25.

Getting started

Build & flash

1

Install PlatformIO

CLI or the VS Code extension // platformio.org

2

Clone & open

git clone https://github.com/dubpixel/dpx_biz_qwikstrt cd dpx_biz_qwikstrt/firmware/src/current/dpx_biz_qwikstrt
3

Build your pick

pio run -e midi_demo # or -e hid_demo
4

Enter the bootloader

Hold RESET (top-right, near USB) → while holding, press BOOT (bottom edge) → release both. Board appears as the RPI-RP2 USB drive.

5

Flash

Drag the built .pio/build/<env>/firmware.uf2 onto the RPI-RP2 drive. It reboots into your new firmware automatically.

stock firmware

Where to go next
This quickstart is intentionally bare-bones. The production firmware for this board adds per-pad configuration (edited via a USB-drive config mode), a physical mode jumper with boot-hold special modes, and full 12-pad polyphonic touch handling // that firmware isn't public yet. Start from these two example files and build up from here.

For the full pad reference, firmware download, and live MIDI/HID testers, see the dpx_biz onesheet.