madskjeldgaard/mico
Matchbox sized 14 bit midi controller based on the Raspberry Pi Pico
Mico - A tiny, cheap Raspberry Pi Pico midi controller
Mico is a small, cheap (~10 euros total) and super precise 14 bit midi controller based on the Raspberry Pi Pico board.
Features
- 4 x detentless (smooth) encoders
- Velocity: Slow movements result in microscopic changes (1/16000 of the max range approximately), fast movements in large changes.
- A variety of "clip modes" (cycle through them by pressing the button):
- wrap (when the value goes above max, it wraps back to 0)
- clamp (clip at min and max value)
- 14 bit midi (as well as regular 7 bit midi)
- Cheap as chips and open sourced
DEMO
There's a demo here.
BOM
| Quantity | Part | Mouser Number |
|---|---|---|
| 1 | Raspberry Pi Pico rpi2040 | 474-DEV-17829 |
| 8 | 0.01uF capacitor, 0603 | 80-C0603C103M5R7411 |
| 16 | 10k resistors, 1%, 0603 | 603-RC0603FR-0710KL |
| 4 | 15mm Detentless encoders | 652-PEC11R-4015K-N24(knurled) / PEC11R-4015F-N0024(flat) |
| 2 | Female header (to sandwich between the boards) | n/a |
| 2 | Male header (to sandwich between the boards) | n/a |
Uploading the firmware
Download the latest firmware from the release and locate the mico.uf2 file. While plugging your Pico into your computer, press and hold the "BOOTSEL" button. It will show up as a storage device on your computer. Copy mico.uf2 to this device. Done.
Building and uploading the firmware (optional)
If you want to build the code and mess around with it, it is recommended to use a second Pico flashed with the picoprobe firmware.
Using picoprobe
cd software
mkdir build
cd build
cmake ..
make && openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -c "program mico.elf verify reset exit"Debug:
openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tclUsage
SuperCollider
There is an easy to use interface for this controller here.
License
This work is shared under the Attribution-NonCommercial-ShareAlike 4.0 International license.
If you have questions about that, send me an email mail at madskjeldgaard.dk
Credits
These projects were a big help and inspiration in making this:
- schatzmann blog and also this post
- pico-example-midi
- encoder-pio is from the pimoroni-pico library. MIT Licensed.

