TREX One – Introduction

The TREX ONE is a very universal Development Kit based around the amazing RP2040 microcontroller from the Raspberry Pi corporation. It provides User Interface Elements and plenty of MIDI IO, WiFi and BLE connectivity along more options.

The RP2040 are interconnected via an UART with an additional pin which can be used as a handshake or interrupt pin. The RPC protocol between both microcontrollers is serialising the data using Google ProtoBuf. The Display Option is connected to the ESP32, which can then offload the UI/WiFi/BLE component.

– RP2040 Dual Core Cortex-M0+ Microcontroller with PIO (Programmable IO) with 16MB of external flash
– ESP32-WROVER-IE Dual Core Microcontroller with 16MB of flash and an IPEX antenna connector
– 4x DIN MIDI Input
– 4x DIN MIDI Output
– 2 Rotary Encoders
– 4 User Buttons + 1 Shift “Alt Function” Button (dual-footprint, can be replaced with high-quality Marquardt 6450 buttons)
– PIO utilised to scan Buttons and Encoders (Shift Register + PIO)
– ILI9341 TFT 2.4/2.8” Display Option w/ SD-Slot and Touch (not included)
– Separate 1A LDO for ESP32 Power Supply
– High-Speed Serial Bus with Handshake between RP2040 and ESP32 (using Protobuf RPC) (Work in progress)
– PMOD SPI Connector for expansions
– Heartbeat LED on ESP32
– 4 Addressable RGB LEDs loaded at 4 User Buttons
– Firmware Update via WiFi for ESP32, RP2040 firmware update via USB (UF2) (work in progress)
– USB Host + Device Mode on USB Type-C connector
– RP2040 and ESP32 UART exposed
– In-System debugging of RP2040 via SWD (with VS Code integration)
– ESP32 running LVGL
– RP2040 running FreeRTOS
– ESP32 running FreeRTOS

Possible Applications:
– General Purpose RP2040 and ESP32 Development Board
– USB MIDI Interface
– MIDI Router
– MIDI Sequencer
– MIDI Patchbay
– MIDI Effects
– Wireless MIDI (BLE + AppleMIDI)

Design Files + Schematic:

Leave a Reply

Your email address will not be published. Required fields are marked *