ESP32-S3 as USB Host → MIDI SysEx to BOSS Katana (OTG / cable setup questions)

Hello,

I am planning to build an effects board for my BOSS Katana 50W MkII guitar amplifier.
The amp has a USB-B connection that I can connect to my PC.
Using Boss Tone Studio software (see image below),
I can switch between four tone channels, enable effects, and change effect types.
This communication is done by sending MIDI SysEx messages from my PC to the amplifier.

Boss Tone Studio

USB CONNECTION TO AMP

My idea is to use an ESP32-S3-N16R8 (from AliExpress) to send the same SysEx messages via its USB-C port using USB OTG. The board has two USB-C ports: the left one supports USB OTG, and the right one is used for programming.
If this works, i can use footswitches that i will connect to the board.

ESP32-S3-N16R8 USB Ports (My board at home)

I already have the SysEx codes for the channels and effects. For example:

CH-1: F0 41 00 00 00 00 33 12 00 01 00 00 00 01 7E F7
CH-2: F0 41 00 00 00 00 33 12 00 01 00 00 00 02 7D F7
CH-3: F0 41 00 00 00 00 33 12 00 01 00 00 00 03 7C F7
CH-4: F0 41 00 00 00 00 33 12 00 01 00 00 00 04 7B F7

This project should be possible, but i have some questions.
The Katana is a USB device, and the ESP32 is also normally a USB device.
I assume I need to configure the ESP32 as a USB host.

Can I connect the amplifier directly to the ESP32-S3 using a USB-C to USB-B cable?

ESP32 board straight to USB-B

Or do I need a special USB OTG cable to force host mode, or is this handled in software?

I already have a USB-B to USB-C “printer cable” (picture above) that works perfectly between my laptop and the amplifier. Would it be possible to reuse this cable by using a USB-C male to USB-C female OTG adapter?

OTG Adapter Setup

There are jumpers on the ESP32 board.
I soldered the USB-OTG jumper on the back of the board, because I read online that this is necessary to enable host mode. Is this correct, or should I undo it? What is the real function of this jumper?

On the front side, there is another jumper labeled “IN-OUT” which is currently not connected. What does this do, and should I change it?

JUMPERS

I understand that 5V is required when using the ESP32 as a USB host. Is it sufficient to provide 5V to the 5V and GND pins on the board, or are additional connections required?

5V SUPPLY

What software should I use to program the board? Can I use the Arduino IDE?
If so, which libraries and board settings should I use for USB host and MIDI?

If other software is recommended, what would be the simplest way to get this working?

I hope others have already tried sending SysEx with the ESP32-S3 and can help me get started. Any information is welcome!

Thanks in advance,
Arne

Posted Apr 5, 2026, 3:12 PM UTC

21
Loading comments…