An open dashboard to use and control the Eigenharp Pico, based on Eigenlabs code.
  • C++ 91.4%
  • C 6.5%
  • CMake 1.5%
  • Swift 0.3%
  • Shell 0.2%
  • Other 0.1%
Find a file
Enrique Tomas c73cd873c1 Update README screenshot to latest build
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-11-14 23:33:39 +01:00
docs Update README screenshot to latest build 2026-11-14 23:33:39 +01:00
EigenLite Add picomidi bridge + vendored EigenLite 2026-11-14 23:18:26 +01:00
picomidi Update screenshot, fix missing-glyph dash in ACTIVE OUTPUTS 2026-11-14 23:30:43 +01:00
.gitignore Add picomidi bridge + vendored EigenLite 2026-11-14 23:18:26 +01:00
README.md Update README screenshot to latest build 2026-11-14 23:33:39 +01:00

eigenharp-pico-lib

Modern user-space driver + performance tool for the Eigenharp Pico on Apple Silicon (M1+) macOS — no kernel driver, no EigenD/Stage, no Python.

  • picomidi/ — the app: EigenLite events → CoreMIDI virtual source (MPE or classic) + OSC, with an ImGui control panel, three trigger modes (keys / wind / string), expression shaping, scales, and presets. Full documentation: picomidi/README.md

picomidi control panel

picomidi in action

  • EigenLite/ — vendored USB protocol layer (TheTechnobear/EigenLite, GPLv3) with local responsiveness patches — see docs/PATCHES.md.
  • docs/STRATEGY.md — how this architecture was chosen (research notes: EigenD, EigenLite, ECMapper, alternatives).
  • picomidi/scripts/ — .app bundling + icon generation.

Build

# 1. EigenLite (once)
cmake -B EigenLite/build -S EigenLite && cmake --build EigenLite/build

# 2. picomidi
cmake -B picomidi/build -S picomidi && cmake --build picomidi/build

Requires: CMake, SDL2 (brew install sdl2), macOS arm64.

Run

./picomidi/build/picomidi            # headless bridge
./picomidi/build/picomidi --ui       # control panel
./picomidi/scripts/make_app.sh       # -> picomidi.app (double-clickable)

Plug in the Pico, enable the "Eigenharp Pico" MIDI input (+ MPE) in your DAW.

License

EigenLite is GPLv3 (see EigenLite/LICENSE); picomidi links it statically and is distributed under the same terms.