Mixxx
The free, open-source DJ software the deck runs. TriMixxx is a fork of Mixxx 2.5.6; everything that makes a deck play music starts there.
TriMixxx is designed and built by Samuel Prevost: the boards, the firmware, the Mixxx fork and the Pro DJ Link work. It began in February 2026 as a single circuit board, and became a deck that played its first gig eight months later.
It is not a product, and there is nothing to buy. It is a working deck whose every layer is published, so that whoever wants to try an idea in the booth, whether a new control, a new way to sync or a new screen, has a whole deck to try it on.
Pioneer DJ's CDJs are the industry standard. Thousands of venues already have them set up, and DJs expect to find them when they walk into a booth: players that read the rekordbox stick they brought, with an interface they all know how to use.
That standard has made Pioneer a monopoly in all but name, and a monopoly holds back what anyone else might invent. Its players are closed to the people who own them, too: there is no upgrading the hardware and no adding to what it can do. I believe that whoever buys and owns a piece of hardware should be free to do whatever they want with it, and never be locked out of it.
I also wanted to learn, for myself, every skill it takes to put a finished product together: mechanical design and 3D printing, PCB design, embedded electronics and firmware, C++, audio processing, and the rest.
A CDJ is not much more complex than a very large iPod. It plays music files out of a socket; the jog wheel, the buttons and the screen around it are interface. By building TriMixxx in the open, I want to give everyone curious about it a known base to build on and to iterate from, and to show the problems I ran into and how I solved them, so that building something like it yourself looks a lot less daunting.
Samuel Prevost
Most of a deck already existed as free software. These are the projects it would not exist without.
The free, open-source DJ software the deck runs. TriMixxx is a fork of Mixxx 2.5.6; everything that makes a deck play music starts there.
varal's serial-to-ALSA MIDI bridge, forked to carry SysEx both ways: the only thing between the controller's UART and Mixxx.
cnlohr's bare-metal toolkit for the CH32V003, and its minichlink flasher. Every pad node runs on it.
cdj2k-revival's emulator of the CDJ-2000, which boots the player's own firmware. TriMixxx's fork puts emulated CDJ-2000NXS players on the decks' network.
The update framework behind the deck's A/B slots and its signed bundles.
The faithful DOOM port the deck boots into when PLAY is held, unmodified.
The system the deck boots, the tool every board was drawn in, and the build system of its controller firmware.
Deep Symmetry's dysentery and the other published Pro DJ Link projects were the starting map. TriMixxx's own implementation was then written from captures of its own hardware, without their code.
Everything is on GitHub under free licences. The deck's own repository is GPL-3.0-or-later, hardware sources and documentation included; the projects it forks keep theirs.
| Repository | What it holds | Licence |
|---|---|---|
| usr-ein/TriMixxx | The deck: KiCad boards, firmwares, the Pi's system, the launcher, the deck's Mixxx setup, pi-qemu and this site. | GPL-3.0-or-later |
| usr-ein/mixxx | The Mixxx fork the deck runs, on Mixxx 2.5.6: the CDJ-style browser, waveforms, sync, History, Record set, KEY SYNC. | GPL-2.0-or-later |
| usr-ein/prolink | An unofficial Rust implementation of Pro DJ Link, inside the fork: discovery, status, beat sync, NFS and dbserver, both ways. | GPL-3.0-only |
| usr-ein/ttymidi | The bridge that turns the controller's UART into an ALSA MIDI port, so Mixxx sees an ordinary MIDI device. | GPL-3.0 |
| usr-ein/cdj2000-emulator | A fork of cdj2k-revival's emulator: a CDJ-2000NXS booting its own firmware in QEMU, for testing without a booth. No firmware included. | GPL-2.0-or-later |
TriMixxx is an independent project, with no affiliation with, sponsorship by or endorsement from AlphaTheta Corporation (formerly Pioneer DJ) or the Mixxx project.
CDJ, rekordbox, Pro DJ Link, DJM, NXS and Pioneer DJ are trademarks of AlphaTheta Corporation. They appear here only to say which equipment TriMixxx works with, which protocol it speaks, and which decks it was measured against. Mixxx is the name of the independent open-source project at mixxx.org; TriMixxx is this project's own name, not a Mixxx product.
The Pro DJ Link work is reverse engineering for interoperability, from network traffic between devices the author owns. Protocol facts are not copyrightable, and no code from any other implementation was copied. No Pioneer firmware is, or will be, in any TriMixxx repository.
The build log shows an emulated CDJ-2000NXS at work. Its screen and lamps are drawn by AlphaTheta's own firmware, supplied by the player's owner; they appear only to document the emulator.