Skip to content

hamuro80/blackstomp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLACKSTOMP

  • Description: A quick development platform for ESP32-A1S digital effect pedal
  • Version: 3.9

Features

  • Dual core 240MHz Tensilica Xtensa LX-6 (32-bit processor with floating point unit)
  • WiFi and Bluetooth connectivity
  • 24-bit stereo codec with analog pass-through bypass
  • Six control inputs (for potentiometers, expression pedal, button, or selector switch)
  • 3 buttons inputs (for foot switches)
  • Guitar input
  • Microphone input
  • Stereo input/output
  • MIDI input/output

Available Sketches Example

  • Taptempo Stereo (Ping-Pong) Delay
  • Stereo Chorus
  • BLE Pedal
  • MIDI Pedal
  • Mic Mixer
  • Gain Doubler
  • Distortion

TODO List

  • Provide BLE terminal client app and implement debug monitoring API via BLE, so the Serial port can be dedicated for MIDI
  • Provide implementation of multi-button mode of the control input

Change History

  • Version 3.9
    • Fixed virtal function definitions on codec.h
    • Tested with Arduino IDE 2.3.3, with Board esp32 by Espressif System V2.0.17 (install from board manager), MIDI Library by Francois Best, Lathoub V5.0.2
  • Version 3.8
    • Change <hwcrypto/aes.h> to <aes/esp_aes.h> in btterminal.h
    • Tested with Arduino IDE 2.3.3, with Board esp32 by Espressif System V2.0.17 (install from board manager), MIDI Library by Francois Best, Lathoub V5.0.2
  • Version 3.7
    • Edited bsdsp.h, bsdsp.cpp, and distortion.ino for more consistent camelCase class naming
    • Changed level detection algo in noiseGate object using only fullwave rectifier and 4th order 20Hz low pass filter
    • Added distortion.ino in the example (stacked distortion with tone control and noise gate)
  • Version 3.6
    • Added waveshaper, rchipass, rclopass, simpletone, and noisegate objects in the library (bsdsp.h, bsdsp.cpp)
    • Added distortion.ino in the example (stacked distortion with tone control and noise gate)
  • Version 3.5
    • Changed buffer count from 20 to 2 for 2 ms measured latency
    • Added BGPM-2 schematic and PCB gerber file
  • Version 3.4
    • Added tap multiplier control and re-arrange the previous controls in taptempodelay scketch
    • Added noise gate control in micmixer sketch example
    • Added conversion optimization control in gaindoubler sketch example
    • Fixed optimizeConversion function to be callable inside setup
    • Added commented (inactive) optimizeConversion() code inside setup() section of all example sketches
  • Version 3.3
    • Added optimizeConversion(range) API for ES8388-version module to produce much less noise at default range 250mVrms/707mVpp
    • Enabled ALC to reduce the clipping effect for limited range of ES8388 version module
    • Enabled ALC to boost the microphoe gain with minimal compression and limiting effect
    • Added setMicNoiseGate() API to use the noise gate feature of ES8388-version module
    • Added setPhase method and setWaveTable method for oscillator object to accomodate non-sinusoidal waveforms
    • Added runScope function for sending real-time waveform data to Arduino IDE's serial plotter
  • Version 3.2
    • Added slowSpeed property in control object to suppress the internal noise of ES8388 version in CM_POT control mode
    • Fixed some error in example scketches
  • Version 3.1
    • Fixed uninitialized button pins for ES8388 version module
  • Version 3.0
    • Adding setDeviceType() function to support for both AC101 version and the new ES8388 version of the ESP32-A1S module
    • Removing setOutMix() API function
    • Adding new bypass mode parameter for analogBypass() and analogSoftBypass() API function
  • Version 2.1 Edited Gain Doubler sketch example to synchronize with the manual document.
  • Version 2.0
    • All sketches in the example now left the main loop empty to dedicate core 1 for audio processing task
    • Performance monitoring method runSystemMonitor has been added to the API, can be called after blackstompSetup when MIDI is not implemented
    • All task's priorities has been reverted back to the same priority with audioprocessing task, except for the performance monitoring task which is the lowest (idle) priority
  • Version 1.3 Fatal error fix at blackstomp.cpp at line 555 and 565
  • Version 1.2 Changing the example sketches: change the serial to 9600 baud, deactivate the system info printing by commenting the code lines inside the loop
  • Version 1.1 Fixed blackstomp.cpp at line 555 and 565
  • Version 1.0 Initial release

Documentation