User Guide
App: MobaDJ — Controller for Mixxx
Covers: v0.1.2 and later
Last updated: 2026-05-15
A tab-by-tab cheat sheet for MobaDJ. Skim it once, then come back when you wonder "is there a shortcut for that?". The Hidden gestures section is the one most users miss — start there if you've already used the app for a while.
Quick start
- Install the APK on the phone. Latest release is on the download folder.
-
- Open Mixxx, go to Preferences → Controllers, select MobaDJ, enable it, and load the mapping. Open MobaDJ on the phone — you're connected.
If your phone has Samsung Auto Blocker on, turn it off (Settings → Security and privacy) — it blocks USB commands.
Decks tab
Transport row (per deck)
- PLAY Press to play, release to stop. Lights up while Mixxx reports the deck is playing.
- CUE Cue the track. Press to set / preview, release to return.
- SYNC Match this deck's tempo to the master.
- LOAD Load the selected library track into the deck.
Pad-grid mode switcher
The 6×2 grid below the transport row morphs between three modes. Each deck remembers its own mode, so deck A in CUE while deck B in LOOP is fine.
- CUE Eight hot-cue pads. A pad lights up only where a hot cue is recorded in the track. Press to jump; long-press to delete (see Hidden gestures).
- LOOP Nine beatloop sizes: 1/8, 1/4, 1/2, 1, 2, 4, 8, 16, 32 beats. The currently active loop size is lit. Tap to start a loop, tap again to release.
- JUMP Twelve beatjumps: −32, −16, −8, −4, −2, −1, +1, +2, +4, +8, +16, +32 beats. Tap to jump.
Library scroll
Vertical drag in the empty area above the pad grid scrolls the Mixxx track library — no need to switch views.
Beatmatch tab
Jog wheels
Each jog has two concentric zones:
- Inner disc — SCRATCH. High sensitivity (default 8.0). Scratch as you would on a turntable.
- Outer ring — BEND. Lower sensitivity (default 3.5). Use for gentle pitch nudges to push a deck forward or hold it back.
The zone is locked the moment you touch down — sliding from inner to outer mid-gesture won't switch modes. Both sensitivities and the inner/outer split (default 58% of the wheel radius) are adjustable in Settings.
Tempo fader (per deck)
Vertical fader; center (50%) is unity pitch — no BPM change. Drag up to speed up, down to slow down. You'll feel a haptic tick when crossing 0%, the center, and 100%. Range is ±4 / ±8 / ±16 / ±50%, set in Settings.
Above and below the fader, the + and − pads send Mixxx's small permanent rate nudges — perfect for dialling in the last 0.05 BPM after the fader gets close.
SLIP toggle
Lit = ON. When SLIP is on, scratching keeps a phantom playhead running in the background; release the jog and Mixxx resumes from where the track would have been. The lit state mirrors Mixxx, not your tap — Mixxx confirms the change.
KEY shift (per deck)
The − and + pads shift the track pitch by ±1 semitone. Between them, a small readout shows the current offset as KEY 0, KEY +2, KEY −1. The number reflects Mixxx's pitch directly, so if you change pitch in Mixxx the app follows.
BPM display
Live BPM read straight from Mixxx, accurate to ~0.01 BPM (14-bit MIDI since v0.1.2). Shows — when no track is loaded.
Mix tab
Per-deck channel strip
- HI MID LOW Three-band EQ. Centered = neutral (no boost, no cut). Drag up to boost, down to cut.
- FILTER QuickEffect filter cutoff. Centered = neutral. The ◀ ▶ pads next to it cycle through filter models. The FILT pad below toggles the filter on/off — lit when on.
- CUE Headphone pre-fader-listen. Lit = on. Tap to monitor this deck in headphones.
- Volume fader. Vertical channel volume. Bottom = mute, top = max.
Master section (centre)
- MASTER Master output gain. Default 80%. Double-tap to reset.
- H.MIX Headphone blend. 0 = cue only, max = main mix. Double-tap to reset to 0 (DJ-cue style).
- H.VOL Headphone volume. Double-tap to reset.
- Master VU. Dual-channel L/R bars: green → yellow → red. The thin white line is a peak-hold marker that lingers ~800 ms then decays — catch fleeting clipping you'd otherwise miss.
Crossfader
Horizontal at the bottom. Left = full deck A, centre = even mix, right = full deck B. The fader's accent colour blends from deck A's accent → master grey at the centre → deck B's accent, so a glance tells you the position.
FX tab
Each deck has a 3-slot effect rack mirroring Mixxx's EffectRack one-to-one.
Per slot
- Meta knob. The slot's primary parameter. Drag to adjust. Single-tap toggles the slot on/off. Double-tap resets to 0.5. When the slot is off, the knob dims to ~40% opacity so a quick scan tells you what's enabled.
- ◀ ▶ Cycle to the previous / next effect for that slot.
Per deck (master column)
- FX ON Toggle the entire FX unit on/off for this deck's channel. Lit when on.
- MIX knob. Master dry/wet for the unit. 0 = dry, max = wet. Double-tap to reset to 0.
Hidden gestures
The behaviors most users never discover by themselves.
- Knob double-tap → reset. Two quick taps on any knob (no drag in between) restores it to its default value. Saves a knob-twiddling fight when you've drifted off-centre.
- Hot cue long-press (≥ 500 ms) → delete. Hold a hot-cue pad for half a second — Mixxx wipes the cue from the track. Quick taps still activate as before, so this never fires by accident.
- Soft takeover on every knob and fader. While your finger is touching a control, Mixxx feedback to that control is muted — the visual won't snap-back to fight your gesture. Release, and the next external update lands cleanly.
- Jog zone is locked on touch-down. Whichever zone you press first (inner SCRATCH or outer BEND) is the one you control for that gesture. Sliding across the boundary mid-touch doesn't switch modes — so a fast scratch never accidentally falls into bend territory.
- Tempo fader haptic ticks. Subtle buzz when crossing 0%, the centre, or 100%. The centre is unity pitch, so the tick tells you when the deck is playing at its true tempo.
- Crossfader colour blend. The accent colour interpolates from deck A's accent → master grey → deck B's accent as you slide. Position by glance, no need to read the position.
- FX slot dimming. Disabled effect slots render at ~40% opacity — quick visual scan of which slots are off vs on.
- Library scroll above the pads. On the Decks tab, vertical drag in the empty area above the 6×2 grid scrolls the Mixxx library. No need to open a separate view.
- Per-deck pad mode. Each deck remembers its own mode independently. Deck A on CUE while deck B is on LOOP is normal usage.
- Single-tap meta knob to toggle the slot. On the FX tab, a single tap (no drag) on a slot's meta knob toggles that effect slot on/off. Drag to adjust, double-tap to reset.
Two-way Mixxx feedback
As of v0.1.2, the app and Mixxx stay in sync both ways. Grab a knob in Mixxx with the mouse — the app's knob follows. Set a hot cue in Mixxx — the app pad lights up. The app reflects all of this automatically:
- BPM (~0.01 BPM precision)
- Hot cues lit only where a cue is recorded
- PLAY, SLIP, PFL (CUE), FILT, FX-on lit states
- Active loop size lit on the LOOP grid
- All EQ / filter / volume / tempo / FX-meta / FX-mix / master / crossfader knob and fader positions
- KEY offset (semitones)
- Master VU L/R with peak-hold
Soft takeover means the visual never fights your finger — touch a knob and the incoming Mixxx echoes pause until you let go.
Settings
Open with the gear icon in the top-right of any tab. Everything persists across sessions.
- Scratch sensitivity. How aggressively the inner jog zone scratches. Default 8.0.
- Bend sensitivity. How responsive the outer jog ring is to pitch nudges. Default 3.5.
- Scratch zone. The fraction of the jog wheel radius that's the inner SCRATCH zone. Default 58%.
- Tempo range. ±4%, ±8%, ±16%, or ±50%. Default 8% (most-used).
- Reset. Restore all four to defaults.
- About. Version info, credits, "Check for updates", donation links.
Compatibility caveats
- USB-C data cable required. Charge-only cables don't enumerate the phone as a USB device — Mixxx will never see it.
- iOS not supported. iOS doesn't expose USB MIDI peripheral mode the way Android does. There's no path to fix this.
- Bluetooth-MIDI not supported. BLE-MIDI latency (30–60 ms with jitter) is too high for scratching and beatmatching. Wired only.
- Samsung Auto Blocker. Some Galaxy devices ship with this on; it blocks USB commands. Turn it off in Settings → Security and privacy.
- Mixxx 2.4 or newer. Older versions don't support the controller-script features the mapping uses.
Questions or bugs
File a report on the feedback form or email digital@mobadj.com. See the changelog for what's new in each release.