// HACKER NEWS — CYBERSECURITY
Guitar amp and effects pedal built on the Waveshare ESP32-S3-Touch-AMOLED-2.06
A standalone guitar amp and effects pedal built on the Waveshare
ESP32-S3-Touch-AMOLED-2.06. It runs full-size
Neural Amp Modeler A2 captures in real time
on the ESP32-S3, drives a class-compliant USB audio interface as a USB host, and
has a touchscreen UI written in TSX that is compiled to native C++ — there is no
JavaScript engine on the device.
The screen is one board's worth of it rather than the pedal itself: the same
firmware builds for a bare ESP32-S3 module with no panel at all, where the amp,
the effects and the presets are the same and the BOOT button is the footswitch.
Play it in your browser → The same
firmware compiled to WebAssembly: the same UI, the same DSP, the same neural amp
model, playing your guitar through an audio interface. No board required to try
it, and nothing to install.
The AMOLED board is the reference. It is what the factory presets, the browser
build and the screenshots are made against, and the panel-specific parts of the
firmware exist for it. A board with no screen runs the same amp through the same
DSP at the same 48 kHz — measured on the devkit at 91% and 94% of the 1,333 µs
block budget across the two cores, with no missed deadlines — and is configured
over the maintenance API instead of by hand.
What a board has to bring either way: an ESP32-S3 with 8 MB of PSRAM, because
that is where the A2 model lives, and a USB port the chip can drive as a host. A
bare module has no PMIC and no battery path, so unlike the AMOLED it does not
feed the host port itself; the interface needs power from your own supply.
The interface is discovered from its USB descriptors, so any interface that
exposes a 48 kHz UAC2 input and output should work. See
USB audio for the formats and limits.
The home screen shows the chain in signal order. Tap a block to turn it on or
off, or hold it to edit it: drag a slider to change a value, and use ‹ › to page
through the controls. Hold the Amp block to open the capture browser, which
shows the factory captures, the imported ones and the SD card's own folders. The
switch at the top right bypasses the whole pedal, and Tuner opens the tuner.
Tap the preset name to switch, save, rename, delete or create presets. A new
preset starts from the current sound.
On every board, BOOT works as a footswitch: a short press engages or bypasses
the pedal, and holding it switches between audio and maintenance mode. The
switch starts the moment the hold reaches 1.5 seconds, so the screen tells you
when you can let go. Short presses do nothing in maintenance mode.
On a board with no screen, presets, captures and the rest of the controls are
reached from maintenance mode with tools/esp32/amoled_remote.py. The pedal
boots engaged with the remembered preset, or the first preset, Silver Lining
(clean), when no selection has been saved.
Supported models are 48 kHz, eight-channel NAM A2 ("A2-Full") WaveNets,
including a matching member of a SlimmableContainer. Other architectures,
sample rates and layer shapes are rejected with an error. Prepared .namb files
are accepted as well.