====== pi-Stomp Core ====== =====Highly Customizable DIY Multi-effects for Guitar, Bass & Keys===== {{::pi-stomp-core_front.jpeg?direct&600|}} pi-Stomp is an open source high definition multi-effects stompbox **platform** for guitar, bass and keyboards. The base install contains over 350 plugins - effects, modeled amps & cabinets, loopers and sound generators (synths). It sports 24-bit, 48 to 96kHz stereo audio and a Raspberry Pi 64-bit quad core processor running at 1.4 GHz Numerous virtual pedalboards containing up to dozen (or so) plugins, can be constructed via MOD, a super powerful yet easy to use drag-n-drop web user interface. Each pedalboard can be saved with multiple "presets", each being a snapshot of all the parameters for a given sound. Once your pedalboards are saved, only the pi Stomp is needed on-stage, at home or in the studio. An LCD shows an overview of the current pedalboard. Navigation is done via rotary encoder and allows quick changes of the pedalboard, preset, plugin bypass, deep plugin editing and global settings. The original pi-Stomp was the first DIY HD Multi-FX platform available in kit form. Over 110 pi-Stomp pedals have been built in 20+ different countries! A common request was the ability to further customize the hardware. The idea behind pi-Stomp Core is to provide the core functionality but allow the builder to decide the types of controls & how many, whether to include DIN MIDI, etc. Even the audio card and LCD can be exchanged for other models. pi-Stomp Core is thus, smaller, cheaper, easier to build and incorporate into your dream audio processing project. This is possible by providing interface headers for all of the peripheral functions. The same default pi-Stomp software is used, leveraging the original pi-Stomp history and userbase. pi-Stomp Core also adds a nifty color TFT LCD display and some usability features allowed by the increased resolution. =====Demo and Overview===== This wiki is admittedly quite text dense. Visual learners might get more from watching this 11 minute overview {{vimeo>598075040?medium}} -- ===== Plugins/Effects included (default installation)===== 358 Total plugins * 57 Overdrive, Distortion and Fuzz * 36 Dynamic (Compressor, Limiter, DeEsser) * 35 Filter (EQ, Filters, Wah, etc.) * 46 Generator (Synth, Sampler, Drumkit, General Midi modules, etc.) * 31 Modulation (Chorus, Flanger, Phaser, Ring Modulation, Rotary, Tremolo, Vibrato, etc.) * 15 Reverb * 24 Delay * 16 Simulator (Preamps, Amps, Cabinets) * 8 Spacial (Stereo panning and imaging) * 20 Spectral (Pitch Shifting, Doubler, Harmonizer, Vocoder) * 22 Utility (Midi, Noisegate, Gain, Phrase Looper, Sequencer, Switching, Tuner, etc.) * 48 Miscellaneous (unspecified category) All of these plugins are included: https://github.com/brummer10/GxPlugins.lv2 //Most// of the plugins listed here are included: https://pedalboards.moddevices.com/plugins It's mainly the newer ones, or the plugins MODDevices charges for which are not =====Pedalboard Sound Samples===== See a variety of actual pedalboards and listen to [[https://www.treefallsound.com/listen/|Recorded Samples]] ===== Features ===== pi-Stomp Core Hardware Specs: * Raspberry Pi 1.4 Ghz 64-bit quad-core processor * Dual ins/outs, 24-bit, 48 to 96kHz stereo audio (AudioInjector Zero, HiFiBerry, etc.) * Latency: 2.67ms (128 frames/96kHz). 5.33ms if CPU load is reduced by changing sample rate to 48kHz or frames to 256. * Buffered Input Impedance: 1 Meg Ohm * True bypass on In1/Out1 via latching relay * Stereo output Volume control * Encoder for navigation and control * Header to support most SPI based LCD/LED displays * ADC with header for adding up to 8 Analog controls (pots, faders, expression pedal, switches, etc.) * Debounce with header for up to 5 momentary switches (footswitches, pushbutton, etc.) * USB MIDI support via Raspberry pi USB port * UART header for serial communication or DIN MIDI In/Out (optional $10 module) * Header for 3 uncommitted GPIO pins for whatever (ins/outs, sensors, LED's, etc.) * Small footprint! A System with color TFT LCD, three footswitches, and two assignable tweak knobs fits in a Hammond 1590J enclosure: 145mm x 95 x 45 (5.7in x 3.7 x 1.9) * Low cost: Board + components + raspberry pi + audio card + color TFT LCD + power supply, should cost about $160. Add a few footswitches, knobs, a an enclosure, etc. and you're likely still to be spending less than $200. ===== Architecture and Interfacing ===== {{:pi_stomp_core.jpg?direct|}} {{:finished-pcb-bottom.jpeg?direct&600 |}} {{:finished-pcb-top.jpeg?direct&600 |}} ---- ===== Example Configuration ===== Here we have pi-Stomp Core configured to offer all the functionality as the original pi-Stomp including: * **An assignable analog Tweak knob.** 7 additional analog inputs (pots, switches, expression pedal, etc.) could also be added * **DIN MIDI Input and Output using 3rd party breakout board.** * **Three assignable footswitches with LED halos.** Two additional can be added or up to 13 if you tap into the 8 available analog inputs. {{::example_build.jpeg?direct|}} Here's a later build into a 1590J enclosure with 2 assignable analog tweak knobs and undermount LCD {{::1590j-build_top.jpeg?direct|}} {{::1590j_build_guts.jpeg?direct|}} ===== FAQ ===== Why pi-Stomp? Can I do XYZ and other Frequently Asked Questions: [[pi-stomp-core-faq|pi-Stomp Core FAQ]] ===== Enclosure Considerations ===== Because some build choices are dependent on the enclosure you plan to use, we recommend that you read this before building: [[enclosure considerations|Enclosure Consideration Guide]] ===== Full Build Instructions ===== Go here for the build guide: [[pi-Stomp Core Build Instructions|pi-Stomp Core Build Instructions]] ===== Hardware Customization ===== Once you have your core system built, you'll likely still want to add switches, controls (knobs, expression pedal, etc.), MIDI in/out, etc. This guide presents some options: [[customization guide|Customization Guide]] =====Software Installation and Updates===== Go here for the [[Software Installation 64-bit|Software Installation/Update Guide]] Or if you'd prefer, here's the older [[Software Installation|PatchboxOS install]]. Note that PatchboxOS (from blokas.io) uses the 1.8 version of MOD, is over 2 years old, and does not currently appear to have a plan to update. It's also 32-bit. Thus, Treefallsound is focusing our future development on the first linked 64-bit installation which includes the latest 1.12 version of MOD and supports many new plugins not possible on the PatchboxOS platform. ===== Troubleshooting ===== If you run into any hardware or software problems, first, consult the [[troubleshooting guide]] =====Other Software running on pi-Stomp hardware===== pi-Stomp is intended to be a platform. MOD is the current recommended software for audio processing and configuration, but other Linux audio software, especially if it uses Jack for audio routing, might “just work”. Here, we'll explore some possibilities: [[other_software_running_on_pi-stomp_hardware|Other Software running on pi-Stomp hardware]] ======pi-Stomp Core Usage====== ---- ==== Hardware Connections ==== You may not have noticed that the input and output jacks are "stereo" TRS jacks. This allows 3 general types of connection: - **Mono** - Like a typical stompbox, plug a mono cable (TS - typical "guitar cable") in, and a mono cable out. Configure your pedalboards to use "Hardware Capture 1" and "Hardware Playback 1" - **Mono In, Dual or Stereo Out** - Great for recording, stereo or dual amp setups. Use stereo or parallel signal chains, one for direct, one for reverb/delay tails, etc. Plug a mono cable in, and a stereo (TRS) cable out. If your destination is a stereo input, the cable can be TRS to TRS. If you need to split to two mono (TS) inputs, just get an [[https://www.sweetwater.com/store/detail/STP202--hosa-stp-202-insert-cable-1-4-inch-trs-to-dual-1-4-inch-ts-6-foot|insert cable]] (aka "TRS/TS Y-cable"). Configure your pedalboards to use "Hardware Capture 1" and both "Hardware playback" outputs. - ** Dual/Stereo In, Dual/Stereo Out** Great for synth setups, stereo guitar, or anytime your pi-Stomp will receive a dual input. Use a stereo TRS or "Insert Cable" (see #2 above) for both input and output. Configure your pedalboards to use both "Hardware Capture" inputs and both "Hardware playback" outputs. Each I/O pair can be completely independent or use stereo effects with dual in's and out's. You can even use a plugin like "Stereo X-Fade x42" to crossfeed one channel into the other. Cool! ====The LCD==== ===Main screen Elements=== {{ :lcd_elements-1280.jpeg?direct |}} - Current Pedalboard - Current Pedalboard Preset (shown here as the selected item) - Toolbar including: - WiFi Status: Gray=Not connected, Silver=Connected via router, Orange=Connected via Hotspot - In1/Out1 Bypass/Processing Status: Gray=Bypassed, Green=Processing (select and click to toggle). For In2/Out2 processing is always enabled. - Global Settings. Select and click to enter Settings menu - Mapped Analog Control(s). Up to 8. Color indicates plugin category. - Set of Pedalboard Plugins. Outline=Bypassed, Filled=Enabled (select and click to toggle, long-press to edit parameters) - Mapped Footswitch(es). Up to 5. Colored ring indicates bypass status. ===Plugin Colors=== The rendered color for a plugin is determined by its assigned Category (as seen in the MOD webui). The category colors can be changed in pi-stomp/pistomp/lcdcolor.py. Defaults are: * 'Delay' : "MediumVioletRed", * 'Distortion': "Lime", * 'Dynamics' : "OrangeRed", * 'Filter' : Tan-ish * 'Generator' : "Indigo", * 'Midiutility' : "Gray", * 'Modulator' : Blue-ish Indigo, * 'Reverb' : Blue-ish, * 'Simulator' : "SaddleBrown", * 'Spacial' : "Gray", * 'Spectral' : "Red", * 'Utility' : "Gray" Unless overridden by a *color* property in the default_config.yml file, any assigned (aka "midi learned") footswitches or analog controls will be also be colored using the plugin category. For example, a footswitch assigned to the enable of an distortion plugin will show Lime green when enabled, gray when disabled. A potentiometer assigned to the distortion gain will display with a Lime green knob icon, a reverb control will display blue. ====General navigation==== * **Turning** the encoder, **scrolls** thru the elements on the screen (current Pedalboard, current Preset, plugins, menu selections, etc.) * **Clicking** the encoder **takes action** on the selected element * When the **Pedalboard** is highlighted, clicking enters pedalboard selection mode. Scroll now to select a new pedalboard, click again to load it * When the **Preset** is highlighted, clicking enters preset selection mode. Scroll now to select a new preset, click again to load it * When a **Plugin** (or footswitch) is highlighted, clicking toggles the enabling of the plugin * When the bypass/processing tool is highlighted, clicking toggles the state * When the System tool (wrench icon) is highlighted, clicking switches to the System Menu * **Long Press** goes deeper or exits current mode * From the main screen, long press will bring up the System Menu which includes various utilities for managing your system * When a **Plugin** is highlighted, long press enters "Deep Edit" mode for changing the parameter settings of that plugin ====System Menu==== The System Menu includes a number of utilities for managing the system. Access the menu by scrolling to the wrench tool and click. Scroll to the desired action and click to execute. - System shutdown: It's generally acceptable to just switch off power, but a disk corruption can occur if a file was being written. To avoid any possibility, use this action - System reboot: Reboot the system. - System info: Display the software version and networking info. This page also includes the toggle between routed WiFi and connection via Hotspot. - Save current pedalboard: Save any changes made to the current pedalboard to disk - Reload pedalboards: Reload all pedalboards. This should be done after saving a pedalboard via the MOD web UI. This restarts the mod-ala-pi-stomp service. - Restart sound engine: Restarts the jack audio host which in turn restarts mod-host, mod-ui and mod-ala-pi-stomp services - Input Gain: sSet the input gain for best matching your input source. The setting is persisted without need to save. More on that [[https://www.treefallsound.com/wiki/doku.php?id=software_installation#audio_setup_important|here]] - Headphone Volume: Set the level for the headphone output on the audio card. This setting is persisted without need to save. ====MOD Web UI for Pedalboard Editing==== Pedalboards are created and edited using a web browser via the MOD web UI. You connect to the pi Stomp over Wi-Fi. Just point a browser on your computer to ''pistomp.local/'' (patchbox.local if using an old patchboxOS build) ===If you cannot connect...=== You can check the wifi mode and IP address from the **System menu**: - Long Press the encoder until the **System menu** displays - Scroll to **System info** - Click **hotspot_active** indicates whether pi-Stomp is available via hotspot or via router * "1" indicates the hotspot is active and available as **pistomp** password: **pistompwifi**. To use it, switch your computer to that wifi network. * "0" indicates the hotspot is deactivated. In that case, pi-Stomp will try to connect to your router The IP address to point your browser to is also displayed. For hotspot mode, this will likely be "172.241.1.1". For router mode, it'll be the address space assigned by your router (eg. "192.168.1.150") The wifi mode can be toggled between **hotspot** and **router** modes by selecting **Enable Hotspot** or **Disable Hotspot** then clicking. It may take a few seconds to complete the connection. **Hotspot mode is generally preferred because it makes it more portable. Software download/updates require an internet connection and thus won't work in hotspot mode.** ===Once Connected...=== You should see something like the following showing your currently active pedalboard: {{:screen_shot_2020-02-24_at_7.22.00_pm.png?direct|}} For detailed usage, see the MOD User Guide: https://wiki.moddevices.com/wiki/MOD_Web_GUI_User_Guide Saving your pedalboards writes them to the pi Stomp SD Micro drive. No computer is required from that point while accessing your pedalboard(s) from the pi Stomp. Once you save a pedalboard via the MOD UI, you can sync the hardware: Long-press the encoder until the System Menu shows. Then select "Reload pedalboards". {{:warning24.png?nolink|}}Please note that while you are editing pedalboards, it's best to use the MOD web UI for switching pedalboards, not the knob on the pi-Stomp. If you use the knob, it's likely that the web UI will not track correctly and any saves could end up overwriting a previous pedalboard. This is a known issue with the MOD web UI when controlled via REST. Hopefully, it can be resolved in a future update. ===Shutting Down=== Although you can just pull the plug, there's a very small chance that the file system could become corrupt. It's best to shut down services cleanly before powering off a Raspberry Pi. That's typically done by a connected keyboard/monitor or connected computer, but we don't have that option. Instead, the best practice is to use the **System shutdown** action under the System Menu. - Scroll to the "wrench" toolbar or Long Press the encoder until the **System menu** displays - Scroll to **System shutdown** - Click - Wait for the LCD to go completely white - Remove power (unplug, etc.) The "pi Stomp" splash screen text will appear red when shutting down and green when booting to indicate what it's doing. If having a switch would simplify power on/off, [[https://www.amazon.com/Female-Switch-YOUCHENG-Security-Camera/dp/B08933K6G7/ref=sr_1_4?dchild=1&keywords=inline+switch+dc+2.5mm&qid=1628306236&sr=8-4|these]] in-line switches work well. They're sometimes available as an add-on via the treefallsound.com parts store. If you find a similar model, make sure it has 5.5mm x 2.5mm connectors, not 2.1mm. =====pi-Stomp Tutorials and Videos===== Task specific [[tutorials_and_videos|Tutorials and Videos]] ====== Resources and Links ====== ---- =====Github sources for main software used ===== * [[https://github.com/TreeFallSound/pi-stomp|pi-Stomp]] software and firmware * [[https://github.com/TreeFallSound/pi-stomp/issues|pi-Stomp Bug/Issue/Feature-request Tracking]] * [[https://github.com/TreeFallSound/pi-stomp-pedalboards|pi-Stomp starter pedalboards]] * [[https://github.com/moddevices/mod-host|mod-host]] plugin host software (Created by the great folks at Mod Devices) * [[https://github.com/moddevices/mod-ui|mod-ui]] web ui (Created by Mod Devices) =====Creating LV2 Plugins===== * [[https://wiki.moddevices.com/wiki/MOD_SDK|MOD SDK]] * [[https://wiki.moddevices.com/wiki/How_To_Build_and_Deploy_LV2_Plugin_to_MOD_Duo|How to build and deploy an LV2 Plugin]]. We generally recommend using the docker image to avoid build issues. =====pi-Stomp in Social Media and Forums===== * [[https://hackaday.io/project/175863-pi-stomp-a-hi-def-multi-fx-platform-for-guitar|hackaday.io]] * [[https://www.facebook.com/treefallsound|facebook.com]] * [[https://www.instagram.com/treefallsound/|instagram.com]] * [[http://www.pedalhaven.com/pi-stomp-multi-effect-pedal|Pedal Haven]] ====== About Tree Fall Sound ====== ---- Tree Fall Sound exists to bring multi-effects projects to DIY musicians. ====Randall Reichenbach==== {{ :profilepic.jpg?nolink&240 |}} My "day jobs" have been in Electrical and Software Engineering, but my main passion has always been music. I’ve been building effects pedals and other musical gadgets since the 1980’s (read “experienced”, not “old”). I’ve always been obsessed with tone, usability and clever features. How cool would it be to create a do-everything open expandable effects platform, easily modifyable by anyone not too afraid of Linux, Python, etc. ? That's the idea that got me rolling on this project. Raspberry Pi and high def sound cards along with some open source software like LV2 (plugin format) and MOD (plugin host and UI), have finally made such an endeavor possible. I created this project because I know there are others like me that would be waaay more excited playing with a piece of gear they built and can modify by getting under the hood of the hardware and software. I spend well over 20 hours on it every week and will continue to as long as there is new functionality and features to explore. I’m hoping others will join us in this endeavor and take their creations to places we've not even imagined. Stream some of my original music here via your platform of choice: https://artists.landr.com/055120649103 An extensive interview and more pi-Stomp background on [[https://blokas.io/reads/interview-pi-stomp/|Blokas Reads]] ====Micah van de Merwe==== {{ ::micah.jpg?nolink&300 |}} I’ve been into electronics and taking things apart since before I could walk. My passion for electronics really took off when I started to play guitar at age 13. By age 15 I got bitten by the tube bug and built my first tube amp. The case for tone had begun. After getting tired of lugging amps and massive pedalboards around, I decided to look into making something digital. I stumble upon pi-Stomp and I was hooked. I have a background in IT and Linux sysadmin, so naturally my focus has been on the OS and core software, where I continue to try and squeeze every last drop of performance and efficiency out of what we have. =====The Environment===== We love the Earth and hope you do too. Electronics are inherently not good for our planet. Our hope is that by building something yourself that can be upgraded, you'll be able to make use of it longer than you would have a commercial product, and that you might be able to reuse or recycle many of the components when its life is truly over. * All pi-Stomp PCB's are Lead Free HASL RoHS compliant. * Any presoldered parts were soldered with Lead Free RoHS solder. * All board components are RoHS compliant. The only non-RoHS compliant components in the current design are: * The TFT Color LCD * The AudioInjector audio card When you are done with your pi-Stomp, please consider using the Raspberry Pi, LCD, etc. for other projects or donating them to your local Makerspace. If you eventually dispose of your pi-Stomp components, please do so according to your local guidelines. Removing the non-RoHS parts shown above to deal with them appropriately is encouraged. Thanks! {{:green_14.png|}} The Internet is a huge polluter of the environment. treefallsound.com is hosted by [[https://my.greengeeks.com/seal/|GreenGeeks]] The carbon footprint is reduced (not offset) by matching every amp they pull from the grid with 3 times that in the form of renewable energy via Bonneville Environmental Foundation. They also plant one tree for every hosting account they provision.