arrhythmia
Loud90/100Arrhythmia: bug fixes and new features for the Novation Circuit Rhythm, applied as a patch to its own firmware. Not affiliated with or endorsed by Novation or Focusrite.
arrhythmia is a mod for the Novation Circuit Rhythm, by @llcoolkm. Latest release v0.2.2 (November 2026), 2 stars on GitHub.
forNovation Circuit Rhythm·by@llcoolkm
Unclaimed. Is this yours? Sign in with GitHub as @llcoolkm to claim it.
17snake.mod· 2.2 KB· +9 files
Custom license· llcoolkm/arrhythmia·llcoolkm.github.io/arrhythmia/web/·downloads come from the creator’s GitHub releases
v0.2.2Circus Arrhythmia FM 0.2.2Latest10 files
Circus Arrhythmia FM 0.2.2 release notes
Circus Arrhythmia FM is custom firmware for the Novation Circuit Rhythm. It ships as a patcher: you apply it to your own copy of the official firmware file on your own computer, then send the result to the unit. No Novation firmware is included.
Arrhythmia is not affiliated with or endorsed by Novation or Focusrite. The device name says only which hardware this is for.
0.2.2 builds on 0.2.1. The changes are in the synth page, the output level of the synth and the modules.
Changes since 0.2.1
New
- Synth page as a view. Shift + Track 8 opens the synth page. It has two pages
(synth page):
- Page 1, chords: notes per press, chord type, In key, minor or major, voicing, poly, octave.
- Page 2, scale: row 1 turns scales on or off for track 1 to 7, row 2 selects the scale, rows 3 and 4 set the key.
- Down shows page 2. Up shows page 1. The page opens on the last page you used.
- A view or track button (for example Note, Sample, Mixer, Track 1 to 8) closes the page. The unit goes to that view or track. The button press is not lost. Play and Rec operate while the page is open.
- Clear + macro sets that macro of the synth page to its default: tune 64, modulator attack 0, modulator decay 64, modulator floor 127.
- Lights. The exit buttons and Shift keep their normal lights. Track 8 is magenta. Up or Down is green when there is a page in that direction. Clear keeps its normal light (dim red when that light is off) and is red while you hold it. While you hold Shift in the normal views, Track 8 is lit.
- Module files over USB. The firmware can write module files to the folder
Moduleson the microSD card. The module files web pageweb/modules.htmluses this function. It lists the files on the card in the order of the picker, with the pad of each file. It writes, verifies, replaces and deletes files. You do not need a card reader (add modules with the web page). - Published modules on the website. The 10 module files of the release are on the website. The module files web page writes them to the card with one button each. They keep their numbers, so each goes on its pad.
- New name. The project is now Circus Arrhythmia FM, with a new logo. The build names stay arrhythmia-firmware and arrhythmia-devkit.
Changed behaviour
- Synth output 4 dB down. The fixed decrease of the synth output is now 4 dB. It was 7 dB. The synth is approx. 3 dB louder than in 0.2.1. Set the balance with track 8's mixer level (output level).
- Eight scales. arrhythmia-firmware has eight scales. It has no Phrygian and no Lydian. A project that has Phrygian plays and shows natural minor. A project that has Lydian plays and shows major. The project keeps its stored value. The SysEx scale command refuses Phrygian and Lydian on arrhythmia-firmware (scales). arrhythmia-devkit keeps all ten scales.
- Scales on page 2. Scale, key and the tracks with scales are on page 2 of the synth page. In 0.2.1 you held Shift to select scale and key, and Track 1 to 7 turned scales on or off. Now Track 1 to 7 close the page and select that track.
Known issues
- Macro 1 light at step 8 to 9. On track 8, the light of macro 1 can flicker when the sequencer goes from step 8 to step 9. The cause is not known.
- Crackle on the tested unit. A sample was heard crackling on the tested unit with the stock firmware 5706. The cause and extent are unknown.
- All known issues of 0.2.1 stay: see the 0.2.1 release notes.
Test status
On the unit, with development builds that have the code of 0.2.2 except the final light changes:
- Install and health report: pass.
- The synth plays on track 8: pass.
- Synth page: Up and Down, the layout of both pages, the exit buttons and their lights, Note exit from the normal and the expanded Note view, Track 8 lit while Shift is held, Clear + macros 1 to 4, tune saved and loaded with the project: pass.
- Card writer with the module files web page: write, verify, list and delete module files, and write a published module again with its button: pass. The picker shows a written file and starts it: pass.
- Output level: measured on the unit against the 7 dB decrease of 0.2.1. Six capture comparisons on development builds showed about 3 dB more level than 0.2.1. Live settings were not fully established across boots, so this was not a complete headroom test.
The public image itself was not run on a unit. The final light and list-order changes (Clear and Shift lights on the synth page, list order on the module page) were tested in emulation only.
In emulation only: the module functions and synth page functions not named above.
Not measured: the processing time of the synth on the unit, as in 0.2.0.
Install
Use the installer page, as for 0.2.1: install guide. An earlier Arrhythmia release updates the same way.
Build Number SHA-256 of the patched .syxarrhythmia-firmware 7339 7aadbde0811a77b23c05a06fca34c36d27d98c98945f3f587bb8d7ccf63fc822arrhythmia-devkit 7228 66e1872c45b742992bdead24ebcbaffb9634d13b0a2db36caf5f2d1e6dd8354darrhythmia-devkit 7228 is unchanged from 0.1.0 and is released again.
The version query (SysEx
70) ends00 39 2Bfor 7339 and00 38 3Cfor 7228. In bootloader mode the pads show73 39for 7339. The release file isrelease/v0.2.2.json. The files of the earlier releases stay in the repository as their record.Input: the official Circuit Rhythm firmware 2.0.1, build 5706 (SHA-256
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf), on a unit with bootloader 4799. The installer andtools/crpatch.pyrefuse any other file.Source
The ARM source is in
patches/src/. The DSP source is intools/dspvoice207m4/. It is the DSP source of 0.2.1 (tools/dspvoice207rel/) with one change: the output level constant. The rebuild steps describe how image 7339 rebuilds from this tree with the official firmware 5706 file as the only firmware input.Licence
MIT (see LICENSE) for the Arrhythmia code and documents. Novation's firmware is not included and not covered.
- Synth page as a view. Shift + Track 8 opens the synth page. It has two pages
(synth page):
v0.2.1Arrhythmia 0.2.110 files
Arrhythmia 0.2.1 release notes
Arrhythmia is custom firmware for the Novation Circuit Rhythm. It ships as a patcher: you apply it to your own copy of the official firmware file on your own computer, then send the result to the unit. No Novation firmware is included.
Arrhythmia is not affiliated with or endorsed by Novation or Focusrite. The device name says only which hardware this is for.
0.2.1 builds on 0.2.0. The FM synth on track 8 is the same. The changes are in the controls, the sequencer and the modules.
Changes since 0.2.0
New
-
Feedback on macro 1. On track 8, macro 1 now sets FM feedback. It was tune. Feedback is audible only with FM depth (macro 6) above 0. Clear + macro 1 sets feedback 0.
-
Tune on the synth page. Tune is now macro 1 of the synth page (Shift + Track 8). 64 is no change. There are 5 steps per semitone, up to 12 semitones up or down.
-
Step chords. A track 8 step can hold up to 4 notes. In the Note view, hold the step and press more keys. Each key adds a note. Press a chord note again to remove it. With notes per press 1, pads or MIDI notes played together record as one chord step. Details: Step chords.
-
Startup pulse. While the unit loads the pack at power-on, the pads show a heartbeat line over the load progress. Loaded pads are dim green.
-
Modules from the microSD card. Put module files in the folder
Moduleson the card. Shift + Sample Rec opens the picker.- Numbered pads. A file
NNname.modgoes on pad NN (01 to 32). Pad 1 is top left. Pads without a file are dark. Files without a number go on the free pads. Details: Loading. - Colours. Each pad of the picker has a colour from the file name. A module keeps its colour when you change its number.
- Play always works. Play starts and stops the transport while a module runs, and while the picker is open. Modules that follow the clock start with Play.
- Play blinks. While a module waits for Play, the Play button blinks green.
- Numbered pads. A file
-
8 new modules. They are card files in the release, with paint and stars:
Pad File Module 1 01paint.modPaint: pads light, fade and play notes 2 02euclid.modEuclid: four Euclidean rhythm rows 3 03life.modLife: the Game of Life plays notes 4 04rain.modRain: falling drops play notes 5 05balls.modBalls: bouncing balls play notes at the walls 9 09pulse.modPulse: lights on the beat 10 10stars.modStars: twinkling lights 17 17snake.modSnake: a game 18 18lights.modLights Out: a puzzle 19 19mole.modWhack-a-mole: a game on the beat Euclid, life, rain, balls, pulse and mole follow the clock: push Play. The controls of each module: modules.
Changed behaviour
- Paint is not built in. Paint is now a card file,
01paint.mod. Without a card, the picker shows no pads. - 0.2.0 projects are converted. When you open a project from 0.2.0 or earlier, its tune goes to the synth page and its feedback goes to macro 1. The sound stays the same. Save the project to keep the change. 0.2.0 does not read the tune and feedback of a project saved by 0.2.1.
- Projects from the stock firmware open with feedback from their old Tune value. Examine macro 1.
- Locks on macro 1 in older projects were tune locks. They now set feedback.
- Knob lights. On track 8, the lights of macro 1 (feedback) and macro 4 (sustain) go from off to full. The light of tune on the synth page has its centre at 64.
Fixed
- The light of macro 1 on track 8 showed feedback as a value with a centre. It now goes from off to full.
- In the Note view, chord notes kept their second colour after you selected another step.
- When you held a chord step, only its root showed. All notes of the chord now show.
Known issues
- Feedback and sustain apply to new notes. Macro 1 (feedback) and macro 4 (sustain) take effect at the next note start. A knob turn does not change sounding notes.
- Stars does not take the pads. While stars runs, the pads play track sounds as usual.
- All known issues of 0.2.0 stay: see the 0.2.0 release notes.
Test status
On the unit, image 7329 itself:
- Install with no Play from a development build, version query and identity: pass.
- The synth plays on track 8, and FM depth (macro 6) changes the tone: pass.
- The health report right after that install was refused because notes were playing. It was not repeated.
- Install from 7329 to a development build, with the confirmation on Play (the install gate of the public image): pass.
On the unit, with a development build with the same code as 7329 except the install gate (7330):
- Install and health report: pass.
- Chord note lights in the Note view: the second colour clears after the release, and the root and the chord notes come on together: pass. Both come on after the hold delay of the unit, approx. 300 ms.
On the unit, with an earlier development build (7328):
- Startup pulse line, feedback knob light, tune light, chord notes that follow the selected step, the picker, life with Play, snake paused: pass.
- Sustain light: it dims at the bottom of its range, as the other knob lights do (stock behaviour).
In emulation only: the conversion of 0.2.0 projects, and the modules and module functions not named above.
Not measured: the processing time of the synth on the unit, as in 0.2.0.
Install
Use the installer page, as for 0.2.0: install guide. An earlier Arrhythmia release updates the same way.
Build Number SHA-256 of the patched .syxarrhythmia-firmware 7329 f756c03a71039ba3edd248d53232f9bac24367a4cf800fe6ffd9b8d00fb15251arrhythmia-devkit 7228 66e1872c45b742992bdead24ebcbaffb9634d13b0a2db36caf5f2d1e6dd8354darrhythmia-devkit 7228 is unchanged from 0.1.0 and is released again.
The version query (SysEx
70) ends00 39 21for 7329 and00 38 3Cfor 7228. In bootloader mode the pads show73 29for 7329. The release file isrelease/v0.2.1.json. The files of the earlier releases stay in the repository as their record.Input: the official Circuit Rhythm firmware 2.0.1, build 5706 (SHA-256
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf), on a unit with bootloader 4799. The installer andtools/crpatch.pyrefuse any other file.Source
The ARM source is in
patches/src/. The DSP source is intools/dspvoice207rel/; it is the same as in 0.2.0. The rebuild steps describe how image 7329 rebuilds from this tree with the official firmware 5706 file as the only firmware input.Licence
MIT (see LICENSE) for the Arrhythmia code and documents. Novation's firmware is not included and not covered.
-
v0.2.0Arrhythmia 0.2.01 file
Arrhythmia 0.2.0 release notes
Arrhythmia is custom firmware for the Novation Circuit Rhythm. It ships as a patcher: you apply it to your own copy of the official firmware file on your own computer, then send the result to the unit. No Novation firmware is included.
Arrhythmia is not affiliated with or endorsed by Novation or Focusrite. The device name says only which hardware this is for.
0.2 is the first stable release of the FM synth on track 8. One part is experimental: the processing time of the synth has not been measured on the unit (see Known issues).
Changes since 0.1.1
New
Track 8 in arrhythmia-firmware is now a 4-operator FM synth with 4 voices. It replaces the saw synth of 0.1.x. The chord functions, the scales, the parameter lock fix and the modules stay. arrhythmia-devkit is unchanged from 0.1.0.
- Sounds in the Sample view. Track 8's Sample view chooses the FM sound. The 16 pads of rows 3 and 4 are 16 ratio families. The first page plays them under the serial algorithm, the second page (Down) under the dual stack algorithm. A tap selects the sound and plays it. The pad of the selected sound is bright, and the view opens on its page.
- Per-step sounds. The stock sample flip on a step selects the sound for that step. MIDI CC 8 on track 8's channel selects the sound.
- Eight macros on track 8. Macro 1 tune, 2 attack, 3 decay, 4 sustain, 5 release, 6 FM depth, 7 filter cutoff, 8 resonance. MIDI CC 21 to 28 and parameter locks work on all eight. If the sounds sound alike, turn macro 6 up.
- Sustain. A held note stays at the sustain level until you release it, then fades through its release.
- Envelope ranges. Attack and modulator attack run from about 10 ms to 8 s. Release T60 (the time to fall by 60 dB) runs from about 29 ms to 8 s and starts smoothly. Decay T60 runs from 50 ms to 8 s. These are design values, not measurements on the unit.
- Filter. Quiet signals keep about the same low-frequency level at every resonance setting, and the top of the cutoff range is smooth. Strong resonant peaks are shaped to keep their level bounded; this can change their tone.
- Feedback and the modulator envelope. On the synth page (Shift + Track 8), macros 1 to 4 set feedback, modulator attack, modulator decay and modulator floor. They apply at the next note start, not to sounding notes. Feedback is audible only with FM depth (macro 6) above 0. The knob lights show the values.
- Pad chords. With notes per press 1 and poly on, held pads sound together, up to 4.
- New projects start on Unity under serial (the first pad of the first page), with FM depth 96.
- Clear + macro 6 on track 8 sets FM depth to 96, the new-project value.
- The synth recovers after sample loading. After a pack change or a sample transfer or load (including read-back over SysEx), track 8's synth starts again by itself with the settings loaded at that moment. Notes sounding on track 8 at that moment are cut, and notes for track 8 during the load do not sound. Ordinary sample edits do not trigger it. In earlier 0.2 test builds the synth stayed silent until a power cycle. Details: Loading samples.
- Fixed output level. The synth's output is lowered by a fixed amount, against crackle on loud chords. Set the balance with track 8's mixer level. Details, the amount and a loudness measurement: Output level.
Details: docs/user/synth.md.
Changed behaviour
- Macros 1 to 5 act at note start. Tune, attack, decay, sustain and release are taken when a note starts. A knob turn or a lock changes the next notes, not the sounding ones. In 0.1.x, attack and decay changed every sounding note. Macros 6 to 8 are live and also change sounding notes.
- Stop, CC 123 and mute send sounding notes to their release.
- Existing projects (from 0.1.x, from stock firmware or imported) keep their stored track 8 sample slot, which now selects the sound, and their macro values, which now have synth meanings on macros 1 and 4 to 8. Only a new project gets the new defaults. One exception, as in 0.1.1: in a project never opened in Arrhythmia, a track 8 length (macro 3, Length on the stock panel) set to the full stock value 127 is read once as the default decay 64. Any other value is kept. Save the project to keep the change.
- Stored sample flips on track 8 now change the sound of those steps. In 0.1.x they had no audible effect. Patterns saved under 0.1.x and factory patterns that flipped track 8's samples sound different.
Fixed
- FM feedback (synth page macro 1) was too weak to hear. Its range is increased 4 times. Feedback applies from the next note and needs FM depth above 0.
Other
- arrhythmia-firmware answers a diagnostic request over USB MIDI; it changes no sound, setting or project, while diagnostic counters and read bookkeeping advance (details).
Known issues
Processing time is not measured on the unit
This release is experimental in one respect: the DSP processing time of the synth is not measured on the unit.
- Estimate for the heaviest synth case: 128,409 cycles per audio block. It is a prior estimate from an earlier build. It is not a measured worst case and is not derived again for this release.
- It is composed from a model (128,288 cycles) plus the model cost of a fixed output level (121 cycles).
- We compare it with 131,072 cycles, a ceiling that we chose for the model. It is not a physical deadline.
- Silicon timing is not measured. The model does not cover all combinations with seven sample tracks and effects.
- If the processor runs out of time, audio can glitch or drop out.
- Glitches may occur without a fault report or Rec indication. Report them with the project settings.
Restart after a sample load
- If the restart after a sample load does not complete, track 8 stays silent until you turn the unit off and on. Save your project first.
- How frequently a restart does not complete on the unit is not known. Test results: see Test status.
Loud chords and high resonance
Some settings at high level or with high resonance can still crackle. In a model at this output level, the master filter limits the signal in some cases with overlapping loud notes or transitions at high resonance. The fixed output level does not guarantee clean headroom for all settings. A higher track 8 level makes crackle more likely.
A sample crackled, also on stock firmware
On our unit, the same sample was heard crackling with the verified official firmware 5706 installed. The cause and extent are unknown.
High notes lose the character of the family
At high pitch, the modulation decreases gradually to limit aliasing. Aliasing is not fully removed. From the MIDI note below, the family has no modulation (as FM depth 0), and macro 6 has no effect. Both algorithms, tune 64, design values, not measured on the unit:
From note 91 96 101 103 105 106 109 115 119 Family High metal Deep bell Chime Organ Hollow Metal Bell Bright all others At high pitch, several families sound the same. Feedback (synth page macro 1) is not free of aliasing.
Other issues
- Releasing a note before its attack finishes can produce a small tick, especially at the fastest attack settings.
- The very end of a fading note carries a small rounding artefact at a very low level. Its audibility has not been established.
- With FM depth (macro 6) at 0 the families sound almost the same. Older projects can have macro 6 at 0.
- Only the first two pages of track 8's Sample view hold sounds. The other six pages are dark and do nothing.
- A tap in the Sample view plays the last note that track 8 played. A very high note can sound plain.
- Track 8 has 4 voices in total, including notes in their release.
- Save does not work while the synth page is open. Close the page first.
To be verified on the unit
Sample view sound selection; install of build 7323 with the confirmation on Play; FM settings after power off; the voice of a fifth held pad; the sound after a choke.
Test status
Image 7323 itself: not run on the unit. Image 7323 has the same synth, feedback and sample-load recovery code as the development builds below; the development builds have a different install gate. The install with the confirmation on Play is tested in emulation only.
On the unit, with a development build with the same synth, feedback and sample-load recovery code as 7323 (the development build has a different install gate):
- Install, version query and health report: pass.
- Feedback check, played on the unit at feedback 0 to 127 with FM depth above 0: pass.
On the unit, with a development build with the same sample-load recovery code:
- Pack switch away and back, automatic recovery on both switches: pass.
- 80-note run after the recovery: pass.
On the unit, with earlier development builds with the same FM engine, without the sample-load recovery:
- Install and return to the previous build: pass.
- Stress pattern of 2,458 MIDI messages, health report clean: pass.
- Host-driven four-note attack and release test: pass.
- Clear + macro 6 on the unit sets FM depth 96: pass.
- Host-driven repeated-note test with nine notes: pass.
- Chord crackle test with a fixed output level 2 dB lower than this release: pass.
- Loudness of the synth against stock samples: measured (see Output level).
- An earlier build, which chose the sound on a separate synth page view: idle for 10 minutes with no fault, single notes and chords: pass.
In emulation only.
- The sample-load recovery for a sample loaded into a single slot (not tested on the unit), SysEx transfer and read-back, and restarts that fail.
- The confirmation on Play during install, which 7323 keeps unchanged from stock.
- The sound selection in the Sample view, the two pages, the dark pages, the entry page, CC 8, per-step sounds, the new-project defaults and the synth page macros 1 to 4.
Not measured: the processing time of the synth on the unit (see Known issues).
Not tested: deliberate DSP fault containment (what the unit does when the sound processor is made to stop answering on purpose); arrhythmia-devkit 7228 on hardware (as in 0.1.0 and 0.1.1); Edge and macOS.
Install
Use the installer page, as for 0.1.1: install guide. An earlier Arrhythmia release updates the same way. The page checks your official firmware file and patches it on your computer.
Build Number SHA-256 of the patched .syxarrhythmia-firmware 7323 f5f77f2902aa7934c0c5dd22bbb890ce4c5aaa8f683d4f55e10897df95178cd5arrhythmia-devkit 7228 66e1872c45b742992bdead24ebcbaffb9634d13b0a2db36caf5f2d1e6dd8354darrhythmia-devkit 7228 is unchanged from 0.1.0 and is released again.
The version query (SysEx
70) ends00 39 1Bfor 7323 and00 38 3Cfor 7228. In bootloader mode the pads show73 23for 7323. The release file isrelease/v0.2.0.json.release/v0.1.1.jsonandrelease/v0.1.0.jsonstay in the repository as the record of the earlier releases.Input: the official Circuit Rhythm firmware 2.0.1, build 5706 (SHA-256
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf), on a unit with bootloader 4799. The installer andtools/crpatch.pyrefuse any other file.Source
The 0.2 ARM source is published in
patches/src/. The DSP source of the FM synth, with its fixed output level, is published intools/dspvoice207rel/. The rebuild steps describe how image 7323 rebuilds from this tree with the official firmware 5706 file as the only firmware input. Installation still uses the official firmware and the published release patch. arrhythmia-devkit 7228 and the 0.1.1 image 7261 rebuild from source as before.Licence
MIT (see LICENSE) for the Arrhythmia code and documents. Novation's firmware is not included and not covered.
v0.1.1Arrhythmia 0.1.11 file
Arrhythmia 0.1.1 release notes
Arrhythmia is custom firmware for the Novation Circuit Rhythm. It ships as a patcher: you apply it to your own copy of the official firmware file on your own computer, then send the result to the unit. No Novation firmware is included.
Arrhythmia is not affiliated with or endorsed by Novation or Focusrite. The device name says only which hardware this is for.
What is new in 0.1.1
The track 8 chord synth in arrhythmia-firmware now has attack and decay. arrhythmia-devkit is unchanged from 0.1.0.
- Macro 2 sets the attack and macro 3 sets the decay on track 8. The values are 0 to 127. MIDI CC 22 and CC 23 on track 8's channel set the same values.
- Parameter locks work on both macros, as on the other macros.
- New projects start with attack 0 and decay 64. These values match the fixed sound of the 0.1.0 synth (a decay of about 60 dB in about 2 seconds).
- Clear + macro 3 on track 8 sets the decay to 64, not to the stock value 127. Clear + macro 2 sets the attack to 0, as on stock. Tracks 1 to 7 keep the stock behaviour.
- Notes play out. When playback stops (press Play), on MIDI CC 123 (all notes off) and when track 8 is muted, sounding synth notes play out their decay, like samples.
- Track 8 ignores slice mode. Macros 2 and 3, their locks and lights, the Note-view keyboard, the octave arrows and the expanded view work as without slice mode.
Details: docs/user/synth.md.
How attack and decay operate
- No sustain. A note rises through its attack, then decays. Holding a pad does not hold the level.
- Attack and decay are global for the synth. A knob turn or a parameter lock changes all track 8 voices that are sounding, not only the note of the locked step. Example: a long decay locked on step 1 becomes shorter when step 2 plays with the knob value.
- Range (design values, not measured on the unit): attack about 2 ms to 2 s; decay T60 (the time to fall by 60 dB) 50 ms to 8 s. Decay 64 has a T60 of 2 s. T60 is not the time until the note is silent.
- Fine parts: Shift + macro 2 or 3 (CC 86 and CC 87) has no effect on the synth.
- Loudness: the track 8 mixer level sets the loudness, as before.
- Steps without a note: such a step uses the knob (base) value again. Attack and decay locks stored on a step without a note are ignored. A lock carried from the preceding step that has a note still plays. Arrhythmia never erases a lock: put a note on the step again and its locks play again. A step that holds a note counts as a step with a note also when its probability skips the note: its locks apply.
- Attack after the attack phase: a change to attack does not restart the attack of a note that is already in its decay.
- Clear + macro 3 in lock edit (Rec held with a step) records the value 127 as the lock of that step, as on stock.
- Projects from stock firmware or from 0.1.0: if track 8's decay (macro 3, Length on the stock panel) is at the stock value 127, the project opens with decay 64. Other values stay. Save the project to keep the change. After a save in 0.1.1, every value that you set stays, 127 included.
- Stop, CC 123 and mute: notes play out their decay. One edge is accepted: a note that the sound processor had already accepted at the moment of the stop still starts, then decays. CC 120 (all sound off) is ignored, as on stock: it does not cut the synth notes.
- Cuts: loading a project or a pack, a choke and a sample edit cut the synth notes at once.
Install
The procedure is the same as for 0.1.0: install guide. The installer page offers the two images of this release.
Two builds
Build Number SHA-256 of the patched .syxarrhythmia-firmware 7261 920b2893e8427fc0ea468a414ad7bfc82705aa499828be4375196d6dca2b011barrhythmia-devkit 7228 66e1872c45b742992bdead24ebcbaffb9634d13b0a2db36caf5f2d1e6dd8354darrhythmia-firmware (7261), for players:
- Track 8 is a chord synth: 4 voices, one saw sound with attack (macro 2) and decay (macro 3), no sustain. Pads, the sequencer, MIDI on track 8's channel and modules play it.
- The synth page opens with Shift + Track 8: notes per press, chord type, voicing, octave, MIDI poly.
- Scales on tracks 1 to 7 (ten scales, shared key), set on the synth page.
- P-lock fix on all tracks: an unlocked step goes back to the knob's value.
- SD card module loader, with the built-in paint module.
- No DSP load meter.
arrhythmia-devkit (7228), for developers: unchanged from 0.1.0. The same image is released again in 0.1.1.
- DSP load meter and its read command.
- Module loader and SDK.
- Scales on tracks 1 to 7, set over SysEx only.
- P-lock fix.
- No synth: track 8 stays a stock sample track and there is no synth page.
The version query (SysEx
70) ends00 38 5Dfor 7261 and00 38 3Cfor 7228. In bootloader mode the pads show72 61for 7261. The release file isrelease/v0.1.1.json.release/v0.1.0.jsonstays in the repository as the record of 0.1.0.Image 7261 is byte-identical to the tested development build 7255 except for the build number. The ARM code of 0.1.1 is the 0.1.0 code plus the attack and decay code, which a build switch enables. The scales code for tracks 1 to 7 is the same as in 0.1.0.
Input: the official Circuit Rhythm firmware 2.0.1, build 5706 (SHA-256
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf), on a unit with bootloader 4799. The installer andtools/crpatch.pyrefuse any other file.What was tested on hardware
Development builds 7253, 7254 and 7255 of arrhythmia-firmware, on one unit, 2026-10-20:
- Install.
- Attack and decay with the knobs and with parameter locks.
- Clear + macro 3.
- Notes that play out after Play stops, on CC 123 and when track 8 is muted.
- Slice mode on track 8.
- Steps without a note.
- Save and power cycle.
- No DSP fault: the fault query was clean at the end.
Image 7261 was not separately hardware-tested. It differs from hardware-tested development build 7255 only in the build number.
Tested in emulation only:
- A lock on a single micro-step only (the carried lock of a step with a note). The exact stimulus cannot be set by hand on the unit.
- Timing. The timing check is an emulation; there is no hardware timing (WCET) claim.
Not tested:
- Deliberate DSP fault containment (what the unit does when the sound processor is made to stop answering on purpose).
- arrhythmia-devkit 7228 on hardware (as in 0.1.0).
- Edge and macOS.
The functions that 0.1.1 does not change keep the test record of the 0.1.0 release notes.
Known limitations
- No sustain. The synth has one saw sound with attack and decay; there are no presets.
- Attack and decay are global: a lock also changes the notes of other steps that are still sounding.
- The 4 synth voices include notes that are still decaying, so dense playing can cut tails short.
- A note that the sound processor had already accepted at a stop still starts, then decays.
- Lock recording on track 8 in slice mode is tested only while the transport is stopped.
- Timing is checked in emulation only. A full pattern with long decays can cause audio errors; listen for them.
- The source of the sound processor (DSP) code of the synth is not published yet, so the full arrhythmia-firmware image cannot be rebuilt from source yet. The ARM side and arrhythmia-devkit can.
- The limitations of 0.1.0 that 0.1.1 does not change still apply (expanded view at the default octave, MIDI clock during scale changes, SysEx 7D, the soak result, power-cycle before flashing). See the 0.1.0 release notes.
Licence
MIT (see LICENSE) for the Arrhythmia code and documents. Novation's firmware is not included and not covered.
v0.1.0Arrhythmia 0.1.01 file
Arrhythmia 0.1.0 release notes
Arrhythmia is custom firmware for the Novation Circuit Rhythm. It ships as a patcher: you apply it to your own copy of the official firmware file on your own computer, then send the result to the unit. No Novation firmware is included.
Arrhythmia is not affiliated with or endorsed by Novation or Focusrite. The device name says only which hardware this is for.
Install in three steps
- Download Novation's official firmware 2.0.1 (build 5706): open this link in your browser and save the file:
https://components.novationmusic.com/api/v2/firmwares/169/file. Any file name works (the browser may call it
circuitrhythm-firmware-5706.syx); the installer checks the content. That is the only download you need. Other ways (PowerShell, curl) are in the install guide. The "Source code" archives on the release page are for developers;STARS.MODis an optional light-show module. - Close Novation Components and any other music software or browser tab that uses MIDI. Do not start Components: it holds the unit's MIDI port and the installer then cannot reach the unit (on Windows a MIDI port has one user at a time).
- Open https://llcoolkm.github.io/arrhythmia/web/ in Chrome (Edge untested) and connect the unit by USB. Press
"Connect MIDI", choose the file in "2. Choose the stock firmware", pick the image (arrhythmia-firmware for players),
press "Install", and press Play on the unit when it blinks. The page checks the file's SHA-256
(
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf) before anything is sent.
Before installing, read Back up first and Going back to stock.
Close the installer tab before you open Components or any other MIDI software. On Windows a MIDI port has one user at a time; in our test Components hung until the installer tab was closed.
Going back to stock: use Back to stock on the installer page, or send the unmodified 5706 file with
tools/flash.py. Novation Components cannot return the unit to stock: it reports the unit as up to date, because Arrhythmia answers the standard identity query with the stock version 5706 on purpose.Scales on the Note view
On a scaled track each row of pads is exactly one octave, from the key note to the key note above it:
- Every pad you play lights itself, and a note the sequencer plays lights its own pad.
- Only key notes sit on two pads (the end of one row and the start of the next), and both light together.
- 5- and 6-note scales leave dark, silent pads past the upper key note: two per row in the pentatonic scales, one in blues.
- Expanded view: at the default octave the upper rows run above the unit's highest note and stay dark. Press Down twice for four full rows (in key C, once is enough).
Details and examples: docs/user/scales.md.
Two builds
Build Number SHA-256 of the patched .syxarrhythmia-firmware 7229 13d983b24c30bbdb3df0b4c2203d1016a8ab85bede4528751dad7d45b9145571arrhythmia-devkit 7228 66e1872c45b742992bdead24ebcbaffb9634d13b0a2db36caf5f2d1e6dd8354darrhythmia-firmware (7229), for players:
- Track 8 becomes a chord synth: 4 voices, one saw sound with a fixed attack and a decay of about 2 seconds, no sustain yet. Pads, the sequencer, MIDI on track 8's channel and modules play it.
- The synth page opens with Shift + Track 8: notes per press, chord type, voicing, octave, MIDI poly.
- Scales on tracks 1 to 7 (ten scales, shared key), set on the synth page.
- P-lock fix on all tracks: an unlocked step goes back to the knob's value.
- SD card module loader, with the built-in paint module.
- No DSP load meter.
arrhythmia-devkit (7228), for developers:
- DSP load meter and its read command.
- Module loader and SDK.
- Scales on tracks 1 to 7, set over SysEx only.
- P-lock fix.
- No synth: track 8 stays a stock sample track and there is no synth page.
If you are not sure, install arrhythmia-firmware. You can switch between the two with the installer at any time.
The version query (SysEx
70) ends00 38 3Dfor 7229 and00 38 3Cfor 7228. The release file isrelease/v0.1.0.json.Input: the official Circuit Rhythm firmware 2.0.1, build 5706 (SHA-256
11d604a6b6bef0d41378da03718658c7fe9c959ac24e7fef6563796b9932afaf), on a unit with bootloader 4799. The installer andtools/crpatch.pyrefuse any other file, and the installer checks both versions on the unit.What was tested on hardware
On one unit, 2026-10-20, arrhythmia-firmware 7229 installed with
tools/flash.pyon Linux:- The version reply shows 7229 and no DSP fault is reported.
- C major in the normal and the expanded view: every pad lights itself.
- A minor pentatonic: the two dark pads at the right of each row.
- A note held across a scale change stops when released.
- Scales off: the stock keyboard comes back.
- Save and power cycle: the settings are kept.
- Track 8's synth and unscaled tracks are unaffected.
All passed. arrhythmia-devkit 7228 was not tested on hardware.
The code outside the scales feature was tested on one unit, 2026-10-19, in development builds that differ from 7229 and 7228 only in the scales code and the build number (the sound processor code is the same), installed with
tools/flash.pyon Linux:- Development firmware build: listening; a 60 second musical stress test; save plus 10 power cycles (settings kept); a 1 hour soak with a module in the second half: the unit stayed responsive with no faults reported, but the audio result is inconclusive (see known limitations).
- Development devkit build: the version reply and no DSP fault reported; SysEx 7D refuses reads of the bootloader and the stock firmware and allows module ITCM; the DSP load meter reads through command 08 (idle: core 0 about 41 %, core 1 about 1 %). No listening or stress test on devkit.
- Windows with Chrome and a development version of the installer page that differs from this one only in the release it embeds: detecting the unit, back to stock 5706, and installing a development firmware build all passed. This release's page itself was not run against the unit.
Not tested:
- Listening or stress tests on arrhythmia-devkit.
- Edge (Chromium based, expected to work, but untested).
- macOS.
- Deliberate DSP fault containment (what the unit does when the sound processor is made to stop answering on purpose).
- Loading an Arrhythmia project on stock firmware is not confirmed on hardware.
- There is no restore tool for a backup of the unit's memory.
Known limitations
- In the expanded view at the default octave the upper rows are mostly dark; press Down twice.
- Changing a scale while the sequencer plays can stretch the MIDI clock the unit sends by a few milliseconds. At 130 BPM the longest clock interval measured during scale changes was 26.9 ms, against 24.0 ms without changes. Devices that follow the unit's clock may notice it.
- The 4 synth voices include notes that are still fading out, so dense playing can cut tails short.
- No synth sound controls: one fixed sound, no presets, no attack, decay or level. Planned for 0.2.
- The DSP voice source is not published yet, so the full arrhythmia-firmware image cannot be rebuilt from source yet. The ARM side and arrhythmia-devkit can.
- SysEx command 7D reads only module ITCM; it refuses reads of the bootloader and the stock firmware.
- Deliberate fault containment is untested (see above).
- The 1 hour soak audio result is inconclusive: no reference take on stock firmware and no close listening were done.
- After reading the devkit DSP meter, one flash attempt showed red pads and did not reach the Play confirmation. The tool aborted and the installed firmware was untouched; a power cycle and a retry worked. Power-cycle the unit before flashing.
Licence
MIT (see LICENSE) for our code and documents. Novation's firmware is not included and not covered.
Thanks
Thanks to Ghillermo's CIRCUITS-HACKS-RC, the community mod for the Circuit Tracks that came first. Its published notes helped us, for example the rule that the bootloader installs only an image whose version block differs. Arrhythmia is a separate project.
- Download Novation's official firmware 2.0.1 (build 5706): open this link in your browser and save the file:
https://components.novationmusic.com/api/v2/firmwares/169/file. Any file name works (the browser may call it
