overdub
op1-overdub — original OP-1, firmware 246

New synth engines, FX with animated screens, and keyboard modes for the original OP-1.

They are patched into TE's own firmware: every stock engine, FX and feature keeps working. Like an overdub on tape, it adds new layers over TE's firmware without erasing anything underneath.

Not affiliated with or supported by teenage engineering. You flash this at your own risk (see safety).

screens
va engine screen
va
wavetable engine screen
wavetable
grain engine screen
grain
ensemble FX screen
ensemble
pingpong FX screen
pingpong
distortion FX screen
distortion

Every knob drives part of the picture, in its own colour.

FX screens in motion
ensemble: animated choir
ensemble — a choir
pingpong: animated table tennis
pingpong — table tennis
distortion: pedal modes
distortion — modes
distortion: wah
distortion — wah
what's in it
bluegreenwhiteorange
synth engines — in the engine list with their own presets and screens
vatwo-oscillator virtual analog with sub and noisewave (sine → saw → square → pulse)osc 2 detunenoisesub
wavetable8 banks of morphing wavetablespositionbankwarpunison
graingranular; plays a built-in bank, or the sample in any sampler slotpositiongrain sizedensityspray
FX — on synth, drum and master; stereo as master FX
ensembleBBD chorus, CE-2 style by defaultratedepthcharacter (CE → dual → string ensemble)mix
pingpongping-pong delaytimefeedbacktonemix
distortionTUBE, MUFF, FUZZ, CLIP, FOLD, CRUSHdrivevoice (low-pass ↓, wah ↑)charactermix
keyboard
install
  1. Download stock firmware 246 from TE: op1_246.op1.
  2. Download overdub-*.zip from releases and unzip it.
  3. python3 apply.py op1_246.op1 (Python 3.10+, no other dependencies) asks which features to install (every engine, FX, HOLD and CHORD; all on by default) and writes OVERDUB.OP1. It checks that your file is stock 246 and that the result is exactly the expected image for your choice.
  4. On the OP-1: hold COM while switching on, press 1 (upload firmware), connect USB, copy OVERDUB.OP1 to the OP-1 disk, eject. Same procedure as an official update.

Without the questions: --all, --without amp,crush, --only va,grain,hold; --list shows the features. A left-out engine or FX is only hidden from the lists, so sounds saved with it still load.

The release contains only our code, our database rows (engine/FX names and presets) and our SVG screens. TE's firmware never leaves your computer.

safety
  • The bootloader is never touched. te-boot.ldr stays byte-identical to stock (the tools refuse otherwise), so you can always go back: hold COM at power-on, upload stock op1_246.op1.
  • Before going back to stock, delete sounds saved with these engines or FX. Stock firmware doesn't know their names and stops at boot on such a sound. If that happens: COM at power-on, then factory reset.
  • Never name a firmware file with FRC, RBT or KEY in it: the OP-1's updater treats those as commands. apply.py and build.py refuse such names.
links