Files
DuckyMidi/README.md
2025-12-25 00:12:01 +11:00

151 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🦆 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
---
## 💻 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! 🦆*