Blog VCV Rack 9 min read

VCV Rack 2 — Gamepad as a CV Source via Core MIDI-CC

Patch a DualSense or Xbox pad into VCV Rack 2: sixteen CC outputs on MIDI-CC, gates on MIDI-Gate, and direct knob control with MIDI-Map, for free.

By Aidxn Design

Software modular has one honest weakness compared to hardware: the mouse. You can only turn one knob at a time, and patching is a two-handed activity that leaves you no hands for performance. A gamepad fixes that cheaply — two analogue sticks, two analogue triggers and a touchpad give you five simultaneous continuous controls, which is more than most people's hardware Eurorack performance panel. This guide wires a VCV Rack gamepad MIDI CC rig using the Core MIDI-CC, MIDI-Gate, MIDI-CV and MIDI-Map modules, with Universal Controller MIDI doing the HID-to-MIDI translation.

TL;DR
  • What you do: publish the pad as a virtual MIDI port, drop in Core MIDI-CC, click-learn each cell from a gamepad control, patch the outputs as CV.
  • What you need: VCV Rack 2 (Free is fine), macOS, Windows or Linux, any supported controller, the bridge.
  • Time: 10 minutes to first voltage, longer if you get distracted patching — which you will.
  • Cost: VCV Rack Free costs nothing; the bridge is free to try, $89 for Pro.

Can VCV Rack use a PS5 or Xbox controller?

Only through a MIDI bridge — VCV Rack 2's Core modules enumerate MIDI drivers and devices, and a gamepad is an HID device, not a MIDI one.

Open any Core MIDI module's device popup on a stock machine and you will see your MIDI keyboard, your interface, and the IAC bus — never the gamepad, even though the operating system knows perfectly well it is plugged in. The bridge reads the pad's HID reports, applies deadzones and curves, and publishes a virtual MIDI port called UCM Bridge. From Rack's point of view it is just another MIDI device. If you want the underlying detail of how those ports are implemented differently on each OS, we wrote it up in the virtual MIDI port explainer.

What you need

  • VCV Rack 2 — Free, Studio or Pro, all include the Core modules used here
  • Universal Controller MIDI — download for macOS, Windows or Linux
  • A supported gamepad — DualSense, DualShock 4, Xbox Series, Switch Pro, 8BitDo, Steam Deck controls
  • macOS: IAC Driver online. Windows: nothing extra. Linux: ALSA sequencer, covered in the Linux install doc

Setting up the Core MIDI-CC module

1. Place the module

Right-click on empty rack space to open the module browser, type MIDI-CC, and place Core MIDI-CC. It is a 16-cell grid with 16 output jacks underneath. Each cell holds one CC number; the jack below it carries that CC as a control voltage.

2. Point it at the bridge

On the module panel, click the driver popup and pick your platform's driver — CoreMIDI on macOS, Windows MIDI on Windows, ALSA on Linux. Then set the device popup to UCM Bridge and the channel popup to 1. If the port is not in the list, Rack enumerated devices before the bridge started; use the module's context menu to rescan, or restart Rack.

3. Learn each cell

Click a cell — it starts flashing — then move the gamepad control you want on it. The cell captures the CC number and stops flashing. Work through them in a deliberate order so the panel reads sensibly later:

  • Cells 1–2: left stick X and Y (CC 3, CC 4)
  • Cells 3–4: right stick X and Y (CC 5, CC 6)
  • Cells 5–6: L2 and R2 triggers (CC 1, CC 2)
  • Cells 7–8: touchpad X and Y (CC 16, CC 17)

4. Choose your voltage range

Right-click the MIDI-CC panel. The context menu has a CC output voltage choice between 0V to 10V and -5V to +5V, applied to the whole module. Unipolar is right for filter cutoff, VCA level and anything that should rest at zero. Bipolar is right for FM index, pan, and anything where centre should mean "no effect" — which is exactly what a spring-loaded stick does when you let go of it.

5. Smooth the steps out

Standard MIDI CC is 7-bit, which means 128 values across the full travel of a trigger. On a slow filter sweep you can hear the steps. The MIDI-CC context menu has a Smooth option that interpolates between incoming values — turn it on and the stepping disappears. If you want even more control, patch the output through a slew limiter module and set the rise and fall times by ear.

How do you get buttons into the rack?

Use Core MIDI-Gate for the buttons and Core MIDI-CV if you also want pitch — MIDI-Gate turns each learned note into a gate output, MIDI-CV gives you a proper pitch and gate pair.

MIDI-Gate is the one to reach for first. Place it, point it at the same port, click a cell and press a face button. The cell learns the note number and the jack beneath it goes high while the button is held. Patch those into envelope triggers, sample-and-hold clocks, sequencer resets, or a clock divider's reset input. The d-pad's four notes make an excellent set of scene-change triggers.

MIDI-CV is the one to use when you want to actually play notes. It gives you V/oct pitch, a gate, velocity, aftertouch and mod wheel from the same port. The face buttons and d-pad produce eight notes in the bridge's default map, which is enough for a bassline. If you want more than eight pitches, quantise a stick instead: run the left stick's CC into a quantiser module and you have a continuous pitch surface with scale lock.

What is MIDI-Map and why is it the fastest route?

MIDI-Map binds a gamepad CC straight to any knob on any module in the rack without a single patch cable, which makes it the quickest way to get hands on a patch you have already built.

Place Core MIDI-Map, set the driver and device, then click the Map button. The module waits; click any knob anywhere in your rack, then move a trigger. The knob is now under gamepad control, and MIDI-Map shows the module and parameter name in its list. Repeat for up to 128 mappings per module instance.

This is the difference between "I built a patch for the gamepad" and "I have a gamepad for the patch I already built". Keep one MIDI-Map module in every rack you make. It takes 4 HP and it turns any finished patch into a performance instrument in about 30 seconds.

Default mapping table for a VCV Rack patch

The bridge's default preset on channel 1, and a modular job for each control that actually plays well.

Gamepad into VCV Rack 2
Control MIDI message Target
L2 trigger CC 1 MIDI-CC (unipolar) Filter cutoff
R2 trigger CC 2 MIDI-CC (unipolar) VCA level / wet mix
Left stick X CC 3 MIDI-CC (bipolar) Oscillator detune
Left stick Y CC 4 MIDI-CC (bipolar) FM index
Right stick X CC 5 MIDI-CC (bipolar) Stereo pan / width
Right stick Y CC 6 MIDI-CC (bipolar) Resonance
Touchpad X CC 16 MIDI-CC (unipolar) Wavefolder amount
Touchpad Y CC 17 MIDI-CC (unipolar) Reverb size
Cross / A Note 60 MIDI-Gate Envelope 1 trigger
Circle / B Note 62 MIDI-Gate Envelope 2 trigger
Square / X Note 64 MIDI-Gate Sequencer reset
Triangle / Y Note 65 MIDI-Gate Sample and hold clock
L1 / R1 Notes 67 / 69 MIDI-Gate Clock divider taps
D-pad Notes 78–81 MIDI-Gate Scene / preset triggers

Does this get you closer to a hardware Eurorack?

For performance control, yes — and if you own an audio interface with DC-coupled outputs, the same gamepad can drive real Eurorack CV through VCV Rack's audio module.

That is the quiet superpower of this setup. Patch a MIDI-CC output into a Core Audio module output channel on a DC-coupled interface and VCV Rack becomes a MIDI-to-CV converter with sixteen channels and a visual patch editor, driven by a gamepad. We covered the dedicated hardware route in the Expert Sleepers ES-9 guide and the general approach in gamepad to modular CV — VCV Rack sits neatly between them as the software-first option.

Troubleshooting

  • Port missing from the device popup. Rack enumerated before the bridge was running. Use the module's context menu to refresh devices, or restart Rack with the bridge already open.
  • A cell learns the wrong CC. A drifting stick fired first. Widen the deadzone, then re-learn.
  • Output voltage is stepping audibly. Enable Smooth in the MIDI-CC context menu, or patch through a slew limiter.
  • Gate stays high after you let go. The note-off was dropped, usually a Bluetooth hiccup. Use a cable for anything with gates in it.
  • Everything is doubled. You have two MIDI-CC modules on the same CC. Rack happily lets you do that — check both panels.
  • Only three bridge presets will save. Free-tier limit; Pro removes it and unlocks the mapping editor. See Pro vs Free.

FAQ

Does VCV Rack see a gamepad directly?

No. VCV Rack 2 reads MIDI devices and audio devices, not HID game controllers, so a DualSense or Xbox pad never appears in the MIDI-CC device popup until something publishes it as a MIDI port. That is what Universal Controller MIDI does.

What voltage range do the MIDI-CC outputs produce?

Core MIDI-CC has a context-menu option for either 0 to 10 volts or minus 5 to plus 5 volts per module. Unipolar suits filter cutoff and VCA levels; bipolar suits anything that needs to go negative, like FM index or pan.

Why does the CV output step rather than glide?

Standard MIDI CC is 7-bit, so you get 128 discrete steps. Turn on Smooth in the MIDI-CC module context menu, or patch through a slew limiter — both remove the stair-stepping without changing the mapping.

Can I use the gamepad to play notes as well as send CV?

Yes. Add a Core MIDI-CV module alongside MIDI-CC and point it at the same port. Face buttons and the d-pad send notes, so MIDI-CV gives you pitch and gate from the same controller.

Does this work with VCV Rack Free, or do I need Pro?

VCV Rack 2 Free includes all the Core MIDI modules used here, so the Rack side costs nothing. On the bridge side, the free tier covers the default CC and note map; custom bindings, more than three saved presets and multi-controller routing are Pro features.

Where to go next

The natural next build is a two-handed rig: one gamepad on MIDI-CC for continuous modulation, a second on MIDI-Gate for triggers, each on its own virtual port so they never collide. Multi-controller routing is a Pro feature and the approach is in the two-controller guide. For a free software synth that pairs beautifully with the same controller, the Surge XT mapping guide is the obvious companion.

Download Universal Controller MIDI, drop a MIDI-CC module into your rack, and give a patch you already love a pair of hands.

Keep reading

More setup walkthroughs