The SDVX Controller PCB was designed specifically for single-layer home etching, which means you can manufacture it yourself with basic equipment — or simply order it from any PCB fabrication service using the Gerber files inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/MrJefter/sdvx-controller/llms.txt
Use this file to discover all available pages before exploring further.
hardware/pcb/gerbers/. Once you have the board in hand, this guide walks you through every soldering step in the correct order: SMD components first (if any), then through-hole parts from shortest to tallest, finishing with connectors. Taking care at this stage prevents difficult debugging later.
Assembly Steps
Gather components from the BOM
Download or open the Bill of Materials from
hardware/pcb/ and check every component off the list before you begin. Confirm you have:- 1× STM32F401 BlackPill v3.0
- 7× Cherry MX-compatible switches (e.g., Outemu Red)
- 2× LPD3806 rotary encoders
- 1× WS2812B LED strip (12 LEDs)
- Pin headers, sockets, and passive components listed in the BOM
Inspect the PCB
Examine the bare PCB under good lighting. This is a single-layer board — confirm that the copper traces are on the correct side, matching the board layout in
hardware/pcb/. Look for any obvious etching defects, bridged traces, or damaged pads before investing time in soldering.Solder any SMD components first
If your BOM revision includes SMD passives (resistors, capacitors, filter components), solder these before any through-hole parts. SMD work requires a flat, unobstructed board surface — through-hole leads sticking out make precise SMD placement very difficult. Use solder paste or thin flux-core wire and a fine-tipped iron at around 300 °C.
Solder the button switch footprints
Place and solder all 7× Cherry MX-compatible switch footprints on the PCB. The button assignments from the firmware are:
All button inputs are active-low with internal pull-up resistors configured in firmware — no external pull-up resistors are required on the PCB.
| Label | Function | GPIO Pin |
|---|---|---|
| BTN1 | BT-A | PA5 |
| BTN2 | BT-B | PA3 |
| BTN3 | BT-C | PA2 |
| BTN4 | BT-D | PA1 |
| FX-L | FX Left | PA4 |
| FX-R | FX Right | PA9 |
| START | Start | PA10 |
Solder the encoder connectors or headers
Each LPD3806 encoder requires four connections:
Ensure the header orientation matches how your encoder cables will route through the front panel cutout — an upside-down header is a frustrating mistake to correct inside the finished enclosure.
+5 V, GND, and two quadrature signal channels (A and B). Solder the headers or JST-style connectors for both encoder positions:| Encoder | Function | Channel A Pin | Channel B Pin |
|---|---|---|---|
| VOL-L (TIM3) | Left volume knob | PA6 (KNOBLA) | PA7 (KNOBLB) |
| VOL-R (TIM4) | Right volume knob | PB6 (KNOBRA) | PB7 (KNOBRB) |
Install the BlackPill via pin headers or socket
You can either solder the BlackPill directly to the PCB using its pin headers, or — strongly recommended — use a double-row female socket so the BlackPill remains removable for re-flashing or replacement. Align Pin 1 carefully; the silkscreen marking on the PCB and the BlackPill must match. Solder the header pins on one end first, verify the board is seated straight, then solder the remaining pins.
Solder the LED strip connector or wire
Run a short wire or solder a connector for the WS2812B LED strip. Three connections are required:
Keep the data wire as short as practical to minimize signal noise. A 300–500 Ω resistor in series with the
| Signal | PCB Pin | Description |
|---|---|---|
DIN (Data In) | PB0 | Serial data line from STM32 |
+5 V | +5 V rail | Power for the LED strip |
GND | GND | Common ground |
DIN line is good practice for protecting the first LED’s data input, though the PCB BOM may already include this.Inspect all solder joints
Before powering anything on, use a multimeter in continuity mode to:
- Verify each button pad is connected correctly to its GPIO net.
- Verify each encoder
A/Bsignal pin reaches the BlackPill header. - Check for shorts between
+5 VandGND— a dead short here will cause problems the moment USB is plugged in. - Check for shorts between neighboring pads on the BlackPill socket.
Optional DFU mode modification: A 150 nF ceramic capacitor can be added to the BlackPill board (the placement illustration is available in the repository under
docs/images/). Once installed, holding the START button for 5 seconds will put the BlackPill into USB DFU mode, allowing firmware updates over USB without needing an ST-Link programmer or manually pressing the BOOT0 button.