Drag a knob up and down (shift: fine), or click it and use the scroll wheel or arrow keys; double-click resets it. The page follows the synth about once a second, and moving a control here puts that knob in pickup on the panel, as loading a patch does. Switches show the panel buttons as the sound uses them; a click holds the state until you press that button on the panel. Knobs, depth bars and the mod matrix edit the layer you're editing (Layer 1 / 2 at the top). Amber knobs are shared by both layers.
Everything this firmware adds, reached from the synth itself. Buttons are as printed on the panel;
codes are what the display shows. Web-only features are listed at the end.
Buttons that do new jobs
| Seq 1 / Seq 2 | Choose the layer the knobs edit L 1 L 2 |
| Hold Rec + Seq 1 | Record steps from MIDI rSEq (REC blinks fast): each note is the next step St 3, Seq 2 a rest, Rec or Seq 1 ends donE. The first note is offset 0. Rec then saves it with the patch. |
| Arp Up-Dn | LFO knobs, Shape button and LFO routing edit LFO 1 or LFO 2 (LED lit = LFO 2) LFO1 LFO2 |
| Arp Assign | Mod assign: the mod matrix (LED blinks) SrC |
| LFO Shape | Next shape at every press; for 2 s after, VALUE steps both ways |
| Keyboard-tracking switch | Keyboard tracking, as printed (a loaded patch's value holds until it moves) |
| Sync Clock | Tap the tempo (LED blinks on the beat), hold to restart the bar, Shift + press cycles the clock: nIdI Int SYnC. |
| Sync Source | Shift: hold, or press twice to latch (LED). Filter ADSR knobs → Env 3, amp ADSR knobs → Env 4; LFO FREQ / AMOUNT → the LFO's delay / fade; GLIDE → drift; M TUNE → detune; FINE → bend range; CUTOFF / RESONANCE → macro offsets; A / B LEVEL → CC A / B numbers. With Rec: compare; Perf: undo; Preset: save here; Seq 1 / 2: copy the layer; 1-9: a Settings page; 0: panic. |
| Preset | Preset mode (a patch loaded) ↔ manual mode (the whole panel live) |
| Rec | Save: it blinks, pick a slot, Rec again donE |
| Perf | Load the init sound (one saw, filter open) |
| Settings | The settings menu SEt (keys 0-9 below) |
| Tune | Autotune, about 25 s, silent tUnE |
The display
- A knob shows its value while turned, in real units: semitones (FREQ A/B), cents (FINE), −99..99 (M TUNE, Macro 1), Hz with a point from 1 kHz (CUTOFF), ms / s (envelopes, GLIDE), divisions when synced (LFO FREQ).
- No plus sign: positive values have none.
- A dot after the value = the knob hasn't picked up yet. Turn it past (or onto) the stored value and it takes over. Happens after loading a patch, switching layer / LFO / envelope, or editing from the web page.
Patches
- Load: in preset mode, type the number (1-128; a third digit or a pause ends it), or VALUE steps through them (
P 7,P128). - Save: Rec, two digits or VALUE, Rec. Preset cancels.
- Init: Perf, then Rec to keep it anywhere.
- A patch keeps both layers, settings, routes, LFO shapes and step patterns, and its sequence. M VOL isn't stored.
Layers
- Settings 3
LAYr, VALUE:OFFSPLtStACCHAn(MIDI channel 2 = layer 2)8CH(a voice per channel 1-8)nPE(MPE: channel 1 master, 2-9 a voice each). - Voices per layer: on that page Arp Up-Dn
Lr.Uo, VALUE:AUto(4 + 4, 7 + 1 with one layer mono) or1-7…7-1(layer 1 - layer 2). - Split point: Settings 4, then VALUE or play the note.
- Seq 1 / Seq 2 choose the layer you edit.
Shared by both layers: mixer, noise, resonance, PW A/B, PMOD OSC B, M VOL, every button.
LFOs
- Arp Up-Dn picks LFO 1 / LFO 2 (LED lit = 2).
- LFO Shape:
trIPULSSA.UPSA.dnSInES-HdrFtStEPnOIS - LFO 2 routing: select it, press LFO → Freq / Filter / PW
Fr.onFL.oF. The button positions keep showing LFO 1. - Sync: Settings 1
SYnC/SYn2→FrEECLoC. With the clock, LFO FREQ picks8bAr…1-32. - Retrigger: Settings 2
trIG/trI2→FrEE1StEACHPoLY(per voice).
The mod wheel adds LFO 1 depth. The StEP pattern is edited on the web page.
Envelopes
- Shift (Sync Source) + the filter ADSR knobs edit Env 3, + the amp ADSR knobs Env 4 (with pickup). The keyboard-tracking switch is keyboard tracking.
- Env 3 / 4 do nothing until a mod route uses them (sources 7, 8).
- Keytracking itself: Settings 5
trAC→OFFHALFFULL. - Mode: Settings 6
En.AEn.FEn.3En.4(6 again: next), VALUE:AdSrdAHd, cyclingCYCLor a division (synced). - Mode: Settings 6
En.AEn.FEn.3En.4(6 again: next), VALUE:AdSrdAHd, from key upUP.ASUP.dA, cyclingCYCLor a division (synced). - Trigger: on that page Arp Up-Dn
tr.A…, VALUE:dn(key down)UP(key up), in any mode. - On that page ATT sets the delay
dLYand DEC the holdHoLd(DAHDSR); the knobs leave the attack and decay alone meanwhile. - Timing: Arp Up-Dn again
tI.A…, VALUE:SECorSYnC(the time knobs, delay and hold step through 0, 1/32 … 8 bars at the tempo). - Curve: Arp Up-Dn again
CU.A…, VALUE:AnLGLInSUEL. - Curve: on that page Arp Up-Dn
CU.A…, VALUE:AnLGLInSUEL. - Cycles: Arp Up-Dn again
Cn.A…, VALUE:LOOPor 1-99 (then it rests; from key up it ends).
Key up: the envelope runs when the key is let go (attack, decay for its time, release; cycling: its cycles) and fades at the next key.Key up: the envelope runs when the key is let go (attack, decay for its time, release) and fades at the next key; cycling takes it over. Cycling knobs: ATT rise, SUS hold, DEC fall, REL rest; synced, the four are shares of the division (shown in %).
Mod assign (the matrix)
- Arp Assign
SrC(the knob touched last is offered as the destination) - the source: a number key, a touch of an LFO or ADSR knob, or scroll with VALUE
- the destination: touch its knob (ADSR knobs = envelope stages) or an LFO routing button, or scroll and press Arp Assign
- VALUE: depth −99…99 (0 removes;
FULL= 16 in use) - Arp Assign to finish; hold it to browse the routes (VALUE steps, press to edit, hold to leave)
| Key | Source |
|---|---|
| 1 | Selected LFO (1 again: the other) LFO1 LFO2 |
| 2 | Filter env FEnV |
| 3 | Amp env AEnV |
| 4 | Velocity VEL |
| 5 | Mod wheel nod |
| 6 | Aftertouch, per voice with poly pressure PrES |
| 7 / 8 | Env 3 / Env 4 EnV3 EnV4 |
| 9 | Random per note rAnd |
| 0 | Note number notE |
| Touch | Destination |
|---|---|
| FREQ A / FREQ B, FINE | Pitch A P.A, B P.b, both PIt |
| M TUNE | Macro 1 nAC1 |
| CUTOFF | Cutoff CUt |
| FIL ENV AMT / PMOD FIL ENV | Env amounts F.EA P.EA |
| AMP SUS | VCA gain VCA |
| LFO AMOUNT / LFO FREQ | LFO depth / rate L.An L.rt (L2. for LFO 2) |
| LFO → Freq / Filter / PW button | LFO routing depths L.Fr L.FL L.PU |
| A LEVEL / B LEVEL / NOISE | Mixer A.LE b.LE noIS |
| RESONANCE, PW A / B, PMOD OSC B | rES A.PU b.PU P.ob |
Settings menu
| 1 | SYnC LFO sync |
| 2 | trIG LFO retrigger |
| 3 | LAYr layer mode (Arp Up-Dn: Lr.Uo voices per layer) |
| 4 | SPLt split note |
| 5 | trAC keytracking |
| 6 | En.x envelope mode (Arp Up-Dn: tr.x trigger, tI.x timing, CU.x curve, Cn.x cycles; ATT / DEC: delay / hold) |
| 7 | bEnd bend range, 1-12 st |
| 8 | dEtU unison detune, 0-50 ct |
| 9 | UOIC voice mode POLY nono LEG |
| 0 | drFt drift, 0-99 |
Settings opens and closes it; VALUE changes. Settings live in the patch: save to keep them.
MIDI
- USB MIDI or the 5-pin MIDI IN, on any channel (SysEx over USB only). MIDI clock drives sync; Start lines up the bar, Continue picks up at Song Position. Or the internal clock (tap Sync Clock) or the SYNC IN jack: Shift + Sync Clock picks the source.
- Sustain (CC 64), pitch bend (range: Settings 7), mod wheel, poly and channel aftertouch; in channel mode each channel's reach only its layer.
- Program change 0-127 picks patch 1-128; bank select is ignored.
- CCs: 74 cutoff, 71 resonance, 5 glide, 14 / 15 FREQ A / B, 16 FINE, 17 / 18 PW, 19 / 20 levels, 21 noise, 22 filter env amount, 23-26 filter ADSR, 73 / 75 / 70 / 72 amp A / D / S / R, 76 / 77 LFO 1, 27 / 28 LFO 2, 29 / 30 poly-mod, 31 tune, 85-90 + 102-103 Env 3 / 4.
Recovery
- A firmware that won't start: hold 0 and 7 while switching on → bootloader; flash any
.syx. - Retune after the synth has warmed up: Tune.
On the web page only
The step sequencer, its lanes, arpeggio, probability and ratchets (the panel only plays it, from a key) · LFO step patterns · scale and root · morph target and source · note priority · Mutate · mod routes from Seq A-D and to Morph · patch names, export, the factory bank · copying an LFO or envelope from the other layer.
Mod matrix
Sixteen routes per layer. Each route adds source × depth to its destination, per voice. The ones marked wire are a single wire for all voices, so they follow the most recently played note. Macro 1 and Macro 2 are both destinations and sources (the M TUNE knob is Macro 1's own knob, added to its offset): route anything into a macro, then the macro into several destinations with their own depths; a macro moves once a pass (1-2.4 ms). Envelope stage destinations scale that stage's time up to 16× either way at depth 99 (sustain adds to the level). On the panel: Arp Assign, then a source (a number key, a touch of an LFO or ADSR knob, or scroll with VALUE), then a destination (touch its knob or LFO button, or scroll and press Arp Assign), VALUE for the depth; hold Arp Assign to browse the routes.
| Source | Destination | Depth | |
|---|---|---|---|
| New route: pick a source, a destination and a depth, then Add route. It does nothing until it's added. | |||
Patches
128 patches (P1-P128, program change 0-127), each with its own sequence. Saving takes the sound as it is now on the synth. Names travel with the sound; rename by typing in the name and pressing Enter (or click the loaded patch's name on the screen at the top). Export saves one patch as a 256-byte .p8p file, which Import writes back into any slot.
| Slot | Name | Kind |
|---|
Factory bank
The 100 sounds the PRO-800 shipped with are still in the EEPROM, untouched. Copy any of them into an empty slot. The conversion is close rather than identical, because our engine's curves differ from the stock firmware's.
| # | Name | Into slot |
|---|
Play
Click the keys, or play from the computer keyboard: A W S E D F T G Y H U J K O L P ; ' (two rows, like a DAW). Z / X shift the octave, C / V change the velocity. Keys don't play while you're typing in a text field.
MIDI routing
Forwards notes, controllers, pitch bend, aftertouch and program changes from another MIDI input (for example the Ableton Move) to the PRO 800 while this page is open. SysEx is never forwarded, so the tools' own messages stay separate.
Firmware
Tuning
Autotune measures every oscillator and filter through the tuning comparator and stores the tables in the EEPROM. It takes about 25 seconds, during which the synth is silent and doesn't answer. The Tune button on the panel does the same.
Pots
Turn a knob: its card lights up. Type the knob's name (as printed on the panel) into that card. Names are saved in this browser as you type.
Switches
Inputs read directly by the MCU. Names are the schematic's net names; rename them if the panel says otherwise.
Buttons (HT16K33 key scan)
Press a button: the bits it sets turn green. Name the bit.
Display and LEDs (HT16K33 RAM)
Each square is one bit of display RAM. "Walk" lights one bit at a time: name what lights up (for example "digit 1 segment a", "SEQ1 LED", or "nothing"), then press Next.