Pionaarr Mods
CDJ-900NXS · firmware 1.31

Pionaarr Mods

Firmware mods for the Pioneer CDJ-900NXS. We took the player's firmware apart in an emulator and added what newer Pioneer players have: hot cues on the deck, beat jump, colour and 3-band waveforms, keys in Camelot colours and more.

Pick the mods you want in the builder. It patches the official 1.31 update in your browser and gives you a normal C900NXS.UPD to install like any update. The boot loader is never touched, so you can always go back to stock.

Stock CDJ-900NXS screen: blue waveform, red memory cues Modded screen: 3-band waveform, coloured cues and hot cues, HOT KEYS, key in colour, BPM to two decimals Stock 1.31 Pionaarr Mods
Same track, same spot, in the emulator. Right: every mod, including the ones still in testing (the 3-band waveform is one of them).
9
mods in the builder, plus more in testing
A–C
hot cues on the BEAT DIVIDE keys
0 bytes
changed in the boot loader
1 file
built in your browser, nothing uploaded

The mods

Each one next to stock. Two are by arnoldasr, one is based on his work, the rest are ours.

stable experimental ran on a player

Advanced waveforms advanced_waveforms

ours · based on arnoldasr's rgb_waveform, updated and published by us
ran on a playerstable

The big waveform in rekordbox's RGB colours, the overview as a red-to-white gradient. Based on arnoldasr's rgb_waveform, now maintained by us (1.0.1 fixes tracks that showed only gradient colours).

Stock blue detail waveform
Stock
RGB detail waveform
RGB
Stock blue overview waveform
Overview · stock
Gradient overview waveform
Overview · gradient (with cue colours and hot cues)
  • StockBlue waveform, flat blue overview.
  • ModdedRGB waveform, red-to-white overview.

Extended BPM extended_bpm

by arnoldasr
ran on a playerstable

The BPM to two decimals: tenths small above, hundredths below.

Stock BPM 145.0
Stock
BPM with two decimals
Two decimals
  • StockBPM to one decimal.
  • ModdedBPM to two decimals, stacked.

Phase meter phasemeter

by arnoldasr
ran on a playerstable

Two lines instead of four boxes: orange for the master, blue for this deck, a marker sweeping along the bar. UTILITY › PHASE METER switches it.

Stock phase meter: four boxes
Stock
Two-line phase meter
Two lines
UTILITY menu with PHASE METER item
UTILITY › PHASE METER
  • StockFour boxes; UTILITY › SLIP FLASHING.
  • ModdedTwo lines with markers; UTILITY › PHASE METER picks the meter.

Cue colours & hot cues shown cuecolours

ours · made with Claude Code
ran on a playerstable

Memory cues in their rekordbox colours, and the hot cues on the stick (A–H) as lettered boxes on both waveforms.

Stock: red memory triangles only
Stock
Hot cue A box on the detail waveform
Hot cue A on the waveform
  • StockEvery memory cue a red triangle; hot cues not shown.
  • ModdedMemory cues in rekordbox colours; hot cues as coloured A–H boxes.
Read more →

Hot cue keys hotcuekeys

ours · made with Claude Code · needs cuecolours
ran on a playerexperimental

QUANTIZE pressed short switches the hot key mode: the top three BEAT DIVIDE keys play hot cues A–C, instantly. Hold for a gate, hold on an empty key to set one, DELETE + key to delete. Saved on the stick in colour.

Stock: QUANTIZE label only
Stock
HOT KEYS box beside QUANTIZE
HOT KEYS mode on
UTILITY menu with the HOT CUE KEYS item
UTILITY › HOT CUE KEYS
  • StockNo hot cues on the 900NXS; BEAT DIVIDE keys only for loops.
  • ModdedHot cue mode: play, gate, set, delete on the BEAT DIVIDE keys; QUANTIZE still works when held.
Hot cue guide →

Beat jump beatjump

ours · made with Claude Code · needs hotcuekeys
ran on a playerexperimental

TRACK SEARCH ◀◀ ▶▶ jumps 1, 2, 4 or 8 beats on the beat grid, gapless and in phase. Set in UTILITY › BEAT JUMP.

  • StockTRACK SEARCH goes to the previous / next track.
  • ModdedWhole bars (4, 8) or beats (1, 2) forward and back, the phase meter stays where it was.
Read more →

LED animation ledsaver

ours · made with Claude Code
ran on a playerstable

While the screen saver dims the display, the button LEDs and the jog rings play a loop. Any key stops it.

  • StockThe screen saver only dims the display.
  • ModdedButton LEDs and jog rings animate while it is dimmed.
Read more →

Key notation keynotation

ours · made with Claude Code
experimental

Every key in one notation, whatever rekordbox exported: Camelot, Open Key or classic, in its Camelot wheel colour. Also in INFO and BROWSE › KEY.

Key as exported: 4A
As exported (Camelot): 4A
Key in Open Key: 9m
KEY NOTATION › OPEN KEY: 9m
Key 5A in its Camelot wheel colour, orange
Wheel colour: 5A in orange
UTILITY menu with the KEY NOTATION item
UTILITY › KEY NOTATION
  • StockThe key as rekordbox's export setting wrote it.
  • ModdedOFF, CAMELOT (default), OPEN KEY or CLASSIC — the same notation on every stick, in its wheel colour.
Read more →

Boot text credit

ours · made with Claude Code
ran on a playerstable

The boot screen says Pionaarr Mods 1.0 instead of Ver 1.31.

Stock boot screen: Ver 1.31
Stock
Boot screen: Pionaarr Mods 1.0
Pionaarr Mods 1.0

In testing: quick search, USB auto load, a reversed phase meter and the 3-band waveform — see Upcoming.

Build it in your browser

The builder takes the official 1.31 update and adds the mods you tick, on your computer. Only the main application changes; the boot loader and recovery are copied byte for byte and checked.

Prefer the command line? The Python patcher builds the same file, byte for byte:

# pick the mods in a list $ python cdj900nxs_patcher.py C900NXS.UPD # or name them $ python cdj900nxs_patcher.py C900NXS.UPD --mods advanced_waveforms,extended_bpm,phasemeter,cuecolours,hotcuekeys # back to stock $ python cdj900nxs_patcher.py C900NXS.UPD --stock

Both ask you to accept a disclaimer first. Full install guide →