Kitbasher adds new sound models to your Elektron Machinedrum's OS. Pick the machines you want, and it builds an OS update that keeps every stock machine and adds yours alongside them.
It works on stock OS 1.63, X.14 and beta md-26A09-132401, and runs entirely in your browser at kitbasher.xyz. Your firmware never leaves your computer: nothing is uploaded, and there is no server-side build.
X.20 is currently not supported. Patching is temporarily disabled.
Kitbasher is a community project. It is not affiliated with or endorsed by Elektron. Kitbasher is not affiliated with MDX. Its modified X.14 and X.20 builds are not official MDX releases and are not supported by the MDX creator.
Generated builds use Kitbasher's own K.01 version, with the original OS recorded separately. See firmware versioning.
X.14 builds also add GLOBAL → ROUTING → FX ORDER: place DIST and SRR before or after the filter for all tracks, saved per global slot. See FX order.
-
Back up. Keep the OS file you have installed now, and save your kits and patterns (GLOBAL › SYSEX SEND › ALL into a SysEx recorder). Sending that OS file again restores your machine.
-
Load your OS and choose your model. Open kitbasher.xyz, drop in your OS file (
.syxor.bin), then click UW or Non-UW to continue to Machines. To check, open the machine menu of any track on your current firmware: if it has ROM and RAM categories, you have UW. Nothing goes ahead, and nothing is built, until you choose UW or Non-UW; the page does not remember the answer or take it from a restored file, and saves it with your layout.Built with Kitbasher before? Open Restore an earlier layout below the drop zone and drop the
.syxyou flashed (or your project or layout file), so your kits keep finding their machines (a Kitbasher.syxdropped as the OS file restores the same way; the page then asks for the stock OS): machine IDs are now given from the lowest free one (the same selection, OS, UW answer and menu layout always get the same IDs), and earlier builds used others. See Machine IDs. -
Choose machines. Browse the model cards by category and select what you want. Click a machine's name for its screen preview and control descriptions. The memory meters and sample trimming controls are below the browser. Under Options, you can edit E12 samples.
-
Arrange categories. Click Arrange categories to review the machine menu, reorder or rename categories, and move machines. Keep the defaults if you prefer.
-
Build. Click Build firmware. Download firmware saves the new
.syx. Save for next time → Save project keeps your samples, machines and layout in a project file. -
Send it. In Chrome, click Send firmware, allow MIDI access, and choose your MIDI output. Connect the interface's OUT to the Machinedrum's MIDI IN. Hold FUNCTION while powering on and choose [5 LT] MIDI UPGRADE, then click I'm ready — send firmware. Keep the tab open and computer awake until it finishes; wait for the Machinedrum to finish before restarting it. Alternatively, send the downloaded file from a SysEx tool with a 20 ms gap between messages. See browser firmware sending.
On OS X.14 and OS 1.63, browser builds include MIDI chromatic note input automatically: notes on MIDI channel 5 (base channel + 4) play the selected track at pitch, record a pitch p-lock in live record, and p-lock every held step in grid record. See MIDI chromatic note input.
On OS X.14 and OS 1.63, browser builds also include pitch note names
automatically: the pitch knob of an added model shows the note it plays under
its dial (C-3, C#3, C+3 for a quarter tone) instead of a number, as
Elektron's DEV firmware shows a TONAL track. See Pitch note names.
On OS X.14 and OS 1.63, the automatically included unmute latency fix makes an unmuted track play its next trig instead of about two steps later. See Supported bases.
Some models use a sample in UW memory; the page lists those and offers the sample files with instructions.
On X.14 and OS 1.63, browser builds automatically add Swap Speeds in GLOBAL → CONTROL → MECH SETTINGS. Turn it ON to turn fast normally and press for fine adjustment. See Swap Speeds.
A Machinedrum without the UW option takes the same OS update. Answer No to the UW question and the page leaves out what such a unit cannot use: models that play UW samples (marked needs UW) and machine IDs of 128 and up (a machine that a restored session puts there moves to a free ID below 128, and the page says so). The machine menu then shows your categories where ROM and RAM would be. See Machinedrum without UW.
| Base | Support |
|---|---|
| OS 1.63 (stock) | Prepared automatically with a small boot hook, then patched; tested in the emulator |
| OS X.14 | Patched directly; tested on hardware |
| Beta firmware (md-26A09-132401) | Patched directly; tested on hardware and in the emulator; see beta validation |
| MDX X.20 B (public beta) | Currently not supported; patching temporarily disabled |
Em's earlier DEV firmware is no longer supported. Load md-26A09-132401-beta.syx instead.
Details per base are in docs/BASES.md.
Sources for five model families live in examples/: seven analog
drum and synth recreations, five community synth voices, a 30-program port of
Befaco's Noise Plethora, a Karplus–Strong string and a ladder filter effect. docs/MODELS.md describes them, with
their credits and licenses.
Use at your own risk. Kitbasher is free software provided as is, without warranty of any kind (see sections 15 and 16 of the GPL v3). Installing modified firmware can make your Machinedrum unusable. The authors and contributors accept no liability for damage, data loss or repair costs, however caused. If you are not comfortable recovering a Machinedrum from a failed update, do not install a patched OS.
Flashing firmware always carries some risk. Kitbasher is designed not to touch the boot menu, so a failed or unwanted update can normally be recovered by sending your original OS file the same way. Keep that file safe before you start. Every build is also checked before you can download it, including that nothing it adds touches memory the Machinedrum has not set up yet during boot.
Every rule that keeps a patched build from crashing or freezing the Machinedrum, and the hardware test to run before you share an image, is in docs/FIRMWARE-SAFETY.md.
Saved kits refer to machines by ID. When you rebuild for existing kits, drop
your previous Kitbasher .syx, project or layout file under Restore an earlier
layout on the first step so every
machine keeps its ID (Machine IDs).
You need Node 22+ and Python 3.11+.
npm ci
npm run doctor
npm run check
npm run dev
npm run dev serves the page at http://127.0.0.1:8767 and rebuilds it as you
edit. The command-line patcher shares the browser's engine:
node engine/dist/src/cli.js --in my-os.syx --out patched.syx --uw --clean-recovery
Read CONTRIBUTING.md to get set up, and the documentation index for how it all fits together. To write your own model, start with the scaffold example.
Kitbasher is free software under the GNU General Public License, version 3 or
(at your option) any later version; see COPYING. The model sources in
examples/ use the same license. Bundled third-party code is listed in
THIRD-PARTY-NOTICES.md, and model licenses in
docs/MODELS.md.