███████╗ ██████╗ ██████╗ ██████╗ ███████╗
██╔════╝ ██╔═══██╗ ██╔══██╗ ██╔════╝ ██╔════╝
█████╗ ██║ ██║ ██████╔╝ ██║ ███╗ █████╗
██╔══╝ ██║ ██║ ██╔══██╗ ██║ ██║ ██╔══╝
██║ ╚██████╔╝ ██║ ██║ ╚██████╔╝ ███████╗
╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
██████╗ ██████╗ ██████╗ ██╗ ███████╗ ██████╗ ████████╗
██╔══██╗ ██╔══██╗ ██╔═══██╗ ██║ ██╔════╝ ██╔════╝ ╚══██╔══╝
██████╔╝ ██████╔╝ ██║ ██║ ██║ █████╗ ██║ ██║
██╔═══╝ ██╔══██╗ ██║ ██║ ██ ██║ ██╔══╝ ██║ ██║
██║ ██║ ██║ ╚██████╔╝ ╚█████╔╝ ███████╗ ╚██████╗ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚════╝ ╚══════╝ ╚═════╝ ╚═╝
🔥 Open Source Hardware and Software Platform for Digital Audio Effects 🔊
Welcome to the FORGE Project!
FORGE (Framework for Open and Resourceful Guitar Effects) is a software platform designed to empower creators to build their own digital effects pedals for guitar, voice, keyboards, and more.
The goal of this project is to provide a solid and reliable foundation that handles the full complexity of embedded audio software development, covering both driver-level and middleware-level layers.
FORGE manages all the hardware interfaces—microcontroller, audio CODEC, encoders, switches, memory devices, TFT display, USB—as well as the software modules needed for the display, user interface, parameter persistence, filter libraries, delay lines, DCO, and more.
This leaves you free to focus on what truly matters: designing and creating the digital effects you’ve always dreamed of.
FORGE runs on the OSCAR hardware platform (https://github.com/DADDesign-Projects/OSCAR_P01A01)
The framework is now mature and fully operational: it already includes a delay, a tremolo/vibrato, and a chorus effect.
Development is actively ongoing to add new features, introduce new audio effects, and bring FORGE to additional hardware platforms.
The repository is organized as follows:
- DSP/: DSP components (audio processing, filters, oscillators, etc.)
- Drivers/: hardware drivers (audio CODEC, GPIO, memory devices, etc.)
- Effects/: effect implementations (delay, distortion, modulation, etc.)
- GUI/: graphical user interface (menus, widgets, UI panels)
- PersistentStorage/: management of parameter saving/loading in non-volatile memory
- STM_GFX2/: graphics driver and library (ST7789, etc.)
- Utilities/: shared utility functions (monitoring, logging, conversions, helpers)
FORGE is developed using STM32CubeIDE, the development environment and IDE provided by STMicroelectronics (https://www.st.com/en/development-tools/stm32cubeide.html).
The framework must be integrated as a Git submodule within a main project, allowing easy updates and seamless reuse across multiple projects.
git clone --recurse-submodules https://github.com/DADDesign-Projects/OSCAR_P01A01.gitDuplicate the template folder: OSCAR_P01A01/DAD_FORGE/Effects/Template Rename the folder to match your new effect name. Edit the source file: Src/Template.cpp to implement your own audio processing.
add your effet in the configuration file: OSCAR_P01A01/DAD_FORGE/Effects/@Config/EffectsConfig.h Your effect will then be integrated into the FORGE framework.
Feel free to contact me for any questions, feedback, improvement suggestions, or collaboration proposals related to the FORGE framework or the OSCAR hardware platform. I am always open to discussion and community contributions ([email protected]).