Mod

extracadian

Hype41/100

A midi sequencer firmware for the Befaco MIDI Thing v2 controlled via a Novation Launchpad Mini Mk3, inspired by the Tiptop Audio Circadian Rhythms

extracadian is a mod for the Befaco MIDI Thing, by @Athaphian. Latest release v1.0 (April 2026), 1 star on GitHub.

forBefaco MIDI Thing·by@Athaphian

Unclaimed. Is this yours? Sign in with GitHub as @Athaphian to claim it.

Downloads
0
Star
1
Forks
0
Commits
2
Last commit
Download v1.0

extracadian_v1.0.hex· 414 KB

Custom license· Athaphian/extracadian·downloads come from the creator’s GitHub releases

2
Commits
1
Releases
2 commits and 1 release in the last year
Activity · last 12 months

🥁 Extracadian Rhythms

A midi sequencer firmware for the Befaco MIDI Thing v2 controlled via a Novation Launchpad Mini Mk3, inspired by the Tiptop Audio Circadian Rhythms.

Turns a MIDI Thing v2, Launchpad Mini Mk3 combo into a standalone eurorack trigger/gate/CV sequencer.

Features

Inspired by Circadian Rhythms

  • 8 trigger/gate channels with configurable length (1-512 steps) (output on jacks 1–8)
  • Groups/presets/steps: 8 groups × 8 presets × 8 steps x 8 channels
  • Mutes/solos per channel
  • Random/chaos generation at preset level
  • Beat sync: wrap vs immediate
  • Swing with variable amount and mode (8th/16th)
  • Tempo control with tap tempo
  • Performance fills with variable rate and division
  • Copy/paste/clear at channel, preset, and group level
  • Sub-step editing at 24 PPQ resolution for micro-timing and flams

Beyond Circadian Rhythms

  • Euclidean rhythm generation per preset with density and rotation controls
  • Polyrhythmic patterns via variable/independent preset/channel lengths
  • Dual shift registers for semi-random CV generation (V/Oct output on jacks 9 & 10)
  • Probability per step/gate for randomized patterns
  • Project storage: save/load 32 projects to program flash (survives firmware updates)
  • OLED status display: BPM, group/preset, shift register notes, trigger activity
  • Launchpad hot-plug: connect/disconnect the Launchpad at any time
  • Clock output (16th note tempo out for maximum eurorack usefulness, jack 11) and reset trigger out (jack 12)

Hardware

Output Assignment

JackFunction
1–8Trigger/gate outputs for sequencer channels 1–8
9Shift Register 1 CV output (V/Oct) quantized
10Shift Register 2 CV output (V/Oct) quantized
11Clock output (16ths)
12Reset trigger

Reason for existence

I really like the Circadian Rhythms, but the omission of polyrhythms was a dealbreaker for me, so I decided to create my own version of it. I also added two shift registers because I personally use them a lot in my musical projects (usually via the Disting mk4). Another benefit of this software is project storage (up to 32 full machine states can be saved as projects).

Full Documentation

The full sequencer documentation is in the documentation folder.

Building & Flashing

The easiest way to flash the firmware is to use the TyTools tyUploader and follow the instructions in the MidiThing v2 manual for flashing the firmware. This is also how you can flash back the original MidiThing v2 firmware when needed.

The hex file can be found on the Releases page in Github.

Note: this firmware will set the clock speed of the MidiThing v2 to 240mhz (down from the full 600) to save power and prevent heat buildup.

Prerequisites

Build

pio run -e midithing

Flash

Sometimes it is needed to run this twice, something to do with the bootloader, not sure why.

./flash.sh

Running Tests

All sequencer logic is platform-independent and natively testable on your development machine:

# Run all tests
pio test -e native

# Run a single test suite
pio test -e native -f test_<name>

Architecture

  • All logic lives in lib/ — platform-independent, zero-heap in the hot path
  • src/ is a thin hardware glue layer (~350 lines)
  • IntervalTimer ISR calls processTick() for microsecond-precision timing
  • loop() handles non-critical work: Launchpad I/O, LED refresh, OLED, auto-save
  • Hardware abstraction via interfaces in lib/hal/

License

Commons Clause + MIT — see LICENSE for details. Since this project is heavily inspired by the Tiptop Audio Circadian Rhythms, I can not in good conscience allow any commercial use of this codebase. The license allows anyone to use, modify, and distribute the code for free for open-source and personal projects, but prohibits any commercial use of the code or derivative works.

Summary: Free for open-source and personal use. Commercial use prohibited.