Build a physical digital guitar effects pedal from the provided circuit board designs and firmware.
Study a real-world example of digital signal processing effects like compressors, echo, and pitch shifting.
Modify or add new guitar effects to the existing firmware.
Use the pedal as a USB audio interface to send guitar audio to a computer.
| torvalds/guitarpedal | torvalds/uemacs | vercel-labs/zero | |
|---|---|---|---|
| Stars | 1,944 | 2,032 | 1,465 |
| Language | C | C | C |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an ARM cross-compiler, custom PCB hardware, and KiCad to build and use the pedal.
GuitarPedal is a personal hardware and firmware project by Linus Torvalds, the creator of Linux, that produces a working digital guitar effects pedal. The repository contains the circuit board design files, the firmware source code that runs on the pedal, and some documentation. The hardware is built around two chips: an RP2354 microcontroller (the brain of the pedal) and a TI TAC5112 audio codec (which converts the guitar's analog signal to digital and back). The board design is modular, meaning the microcontroller and codec each live on their own small circuit board that plug together, plus separate boards for the audio jacks and the main controls. The enclosure has a small OLED screen, two rotary knobs that also click as buttons, and two foot stomp switches. The design files are in KiCad format. The firmware implements several audio effects that the player can switch between using the knobs and screen. Available effects include a noise gate to cut background hum, a compressor, a boost with an unusual folding-style distortion, a phaser, a flanger, an echo based on a classic tape delay unit, a pitch shifter, and a 10-band equalizer. There is also a USB audio interface mode that lets the pedal send audio to a computer. Each effect has adjustable parameters controlled through the pedal's screen and rotary encoder. Building the firmware requires a Linux, Mac, or Windows machine with standard C build tools and an ARM cross-compiler. The repository includes git submodules for the required libraries, so they are fetched automatically. The compiled firmware is a UF2 file that gets copied onto the pedal over USB when it is in programming mode. The author describes the project as a learning exercise in hardware design and digital signal processing, and notes some rough edges remain in the UI and USB audio reliability.
Linus Torvalds's hardware and firmware project for a DIY digital guitar effects pedal with a screen, rotary knobs, and multiple effects.
Mainly C. The stack also includes C, KiCad, RP2354.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.