2025-12-25 00:12:33 +11:00
2025-12-24 23:37:25 +11:00
2025-12-24 23:37:25 +11:00
2025-12-24 23:37:25 +11:00
2025-12-24 23:37:25 +11:00
2025-12-25 00:12:33 +11:00

🦆 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

💻 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:

// 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! 🦆

Description
No description provided
Readme 10 MiB
Languages
C++ 100%