The guitarpedal repository is Linus Torvalds' resurrected guitar effects pedal project, written primarily in C, that combines custom hardware and firmware to create a digital multi-effects guitar pedal with a modern interface. The project represents a significant evolution from an earlier analog potentiometer-based design, now featuring a 128x128 monochrome OLED screen and rotary encoders for intuitive effect control and parameter adjustment.
The repository is organized into three main directories: Hardware contains KiCAD design files for the pedal's circuit boards and mechanical components, Software holds the firmware that runs on the device, and Documentation provides project information. The hardware design employs a modular approach using two core boards centered around the RP2354 microcontroller and the TI TAC5112 codec, connected via tiny 0.5mm FFC cables. This modular architecture allows for experimentation with different form factors while keeping individual boards manageable in complexity. The design uses HiRose BM28 series connectors with 0.35mm pitch for compact board layouts, though this adds manufacturing complexity. Supporting hardware includes audio and power jacks, an i2c connector for the screen, USB-C programming port, rotary encoders, and stomp switch headers.
The firmware builds on Linux, macOS, and Windows using the pico-sdk and tinyusb libraries as dependencies, requiring standard build tools including git, make, python3, cmake, and a 32-bit ARM cross-compilation environment. The build process generates a UF2 file that can be flashed to the device either through USB mass storage or via picotool.
The user interface consists of two rotary encoders with integrated switches and two stomp switches. The top rotary controls parameter values and cycles through effect parameters when pressed, while the bottom rotary navigates between effects and enables or disables them. The left stomp switch toggles the current effect, and the right stomp switch controls global pedal power. Two status LEDs provide visual feedback about effect and global states, with brightness variation indicating active processing conditions like noise gating or compression. A reset sequence triggered by holding both rotary switches enables programming mode when connected to USB or resets all effects to defaults when powered standalone.
The pedal implements eight audio effects: a noise gate with adjustable threshold down to -100dB, a compressor with attack and release controls, a boost effect with signal folding distortion, phaser and flanger effects, an echo effect based on the Maestro Echoplex tape delay model, a pitch shifter using delay-based frequency manipulation with optional feedback, and a 10-band equalizer. The noise gate and compressor both feature envelope tracking with configurable attack and release parameters. The boost effect distinguishes itself through signal folding rather than traditional clipping, creating harmonic distortion. The pitch shifter uses a unique delay-loop approach that can shift pitch by arbitrary fractions of an octave with feedback capabilities.
According to GitGenius activity tracking, the repository shows median issue and pull request response latency of 17.4 hours across seven tracked items, with a mean response time of 48.3 hours. Torvalds leads contributor activity with nine tracked events, followed by FauZaPespi with seven events and msanchezmorales-ship-it with three events. The repository shares contributors with leaflet/leaflet, mrdoob/three.js, and opencv/opencv, indicating cross-pollination with major open-source projects in web graphics, 3D visualization, and computer vision domains.