Guitarpedal is a digital guitar effects pedal built around a microcontroller and audio codec, with effects implemented in software.
The project addresses the challenge of creating a practical hardware guitar pedal by separating concerns between the physical device and editing interface. The pedal itself runs seventeen different effects on dedicated firmware, with minimal on-device controls: a single knob and stomp switch. Rather than attempting complex editing on a small screen, the tool uses a web application communicating over USB MIDI from a browser, allowing users to configure effects on a proper display. The architecture shares effect definitions across three build targets—the firmware, a test bench, and the web app—ensuring consistency between what is measured and what runs on the hardware.
This project suits developers interested in embedded audio processing, hardware design, or digital signal processing who have access to the specific microcontroller and codec hardware. It is not a general-purpose effects library but rather a complete reference implementation for a particular pedal design. The codebase includes hardware schematics in KiCad format, DSP primitives like biquads and envelope followers, a validation test suite, and build infrastructure that enforces safety checks between the audio core and firmware. Building requires a 32-bit ARM cross-compilation environment and the pico-sdk and tinyusb libraries, with support for multiple board configurations specified at build time.
The project maintains clear separation between hardware variants through explicit board configuration, preventing silent mismatches between build artifacts and physical devices. The codebase is organized to support multiple build targets from shared source files, with the test bench compiling the same DSP code as the firmware to ensure measurement accuracy. Documentation is acknowledged as incomplete, suggesting the project prioritizes working code over comprehensive guides.