Custom firmware mods for the Elektron Model:Cycles, installed from your browser in about 30 seconds.
6-channel USB audio · Syntakt engines · Model-TG sampler · arpeggiator · up to 546 BPM · and more
Open the web flasher · Read the guide · Website · Join the Discord · Support on Ko-fi
The Model:Cycles is a great little groovebox, but its firmware leaves some obvious things on the table: the USB output only carries the stereo mix, there are just six machines, the tempo stops at 300 BPM, and a few everyday gestures (muting, removing trigs) take more presses than they should.
Modded Cycles patches your own copy of the official OS to fix that. You pick the mods you want, the page builds the firmware in your browser, and sends it to the Model:Cycles over USB. Going back to the official firmware is one click away.
Important
No Elektron firmware is included in this repository, original or modified. You bring the official OS file from elektron.se; the mods are applied to it on your computer. This is an independent project, not affiliated with or endorsed by Elektron. Flashing a modified OS is at your own risk and may void your warranty.
| Mod | What you get | Status |
|---|---|---|
| 6-channel USB audio | Each track gets its own USB channel (48 kHz / 32-bit): record six separate stems in your DAW. OS updates over USB keep working. | ✅ Tested |
| Syntakt engines | Up to five real Syntakt machines added next to the original six: SD VINTAGE, CP VINTAGE, SY TOY, SY BITS and SY SWARM, with the Syntakt's knob names and defaults. They are read from your own Syntakt OS file. | ✅ Tested |
| Model-TG | A full Sampler machine with seven playback modes, resampling, a beat-repeat page with master FX, slide trigs, Scale Lock and more, by TinyGregAudio. Works with the 6-channel mod and the Syntakt engines. | 🧪 Experimental |
| Sample preview | An add-on to Model-TG: on a Sampler track, press FUNC + MACHINES (preset menu) and the track's pad plays the sample under the cursor, the way presets can be heard before you pick them. A sample not yet in memory loads on the first press; if there isn't enough free memory, or while Model-TG is resampling, the press plays nothing. The track keeps its own sample. Requires Model-TG (ticking it ticks Model-TG). | ✅ Tested |
| MACRO machine | One extra machine with the 47 synthesis models of Braids, Émilie Gillet's open-source macro-oscillator, from her own code: analog-style waves, FM, vowels, physical models, drums, wavetables and noises. SHAPE picks the model, COLOR and SWEEP shape it. Works with Model-TG, not with the Syntakt engines. |
✅ Tested |
| Arpeggiator | Hold several notes with RETRIG and they play as an arpeggio. FUNC + RETRIG adds direction (up, down, up/down, random, or in the order played) and range (1 to 4 octaves), saved with the pattern. |
✅ Tested |
| Tempo up to 546 BPM | The TEMPO knob, tap tempo, MIDI clock and saved projects go past 300 BPM. Tempo-synced LFOs stay in time. | ✅ Tested |
| Startup animation | When the Model:Cycles starts, the four squares of the modded-cycles logo pop in and “modded-cycles” types itself underneath, instead of the original tile animation. Same duration. | ✅ Tested |
| Easier trig removal | A quick press on a step that holds a trig removes it, instead of opening it as a hold. | ✅ Tested |
| Latching mute | Hold TRACK and tap FUNC: mute mode stays on, no more holding FUNC. By drumkilla. |
✅ Tested |
| Trig preview | Sequencer stopped or paused: hold a step and press PAGE to hear it, with its note, length and p-locks. By drumkilla. |
✅ Tested |
| Scrolling names | Sound names too long for the screen scroll in the sound browser. By drumkilla. | ✅ Tested |
| Samples OS | Turns the Model:Cycles into a Model:Samples, built from both official OS files. Coming back needs a MIDI interface. | ✅ Tested |
| Cycles OS for Model:Samples | The other way round: turns a Model:Samples into a Model:Cycles, over USB, from both official OS files. Going back to the Model:Samples OS works over USB too, from the same tab. | 🧪 Experimental |
The mods can be combined freely (Samples OS and Cycles OS for Model:Samples are separate installs; MACRO and the Syntakt engines not together). Each one is explained step by step, with the buttons to press, in the guide.

The Syntakt engines show up as extra machines in the MACHINES menu.
- Open the web flasher in Chrome, Edge or Opera on a desktop computer (it needs Web MIDI).
- Tick the mods you want.
- Drop your official OS file,
model-cycles_OS1.13.syx, from the Elektron download (unzip it first). For the Syntakt engines, also dropSyntakt_OS1.42.syx(download; 1.41 works too). - Connect the Model:Cycles over USB and press Flash. Close Elektron Transfer first and leave the machine on its usual screen. The transfer takes about 30 seconds, then the Model:Cycles asks you to confirm with YES.
Everything runs in your browser: your files are never uploaded anywhere.
Before you flash, back up your projects and samples with Elektron Transfer.
Other ways to flash
- Classic method. If the fast method does not work on your setup, the flasher can also send the firmware the
way Elektron Transfer does through
CONFIG › UPGRADE(5 to 10 minutes). - Elektron Transfer. The flasher has a Download the .syx button: drop that file onto Elektron Transfer yourself.
- Command line. See Command line below.
Going back to the official firmware
Open the flasher, choose the Official firmware tab, drop your official OS file and flash. Before that, set any track that uses an added machine (Syntakt engine, MACRO or Sampler) back to one of the six original machines.
If something goes wrong
If a Model:Cycles ever stops starting, it can always be recovered from its startup menu (FUNC + power on, then TRIG 4).
That menu only listens to the MIDI IN port, so you need a USB-MIDI interface and the scripts described in
FLASH.md (in French). The guide has a troubleshooting section.
The web flasher is a port of a pure-Python toolchain that lives in this repository: no compiler and no firmware needed.
python3 tools/build.py --list # every available mod
python3 tools/build.py -i model-cycles_OS1.13.syx -t 6ch-usbup,latching-mute,trig-preview,browser-scroll
./flash.sh # macOS / Linux (flash.bat on Windows)Details in BUILD.md and FLASH.md (both in French). The web flasher is checked byte for byte
against the Python build (tools/webflash_check.sh, tools/webbuild_check.sh).
Every mod is checked in an emulator that runs the Model:Cycles' own code, and then on a real Model:Cycles before it is marked Tested. The Syntakt engines are not imitations: their code and tables are taken from your Syntakt OS file and relocated into the Model:Cycles firmware, and they produce the same samples as the Syntakt in emulation.
The research behind it (firmware analysis, hardware architecture, engine ports, measurements) is written up in the technical notes, in French. Release notes for each flasher version are on the website.
This project stands on the work of others, all MIT licensed:
- scottmetoyer/ms-multi-output: the original 6-channel USB mod.
- drumkilla/elektron-model-tweaks: latching mute, trig preview, scrolling names, and the
mtlibtoolkit and tweak format used by the build. - TinyGregAudio/Model-TG: the Sampler machine and everything that comes with it (license).
- pichenettes/eurorack: Émilie Gillet's Braids code, compiled as is for the synthesis models of the MACRO machine (license).
- dagargo/elektroid: the Elektron Transfer update protocol behind fast USB flashing.
- mischa85/elektron-firmware-tool and mxldyn/octamax: firmware tooling and reverse-engineering methods.
If these mods are useful to you, you can support the project on Ko-fi. Questions, feedback and feature requests are welcome on the Discord; bug reports also fit in the issues.
