# 🦆 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](https://admk.dev/) from [Hack Club](https://hackclub.com)! - 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 Schematic : image PCB (Silkscreen Removed) : image Early Prototypes : IMG_0382-min --- ## 💻 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 such as thats what I mainly play but you could totally use it as a synth! ### For Logic Pro: 1. Plug DuckyMIDI into your computer via **USB-C** 2. Open Logic Pro 3. Create a new **Drummer** or **Software Instrument** track 4. In the track inspector, set MIDI input to **DuckyMIDI** 5. Load your favorite drum kit (Drum Kit Designer, Battery, etc.) 6. Start jamming! 🦆 ### For Other DAWs: 1. Plug in DuckyMIDI 2. Open your DAW preferences/settings 3. Enable **DuckyMIDI** as a MIDI input device 4. Assign it to a drum instrument or sampler 5. Tada!! --- ## Flashing Firmware 1. Hold **BOOTSEL** button on the Orpheus Pico 2. Plug it into USB (while holding BOOTSEL) 3. The Pico appears as a USB drive 4. Copy the `DuckyMIDI.uf2` firmware file onto the drive 5. It will auto-reboot and you're done 🦆 --- ## Customization Want different notes or velocity? Easy! Open the firmware and edit these lines: ```cpp // 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! 🦆*