4.6 KiB
🦆 DuckyMIDI
DuckyMIDI is a simple, compact USB-C MIDI drumpad with 17 keys, designed for music production, live performance, and drumming workflows.
It's powered by the Orpheus Pico and shows up as a standard USB MIDI device — no drivers needed.
Duck themed. Simple. Hackable.
Features
- 17 programmable MIDI pads
- USB-C powered & data - Simple, clean and efficient
- USB MIDI (class-compliant) - Works instantly on macOS, Windows, Linux
- Powered by the Orpheus Pico – Made by Adam from Hack Club!
- Low-latency, fast response for drumming
- 🦆 Duck-themed PCB & design
🧩 Hardware
- MCU: Orpheus Pico (RP2040-based)
- Keys: 17 mechanical switches
- Interface: USB-C
- MIDI: USB MIDI (no DIN, no adapters)
- Power: USB-C powered
Pictures of the PCB And Schematic / Early Prototypes
💻 Software
- The firmware was written using TinyUSB MIDI
- Appears as "DuckyMIDI" on your system
- Works with all DAWs such as:
- Logic Pro
- Ableton Live
- FL Studio
- Reaper
Each key sends a MIDI Note On / Note Off message for the daw to proccess and then record/output.
Default MIDI Mapping
DuckyMIDI uses General MIDI drum mapping on Channel 10:
| Key | MIDI Note | Drum Sound |
|---|---|---|
| 1 | 36 (C1) | Kick Drum |
| 2 | 38 (D1) | Snare |
| 3 | 42 (F#1) | Closed Hi-Hat |
| 4 | 46 (A#1) | Open Hi-Hat |
| 5 | 48 (C2) | Tom 1 |
| 6 | 50 (D2) | Tom 2 |
| 7 | 45 (A1) | Low Tom |
| 8 | 47 (B1) | Mid Tom |
| 9 | 49 (C#2) | Crash Cymbal |
| 10 | 51 (D#2) | Ride Cymbal |
| 11 | 52 (E2) | Crash 2 |
| 12 | 53 (F2) | Ride Bell |
| 13 | 54 (F#2) | Tambourine |
| 14 | 55 (G2) | Splash Cymbal |
| 15 | 56 (G#2) | Cowbell |
| 16 | 57 (A2) | Crash 3 |
| 17 | 58 (A#2) | Vibraslap |
Want to customize? Just edit the MIDI_NOTES array in the firmware!
Also a quick note that you don't have to use DuckyMidi as a drumpad only! It can be configured to be used with instruments like the piano and synths as well!
Getting Started
Note DuckyMidi doesn't only have to be a drumkit! I've configured it like that as thats what I mainly play but you could totally use it as a synth!
For Logic Pro:
- Plug DuckyMIDI into your computer via USB-C
- Open Logic Pro
- Create a new Drummer or Software Instrument track
- In the track inspector, set MIDI input to DuckyMIDI
- Load your favorite drum kit (Drum Kit Designer, Battery, etc.)
- Start jamming! 🦆
For Other DAWs:
- Plug in DuckyMIDI
- Open your DAW preferences/settings
- Enable DuckyMIDI as a MIDI input device
- Assign it to a drum instrument or sampler
- Tada!!
Flashing Firmware
- Hold BOOTSEL button on the Orpheus Pico
- Plug it into USB (while holding BOOTSEL)
- The Pico appears as a USB drive
- Copy the
DuckyMIDI.uf2firmware file onto the drive - It will auto-reboot and you're done 🦆
Customization
Want different notes or velocity? Easy!
Open the firmware and edit these lines:
// Change MIDI notes (line ~20)
const byte MIDI_NOTES[17] = {
36, 38, 42, 46, 48, 50, 45, 47, 49,
51, 52, 53, 54, 55, 56, 57, 58
};
// Change velocity (line ~29)
byte velocity = 100; // 0-127
// Change MIDI channel (line ~30)
byte midiChannel = 10; // 1-16
Then reflash and you're golden!
🦆 Why DuckyMIDI?
I started building this project after noticing a lack of MIDI Macropads in the market, Most of them that acomplish the same purpose often cost 100 AUD + while DuckyMidi Does it in only 15 AUD!!!
Don't believe me on that one?
Heres the cost breakdown:
1 - PCB - 12 AUD including shipping from JLC PCB for 5! = 2.40 per board
2 - Switches - 17 switches is around $3 from aliexpress
3 - 3D printed case uses around 73 grams of filament and at a price of around 20 aud for 1000g thats only $1.7
3 - As for the Pico - It's not widley available for sale but you can use any sort of USB C or even a normal pico from AliExpress around $3
📜 License
MIT License
Made with ❤️ by The-UnknownHacker
Quack on! 🦆