BLACKSTOMP: Quick Development Platform for ESP32-A1S Digital Audio Effect Processor
Blackstomp is a digital audio effect processor development platform based on ESP32-A1S module. Here are some of the feature’s highlights:
- Stereo line or guitar input/output
- Microphone input with programmable gain pre-amp
- Potentiometer, switch, and button interfaces
- MIDI input/output interface
- WiFi and Bluetooth connectivity
- 24-Bit stereo codec with analog pass-through
- Dual core Tensilica Xtensa LX6 240 MHz 32-bit processor with single precision FPU (floating point unit)
- C++ library for fast development with Arduino IDE and ESP-IDF development tool chains.
The platform consists of hardware and software to implement digital effect pedal/stompbox. The hardware is designed for the simplicity and cost effectivity, while the software is designed to ease and speed up the application development.
Table of Contents
- I. Hardware
- I.1. Blackstomp Core (BSCORE) Module’s Physical Design Specification
- I.2. BSCORE Module’s Pinout Specification
- I.3. BSCORE Module’s Schematic Diagram
- I.4. BSCORE Development Mode Pedal Schematic Diagram
- I.5. BSCORE Generic Production Model-1 Pedal Schematic Diagram
- I.6. BSCORE Generic Production Model-2 Pedal Schematic Diagram
- I.7. BSCORE Development and Production Model Schematic Diagram
- II. Software
- II.1. Development Tools and Library Installation
- II.2. Getting Started
- II.3. Blackstomp Programming Guide
- II.3.1. Writing Simplest Effect Processor
- II.3.2. Adding Foot Switch Control
- II.3.3. Writing Button Event Handler
- II.3.4. Adding Parameter Control
- II.3.5. Writing Control Event Handler
- II.3.6. Controlling The LED Indicators
- II.3.7. Controlling The Analog Bypass
- II.3.8. Adding Bluetooth Interface
- II.3.9. Adding MIDI Interface
- II.4. Blackstomp DSP Library (bsdsp.h) Objects and Functions
- II.4.1. Function: lookupLinear
- II.4.2. Object: biquadFilter
- II.4.3. Object: fractionalDelay
- II.4.4. Object: oscillator
- II.4.5. Object: waveShaper
- II.4.6. Object: rcHiPass
- II.4.7. Object: rcLoPass
- II.4.8. Object: simpleTone
- II.4.9. Object: noiseGate
- II.5. Blackstomp Project Examples
- II.5.1. BLE Pedal (blepedal.ino)
- II.5.2. Gain Doubler (gaindoubler.ino)
- II.5.3. Mic Mixer (mixmixer.ino)
- II.5.4. MIDI Pedal (midipedal.ino)
- II.5.5. Stereo Chorus (stereochorus.ino)
- II.5.6. Tap Tempo Delay (taptempodelay.ino)
- II.5.7. Distortion (distortion.ino)
DEMO VIDEOS
TAP-TEMPO PING-PONG DELAY WITH OPTIMIZED CONVERSION
Starting from Version 3.3, Blackstomp library has optimizeConversion(range) function to produce much cleaner sound on ES8388-version module. It can optimize the conversion range for 1Vrms, 1/2Vrms, 1/4Vrms, 1/8Vrms, and 1/16Vrms of guitar pickup signals. In the following video, the audio is recorded directly from the pedal’s output to the soundcard’s input, so you can hear it with a stereo headset and judge the sound.
TAP-TEMPO PING-PONG DELAY EFFECT
The source code is published on the github as part of the example codes of Blackstomp’s Arduino library, This effect runs on ES8388 version module with older version library (without range optimization) so its noise is pretty high.
RETENTION LOSS EFFECT
The source codes is still under testing, and you can get the copy of the source code to test this codes (before public release) if you have blackstomp pedal/circuit to run. Just build the pedal (bread-board circuit assembly is accepted) and contact support at deeptronic dot com for the source code’s copy. This effect runs on AC101 version module, so should hear it’s cleaner than the effect run on ES8388 version module (when its not range-optimized).
Buy BSCORE Dev Pedal PCB Buy BSCORE Module Buy BSCORE Dev Pedal