- Overview
- Disclaimer
- Features
- Hardware Requirements
- Installation
- Configuration
- Build and flash
- Usage
- Troubleshooting
- Contributing
- License
The TONEX ONE Controller is a project that enables MIDI support for the TONEX ONE device. It allows users to change active presets on the TONEX ONE using a USB connection, significantly enhancing its versatility in live performance and studio settings.
This project is an unofficial "addon" for the TONEX ONE device and is not affiliated with, endorsed by, or supported by IK Multimedia.
Use of this project is at your own risk. The author and contributors of this project are not responsible for any damage or issues that may arise from using this project.
- Translates MIDI Program Change messages to TONEX ONE commands
- Based on the ESP32-S3 microcontroller
- Built using ESP-IDF (Espressif IoT Development Framework)
- Enables integration of TONEX ONE into complex pedalboards with MIDI controllers
Description of communication protocol can be found here
To implement this project, you'll need:
- ESP32-S3 board
- MIDI input circuit connected to PIN 5 of ESP32-S3
The MIDI input circuit can be constructed using the design available at: Notes and Volts - MIDI and Arduino: Build a MIDI Input Circuit
| Target | Pin |
|---|---|
| Receive Data (RxD) | 5 |
| 5V | 3.3V |
| Ground | GND |
Note: Basic soldering skills are required for assembling the MIDI input circuit.
Some ESP32-S3 boards do not function as USB hosts out of the box, which can lead to errors like this:
I (1378) TONEX_CONTROLLER_USB: Opening CDC ACM device 0x1963:0x00D1...
I (2378) TONEX_CONTROLLER_USB: Failed to open device
To enable USB host functionality, you may need to solder a jumper on the back of the board. The soldering area will typically resemble this:
To complete the setup, connect the two small pads shown in the image with solder. This modification bridges the connection required for USB host support.
- Clone this repository:
git clone https://github.com/vit3k/tonex_controller.git - Navigate to the project directory:
cd tonex_controller - Set up ESP-IDF environment (if not already done)
- Set the target to ESP32-S3:
idf.py set-target esp32s3
Build the project and flash it to the board:
idf.py -p PORT flash monitor
(Exit serial monitor with Ctrl-])
The controller supports MIDI Program Change messages to control the active slot on your TONEX ONE device:
- MIDI Channel: Hardcoded in
midi.cppfile (MIDI_CHANNELconstant) - Program Change Mapping:
- Program 1: Changes active slot to A
- Program 2: Changes active slot to B
To use:
- Ensure your MIDI controller is connected to the MIDI input circuit
- Send Program Change messages from your MIDI controller
- The controller will translate these to commands for TONEX ONE
If you encounter a flashing error on Mac:
- Install the driver from: CH34XSER_MAC_ZIP
- Use the device
/dev/cu.wchusbserial*for flashing
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
