Start here
CrossPad is a 16-pad MIDI controller. An ESP32-S3 runs the firmware, and an STM32 co-processor sits next to it. CrossPad is also an SDK: the same app code runs on the board and in a simulator on your computer.
What you need
Section titled “What you need”- A CrossPad board and a USB data cable (a charge-only cable does not work). These pages use board v2 (PCB r20); boards with PCB r16 / r19 (v1) work too, and step 2 shows the difference. No board? Use the PC simulator.
- A computer with Linux (Ubuntu or Debian), Windows 10 or 11, or macOS.
- About 10 GB of free disk space.
- About an hour the first time. Most of it is downloads.
The steps
Section titled “The steps”Follow them in order. Each step ends with a check, so you know it worked before you move on.
- Set up the toolchain: ESP-IDF, the CrossPad project, CP Tools and the board test tools.
- Recommended: install each piece by hand, as the page shows. You learn what each piece is and where it lives.
- Shortcut: the one-line installer does all of step 1 for you. It is at the top of step 1.
- Optional: keep several ESP-IDF versions side by side, use an ESP-IDF you already have, or let Claude build, flash and test for you.
- Build the firmware for your board revision.
- Flash the board over USB.
- Check it works with CP Tools and a smoke test.
No board needed: PC simulator. It runs the same apps in a window on your computer and skips steps 1–4. The quickstart takes the same route and ends with an example app running.
CP Tools
Section titled “CP Tools”CP Tools is CrossPad’s command-line helper: it installs and removes apps, checks your setup (doctor) and updates the board.
The project starts it as tools/app_manager.py, which fetches the CP Tools code from CrossPad/crosspad-apps; the one-line installer adds the cptools command for the same program.
The SDK repos
Section titled “The SDK repos”All repos live under github.com/CrossPad.
| Repo | What it is |
|---|---|
CrossPad/platform-idf | The ESP-IDF firmware project. You build and flash this one. It pulls in core, GUI and apps as submodules. |
CrossPad/crosspad-core | Portable C++ core: app logic and platform interfaces, shared by the board and the simulator. |
CrossPad/crosspad-gui | Shared LVGL user interface: widgets, themes and the app lifecycle. |
CrossPad/crosspad-apps | The app registry, the CP Tools code and the one-line installer. |
CrossPad/crosspad-hil | Python tool that finds a connected board, flashes it and runs tests on it. |
CrossPad/crosspad-mcp | MCP server: lets Claude build, flash and test through tools. |
CrossPad/crosspad-pc | The PC simulator: the same apps in a window on your computer. |
CrossPad/CrossPad_STM32_r2 | Firmware for the STM32 co-processor on v2 boards (PCB r20). It also bridges the ESP32 console to USB. |