Skip to content
/ _core Public

firmware for the zeptocore, zeptoboard, ectocore, and ezeptocore

License

Notifications You must be signed in to change notification settings

schollz/_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

_core

build workflow GitHub Release

this is the monorepo for zeptocore, zeptoboard, ectocore, and ezeptocore music devices, their documentation, their firmware, and the tools to interact with them.

for information about purchasing and documentation, visit zeptocore.com. demos are available on youtube.

dsp

The digital signal processing for all the *core things was written by Zack, from scratch, in C. This was done partially to have strict control over the sound/utility, but also because the RP2040 is fixed-point based and needed special care in all the DSP. The libraries are written with modularity in mind, so they can be used in other programs. Here are the DSP header files:

zeptocore

the zeptocore device is a versatile, open-source, handmade audio player and synthesizer, featuring stereo playback of 16-bit audio files at a 44.1 kHz sampling rate.

the zeptocore supports SD-card storage for up to 32 gigabytes of samples and can recall up to 256 audio files organized into 16 banks of 16 tracks each. the zeptocore has 16 different audio effects - saturation, fuzz, delay, comb, beat repeater, filter, tape stop, reverb + more - and includes a single-cycle wavetable synthesizer. The device offers a real-time sequencer with optional quantization, optional clock sync out, and MIDI (in and out) over USB. the device has a built-in 8-ohm speaker and can be powered by two AAA batteries or USB-C.

The firmware for the zeptocore is written in C, and instructions for building the firmware are in the documentation.

diy

EZEPTOCORE

The EZEPTOCORE is a eurorack version of the zeptocore developed by Infinite Digits in collaboration with Maneco Labs. See below for full atributions.

EZEPTOCORE firmware

The firmware is divided into two categories: overclocking and non-overclocking.

  • Choose overclocking if you are using an external clock and want maximum CPU bandwidth for FX. These builds run faster but can exhibit slight clock drift if not externally synced.
  • Choose non-overclocking if you are using the internal clock and need extremely stable timing. These builds have slightly reduced CPU overhead but offer the highest temporal stability.

For latency, normal latency will work for most, but choose low or ultra-low if you encounter latency issues (note: available FX bandwidth decreases for low latency).

Normal Latency Low Latency Ultra-Low Latency
Overclocking v7.0.1* v7.0.1 v7.0.1
Non-Overclocking v7.0.1 v7.0.1 v7.0.1

*default firmware

diy

ectocore (discontinued)

the ectocore is the eurorack version of the zeptocore developed by Infinite Digits in collaboration with Toadstool Tech. See below for full atributions.

ectocore firmware

The firmware is divided into two categories: overclocking and non-overclocking.

  • Choose overclocking if you are using an external clock and want maximum CPU bandwidth for FX. These builds run faster but can exhibit slight clock drift if not externally synced.
  • Choose non-overclocking if you are using the internal clock and need extremely stable timing. These builds have slightly reduced CPU overhead but offer the highest temporal stability.

For latency, normal latency will work for most, but choose low or ultra-low if you encounter latency issues (note: available FX bandwidth decreases for low latency).

Normal Latency Low Latency Ultra-Low Latency
Overclocking v6.4.5* v6.4.5 v6.4.5
Non-Overclocking v6.4.5 v6.4.5 v6.4.5

diy

zeptoboard

zeptoboard is the breadboard variant of the zeptocore. It has most of the same functionality, but instead of using the buttons on the handheld device, you can utilize your keyboard. This version requires some knowledge of breadboarding, but it is ideal if you want to develop your ideas based on the firmware. more information here.

license

  • Apache License 2.0 for no-OS-FatFS (Copyright 2021 Carl John Kugler III)
  • MIT license for the SdFat library (Copyright (c) 2011-2022 Bill Greiman)
  • MIT license for the USB library (Copyright (c) 2019 Ha Thach)
  • GPLv3 for all _core code
  • Hardware: cc-by-sa-3.0

guidelines for derivative works

The schematics are open-source - you are welcome to utilize them to customize the device according to your preferences. If you intend to produce boards based on my schematics, I kindly ask for your financial support to help sustain the development of future devices. Also note - Infinite Digits and Ectocore are registered trademarks. The name "Infinite Digits" and "Ectocore" should not be used on any of the derivative works you create from these files.

attributions

Click here to see the full attributions for the Ectocore and EZEPTOCORE projects

If you are interested in purchasing a modular zeptocore, please see the EZEPTOCORE product page.

I, Zackary Scholl, am the one-person team behind Infinite Digits (Infinite Digits). After I created the nyblcore and pikocore I developed the zeptocore which itself morphed into two different eurorack modules: the Ectocore and the EZEPTOCORE.

There is some confusion surrounding the attributions and acknowledgements for these two products, so this post is intended to clarify and acknowledge all the contributions and inspirations that went into these two products.

The Infinite Digits x Maneco Labs EZEPTOCORE is an open-source eurorack version of the open-source handhold sample slicer created by Infinite Digits - the zeptocore - with manufacturing and hardware design by Maneco Labs and all other aspects created by Infinite Digits and sold by Infinite Digits. The zeptocore is also the basis for the 2024 Infinite Digits x Toadstool Tech Ectocore which which had manufacturing and hardware co-designed with Toadstool Tech, but all other aspects solely created by Infinite Digits and also sold by Infinite Digits.

Both the EZEPTOCORE and the Ectocore are fully open-source modular versions of Infinite Digits’ open-source zeptocore device (both GPLv3-licensed and CC-BY-SA-3.0, with exception for the final schematics, BOM and board files). The zeptocore itself comes from a long lineage of Infinite Digit’s open-source devices and open-source software including pikocore, nyblcore, amen script, glitchlets script, amenbreak script, abacus script, makebreakbeat script, sampswap script, dnb.lua utility, raw script, and the paracosms script (most of these licensed under MIT license). These devices and software libraries have their own long legacies and many acknowledgments, but would especially like to acknowledge being inspired by Jerboa modular synthesizer (for inspiring me to use the attiny85), Fay Carsons (for inspiring to use the rp2040), Limor Fried and Émilie Gillet (for pioneering CC-BY-SA hardware), and Nick Collins (for the Breakcore UGen), the open-source contributors to RP2040 community (Raspberry Pi Foundation, Carl J Kugler III for the SDIO library, which is built upon FatFS which I am thankful for), Steven Noreyko and Jacob Vosamer for helping improve MInfinite DigitsI and porting to RP2040v2, as well as countless musicians who inspire all Infinite Digits creations and all the open-source maintainers who I find inspiration and inspire me to continue to produce open-source designs and making my work freely available to remix and re-purpose.

The EZEPTOCORE and Ectocore websites and sample manipulator and downloader was developed and maintained by Infinite Digits. The open-source tools for splitting drums was designed at Facebook Research by Alexandre Défossez which is used to generate the splice points to do a Trig Out in the Ectocore. The automatic splicing was done using the Aubio library and sox which are both open-source software libraries.

The name EZEPTOCORE is a product of Infinite Digits, combining “eurorack” and “zeptocore” to signify its lineage.

The name Ectocore is a collaboration of Toadstool Tech+Infinite Digits, combining of Toadstool Tech’s mythical ethos (“ecto”) and Infinite Digits’ *core products (“core”).

Toadstool Tech asked for the following attribution and credit text without modification: “Ectocore’s original hardware design, interface layout, and artwork were created by Toadstool Tech / Izaak Hollander. Toadstool Tech has no involvement with the current Maneco Labs/Infinite Digits 2025 iteration of Ectocore and is not responsible for any support related to iterations not branded ‘Toadstool Tech’. This product is not a collaboration with Toadstool Tech, and there was no involvement with its engineering or marketing. Toadstool Tech will receive no monetary compensation from sales of this product.”

Infinite Digits would like to clarify compensation of Toadstool Tech: Toadstool Tech was paid for the original Ectocore collaboration, and compensation was offered for the EZEPTOCORE project but Toadstool Tech declined.

Infinite Digits would like to clarify the attributions of the original Ectocore hardware design: the original design was based from Infinite Digits’ open-source pikocore schematic and open-source zeptocore schematic combined with open-source designs from Raspberry Pi foundation, Adafruit, and Émilie Gillet’s plaits schematic (licensed by CC-BY-SA schematics). Iteration on the Ectocore hardware design was done by Toadstool Tech, Infinite Digits, and Instruo. However, the final Ectocore hardware schematic and board files developed solely by Toadstool Tech.

Infinite Digits would like to clarify the attributions of the interface layout of the Ectocore: The interface was designed throughout a collaboration between Toadstool Tech and Infinite Digits, combining of Toadstool Tech’s mythical inspiration (“Grimoire”) and Infinite Digits interfaces from previous monome norns scripts written by Infinite Digits (e.g. amenbreak script for singular “amen” and “break” knobs, makebreakbeat script for sample splicing, sampswap script, dnb.lua utility for “tunneling” and jumping) and inspiration from devices previously created by Infinite Digits ( pikocore and nyblcore). Infinite Digits also acknowledges that the norns scripts developed by Infinite Digits that inspired the Ectocore and EZEPTOCORE panel design were born out of ideas from many other people, built in a community of open-source creations, with special thanks to scanner_darkly (who came up with the single “amen” and “break” knob idea) and Nick Collins (who created the inspirational Breakcore UGen from SuperColldier).

The “Infinite Digits x Maneco Labs EZEPTOCORE” front panel is inspired by the design from Toadstool Tech+Infinite Digits, and incoroprates changes by ML to add a reset button to the front.

Infinite Digits also wants to acknowledge the countless community members of the open-source world (Supercollider, monome norns, Raspberry Pi, Adafruit, many many more) who I have been inspired from and continue to be inspired, and from their work I am grateful and continue to try to pay forward by continuously making my work similarly freely open-source and available. (One note on that: The final hardware design from Toadstool Tech and ML are NOT open-source as they are proprietary designs of their own work, each created separately based on my open-source zeptocore device).

About

firmware for the zeptocore, zeptoboard, ectocore, and ezeptocore

Resources

License

Stars

Watchers

Forks

Sponsor this project