Loading 3D model… large boards can take a moment.
Rythm is now Catalina!
⚠️ This is still a large work-in-progress! A semi-working version (hardware and software) is estimated to be ready around March 2026.
Catalina is an embedded-first Rust ecosystem for building music and audio processing devices, with a primary focus on ARM Cortex MCUs as the end-target.
The ecosystem is comprised of:
engine, with audio and synth basic building blocks.catalina-engine is a set of embedded-first DSP and audio engine crates that can be quickly integrated into embedded projects as a dependency, or used standalone with the std library for audio application.
The engine crates are designed to be as modular as possible, so i.e. if you just need a couple oscillators, you can use the oscillator module without needed to depend on any other parts of the engine. This composability is designed to make building audio effects and instruments as intuitive as possible.
The engine supports both the core embedded and std runtimes, including support for common embedded loggers (defmt, log), embedded and std library tracing, std and alloc feature sets from underlying libraries, and more via crate feature flags.
Note! As the engine is embedded-first,
no_stdis set by feature flags by default. You'll need to manually enable thestdfeature to toggle off the defaultno_stddeclaration.
Our goal is to make the usage of the engine as seamless as possible across both embedded and non-embedded platforms, making prototyping designs on PC and in simulators, and then later transferring them to embedded device runtimes as easy as possible.
⚠️ The modules and their associated boards are a large work-in-progress! Several designs are only half-complete or still in the planning stages.
The modules provides a set of small STM32-based boards that can be embedded into custom PCB designs, or used with a set of associated carrier boards.
These carrier boards include basic breadboard header breakouts, some module-integrated protoboard designs, and some options for carriers with a selection of Molex PicoBlade Connectors for modular plug-and-play prototyping.
Also see furthur in the README for kits that are designed as self-assembled soldering kits that let you quickly get started creating guitar/effects pedals, and small synths and sequencers using the toolkit.
⚠️ The ecosystem's modules are NOT able to be used standalone, they only have fine-pitch Hirose DF40C board-to-board connectors - a carrier board is required to interface with them!
See our upcoming carriers or soldering kits below for examples.
⚠️ Mini is in active design, these images may be out of date.
The Mini is a 20mm x 40mm module, designed to have a similar footprint to an Arduino Nano to make it easy to fit in a variaty of small audio and music devices. The Mini also has a breadboard-compatible carrier that exposes 2 columns of breadboard pins on either side of the carrier on standard 5-5 breadboard column layouts.
The mini is ideal for applications that don't need a large amount of audio RAM and need to fit in a small footprint - such as a guitar/effects pedal, Altoids tin, or 2HP Eurorack modules similar to Erica Synths' Pico series.
QUADSPI_BK1_NCS) to connector, connect QUADSPI1 to connector, and provide a bootloader toggle that allows the carrier to indicate it should use carrier select pin.⚠️ The card module is only in the planning stage.
Everything from the Mini:
Plus:
The Card module is larger then the Mini, about the size of a credit card. It also features a different board-to-board connector from the Mini, supporting much higher board-to-board distances allowing it to seat over top of higher components (i.e. 3.5mm audio sockets) then the Mini can.
The Card is designed for audio applications that need significantly more memory, and benefit from having 32-bit memory (such as faster access for stereo 16-bit samples), like hardware samplers. The Card also features an onboard bank of dynamic CV sink, input, and output drivers that allow it to function as a Eurorack module off-the-shelf, or with synths and sequencers that have control voltage sockets.
Carriers are breakout boards for the core modules that make them easy to prototype and work with, without needing to make a custom board for their dense board-to-board connectors.
Some of the planned carriers are:
And a couple other ideas that need to be planned out:
The hardware ecosystem will also include several soldering kits that are currently in various stages of development:
Each of these kits will come with a board support package via a feature flag in the Rust crate. These board support packages will come with all the scaffolding necessary to quickly build a project around the boards, as well as several example projects.
Thank you to the supporters that helped design and fund this project!
It would not have been possible for me to spend the time or funds on making this without their support.
If you would like to support this project, see either my GitHub Sponsors page or Patreon.
Support includes access to exclusive Discord channels with sneak peaks and design discussions.
The hardware and CAD components of this project are licensed under the CERN Open Hardware License v2.0. The particular of the CERN-OHL license (permissive, weakly reciprocal, strongly reciprocal) can very depending on the hardware component and should be checked on a per-component basis by finding the closest LICENSE file to it.
The software components of this project are under the MIT license.
Concepts, such as the pin arrangement of the high-density connectors on the modules is consided free and open to build on, especially if you're looking to make a carrier board or product!
SPDX-License-Identifier: CERN-OHL-S-2.0 AND MIT
No comments yet. Be the first to ask about this board.