📈 GH Trending Explorer 🎲 Surprise me

← all repos

irpina / elekloader

git clone https://github.com/irpina/elekloader.git v0.4.0 · 21d ago

A mod loader for Elektron firmware. You pick mods and supply the stock OS file Elektron publishes for your device. elekloader builds a custom OS file on your own machine, and you flash it the way you flash any OS update.

+3
stars, 24h · #8,227
+~9
stars, 7 days · #12,649
+95
stars, 30 days · #7,383
95
★ total · +9% this week
17
forks · 8 open issues

Star history (as recorded here)

2026-10-20 · 91 ★ 2026-10-23 · 95 ★
LanguagePython
LicenseGPL-2.0
Created2026-09-26 (27d ago)
Last pushtoday
Watchers2
OwnerUser

Links

README excerpt
# elekloader
A mod loader for Elektron firmware. You pick mods and supply the stock OS
file Elektron publishes for your device. elekloader builds a custom OS
file on your own machine, and you flash it the way you flash any OS update.
- **Nothing from Elektron is distributed.** A mod (`.elemod`) carries only
 its author's bytes, the short instruction fragments needed to hook the OS,
 and hashes of the stock bytes it expects. Every build starts from your own
 stock file, recognised by its hash.
- **The bootloader is never touched.** Mods can only change the main OS:
 the file format has no way to say anything else. Each output file is
 re-read and verified before it is written. So the stock OS file always
 recovers the device.
- **Mods are checked against each other before anything is built.** Two
 mods may not touch the same bytes, claim the same memory or the same
 named resource, or leave a requirement unmet.
| Device | OS | Status |
|---|---|---|
| Digitakt (mk1) | 1.53, 1.54 | supported |
| Digitakt II | 1.17 | experimental: whole builds (format-1 mods) and linkable mods with its own core (the hook bus's tick, draw, key and encoder events), sealed as the unit checks them; boots in digikit's emulator; core with a key-swap mod works on a unit (Transfer over USB) |
| Digitone (mk1) and Digitone Keys | 1.43, 1.44 | supported |
| Octatrack (MKI and MKII) | 1.40C | supported: whole builds (format-1 mods); linkable mods with its own core: boots on an MKII, not yet run on an MKI |
| Model:Cycles, Model:Samples | 1.13 | supported: linkable mods with their own core (the hook bus's tick, draw, key and encoder events); builds work on both units (Transfer over USB) |
| Analog Rytm MKII | 1.73, 1.74 | experimental: linkable mods with its own core, a proof of concept (the hook bus's tick, draw, key, encoder, SETTINGS and render events); builds with the core work on a unit (Transfer over USB) |
| other Elektron devices | | planned: see docs/DEVICES.md |
## Get started
- **In your browser, nothing to install:** .
 Drop in your stock OS file, add mods from its shop or your own, build, and
 download the result. Your files are never uploaded.
- **Windows or macOS:** the apps on
 Releases, with the
 core mods built in.
- **From source, on any system:** Python 3.9 or newer and nothing else:
 `python -m elekloader`.
Each way needs the **stock OS file** for your device, exactly as Elektron
publishes it; the `.zip` from Elektron's site works as it is.
docs/INSTALL.md says which file each device needs and
how each way starts.
Then tick your mods and build. Send the `.syx` to the unit with Elektron
Transfer, as for any OS update; the Octatrack takes its `.bin` from the
card. See docs/BUILDING.md.
**If a custom OS will not start:** the bootloader is never changed, so the
stock OS file always restores the unit. On a Digitakt mk1, a Digitakt II or
a Digitone mk1, hold **FUNC** while powering on for the startup menu, press
**TRIG 4** for OS UPGRADE, and send the stock `.syx