Kompaktes MIDI-Schlagzeug mit 3D-Druck selbst bauen
Komponenten und Materialien
| Komponente | Anzahl |
|---|---|
| Arduino UNO | 1 |
| Adafruit Standard LCD 16×2 Weiß auf Blau | 1 |
| SparkFun Piezo | 1 |
| Adafruit Force Sensitive Resistor (FSR) | 1 |
| Widerstand 10 kOhm | 1 |
| Widerstand 1 MOhm | 1 |
| SparkFun Zener-Diode 5,1 V 1 W | 1 |
| SparkFun Taster 12 mm | 1 |
| Schiebeschalter | 1 |
| TRS-Buchse (Klinke) | 1 |
| USB-A-auf-B-Kabel | 1 |
| Apple Lightning-auf-USB-Kamera-Adapter | 1 |
Benötigte Werkzeuge und Maschinen
- 3D-Drucker (Standard)
- Lasercutter (optional, Extra)
- Lötkolben (Standard)
- Kreisschneider
- Inbusschlüssel
- Cuttermesser
- Rohrschneider
- Akku-Bohrschrauber
- Bohrer 9 mm / 10 mm
Apps und Onlinedienste
- Arduino IDE
Über dieses Projekt




Hi. Dies ist ein minimalistisches Schlagzeug mit Arduino UNO.
Schaut zuerst auf diese Instructables-Seite:
https://blog.arduino.cc/2017/01/19/a-3d-printed-e-drum-pad/
Seit ich damit begann, faszinieren mich Piezos und E-Drums. Der einfache Mechanismus und die geniale Erfindung MIDI haben mich nicht mehr losgelassen. Nur Pads zu bauen, reichte mir nicht.
Das Schlagzeug besteht grob aus zwei Teilen:
- Pads aus 3D-Druck und dickem Papier.
- Trigger-MIDI-Konverter mit Arduino UNO.
Das Signal von den Pads (1) wird vom Arduino (2) verarbeitet und in MIDI umgewandelt. Das MIDI-Signal geht an iPhone, Laptop etc. – Sound kommt raus. Keine separate Stromversorgung nötig, Smartphone/PC reicht.
Was ihr braucht
Werkzeuge
- 3D-Drucker
- Lasercutter (Extra)
- Inbusschlüssel
- Cuttermesser
- Kreisschneider
- Lötkolben
- Rohrschneider
- Akku-Bohrschrauber
- Bohrer 9 mm / 10 mm
Material
- 1 mm dickes Papier
- PLA-Filament
- Schaumstoffplatten 5 mm / 10 mm
- MDF 2,5 mm / 5,5 mm (Extra)
- M6 – 70 mm Schrauben & Muttern
- M6 – 50 mm Schrauben & Muttern
- M3 – 10 mm Schrauben & Muttern
- M3 – 15 mm Schrauben & Muttern
- M3 – 25 mm Schrauben & Muttern
- M2 Schrauben
- Edelstahlrohr 13 mm Durchmesser
Schlagzeug-Hardware
- Mesh-Head 10 Zoll / 8 Zoll
- Snare-Ständer (beliebig, z. B. Yamaha SS662)
- Hi-Hat-Ständer (beliebig, z. B. Yamaha HS650A)
- Kick-Pedal (beliebig, z. B. Yamaha FP7210A)
- Drumsticks
Schritt 1: 3D-Druck
Alle Dateien auf Thingiverse und GitHub.
Für den Rim Version 2 nutzen.
Druck: 20 % Infill, Schichthöhe 0,3 mm.
Auch Lasercutter für Pads nutzbar.
GitHub Vektor-Dateien
Schritt 2: Montage
Teile mit M3-10 mm Schrauben & Muttern verbinden.
Für Mittelteil M3-15 mm oder M3-25 mm, um Bodenplatten zu fixieren.





Schritt 3: Kessel (Shell) bauen
Kesselhöhe: 55 mm. Drei Bänder à 55 mm Breite schneiden, Länge etwas über Pad-Umfang. In den Boden-Spalt einsetzen, auf Kreislänge zuschneiden. 3× wiederholen, mit Kleber übereinander laminieren.
Nach Trocknen: Mesh-Head fixieren, 9 mm Loch für Buchse bohren. Butterfly-Muttern möglich, ich habe aber Stimmschlüssel für normale Muttern entworfen – nutzt sie gerne!
Mesh-Head mit M6-70 mm Schrauben fixieren. Loch bohren, Mesh-Head wieder abnehmen für Piezo-Einbau.




Schritt 4: Piezo befestigen
SNARE
Zwei Piezos wie im Bild. Rot an Tip und Ring, beide Schwarz an Sleeve. Kabel durch Sensorplatten-Löcher fädeln vor dem Löten.
Head-Piezo (Tip) zwischen 10 mm Schaumstoff klemmen: 1 unten, 3 oben, oben zu Kegeln formen (wie Bild). Auf Sensorplatte legen.
KICK
Nur ein Piezo → nur Tip. Keine Sensorplatte nötig. Zwei Schaumstoffstücke unter Piezo. Sensor versetzt vom Zentrum platzieren, damit Beater nicht direkt auf Sensor trifft (Arduino könnte Anschlagstärke nicht richtig erkennen).
HI-HAT
Schaltung wie Kick. 10 mm Schaumstoff unter Piezo.
Piezo ist empfindlich – nicht biegen oder beschädigen!





Schritt 5: 10-Zoll-Snare-Pad
Rim-Sensor anbringen. Sensorplatte fest fixieren. Kegelspitze 2–3 mm seitlich sichtbar. Gleiches Verfahren für 8-Zoll-Pad als Snare.








Schritt 6: 8-Zoll-Kick-Pad
13 mm Edelstahlrohr zuschneiden: 2× 200 mm, 2× 365 mm (Länge einstellbar, kleine Fehler ok). Nach Bildern montieren. M3-Muttern in Teile einsetzbar. Rohre mit M3-15 mm Schrauben festziehen.






Schritt 7: 12-Zoll-Hi-Hat
Nach Papierkessel kam Idee: Aus dickem Papier Becken bauen.
1. Drei Kreise 300 mm Ø aus dickem Papier schneiden.
2. Von Mitte aus Einschnitt machen.
3. Zweiter Einschnitt 10 mm parallel zum ersten.
→ Drei „Pac-Man“-Formen mit kleinem Mund.
4. Mäuler vorsichtig mit Tape schließen → Beckenform.
5. Kleben, dünn auftragen, festdrücken, beschweren, trocknen lassen.
6. Zur Dämpfung 5 mm Schaumstoff einlegen, Loch bohren (unsauber ok, wird versteckt).
7. Sensorhalter & Kabelführung mit doppelseitigem Klebeband (oder Heißkleber) befestigen.

















Schritt 8: Hi-Hat-Controller
Sendet Öffnen/Schließen der Hi-Hat an Arduino. Schaltung simpel, aus drei Teilen.
- FSR auf Unterteil kleben, Buchse fixieren. FSR funktioniert auch mit Loch.
- 10 mm Schaumstoff auf FSR (wie Foto).
- Deckel mit M3-10 mm Schrauben fixieren.
Warum FSR für nur HIGH/LOW? Für Kompatibilität mit Roland/Yamaha-Soundmodulen. In EZ DRUMMER 2 gibt es mehrere Öffnungsgrade – mit FSR durch Code-Änderung möglich (nicht getestet).









Schritt 9: USB-MIDI
Was bringt dieser Schritt? Mit USB-Kabel allein sendet Arduino MIDI – wird von iPhone etc. als MIDI-Gerät erkannt, ohne Extra-Hardware.
- Diese Seite prüfen: Moco Firmware
- GitHub mocolufa
Normales Arduino UNO an iPhone → Fehler „Arduino UNO is not compatible“. Lösung: USB-Chip (ATmega16U2) neu flashen.
Anleitung: DFU Programming 8U2
Bis zum Befehl sudo dfu-programmer atmega16u2 flash Arduino-usbserial-uno.hex folgen, dann Arduino-usbserial-uno.hex durch dualMoco.hex ersetzen:
sudo dfu-programmer atmega16u2 flash dualMoco.hex
Nach Flash wird Arduino als MIDI-Gerät erkannt. Pins wie im Bild brücken → normales Arduino. Nicht brücken → MIDI-Gerät. Zum Code-Upload per Arduino IDE also Pins brücken!


Schritt 10: Trigger-to-MIDI-Konverter
Arduino UNO + Shield in Box. Schaltung siehe Fritzing-Bild. Dioden zum Schutz, aber Arduino UNO hat evtl. eigenen Schutz – Dioden vielleicht überflüssig? Weiss jemand mehr?
Erst Gehäuse-Modell (Case & Cover) drucken, dann Shield danach bauen. Cover auch 3D-druckbar, ich nutzte Lasercutter – wählt was ihr wollt.










Schritt 11: Mit GarageBand spielen
GarageBand starten, verbinden – keine schwierigen Einstellungen. Weitere DAWs für PC nutzbar, z. B. Hydrogen (kostenlos, Sounds erweiterbar).
Schritt 12: Einstellung
Um Code nicht bei jedem Wert neu flashen zu müssen, können Parameter am Arduino selbst geändert werden (Debug-Modus). Nicht alles muss angepasst werden, aber je nach Piezo-Größe, Pad-Härte, Schaumstoff-Härte ist Kalibrierung nötig.
Bedienung: INC/DEC wählt Instrument, NEXT/BACK wählt Parameter. EDIT drücken → Wert mit INC/DEC ändern, EDIT erneut → bestätigen. Video-Ende zeigt Bedienung.
- THRESHOLD: Minimalwert für Tonauslösung
- SENSITIVITY: Sensorempfindlichkeit. Niedriger = hohe Velocity bei sanftem Schlag
- NOTE: Midinotennummer. Ändert Instrument. Siehe Bild.
- FLAG: Wert für Erkennung von Schlagende. 1–10 ok. Zu hoch = Doppelauslösung, zu niedrig = Auslassungen bei schnellen Schlägen.
- SCAN TIME: Nach Überschreiten Threshold werden paar ms lang Werte gescannt, Maximum = Peak. Nicht ändern nötig.
- HEAD / RIM: Rim-Empfindlichkeit. Höher = schwerer auslösen. Zu niedrig = Rim triggert bei Head-Schlag. Code-Verbesserung möglich.
- PEDAL VELO: Pedal-Velocity fix (Initial 100). Auf Wunschwert ändern.
- MASK TIME: Zu FLAG gehörig. Nicht ändern. Zu hoch = Auslassungen bei Rolls.


Schritt 13: Fusion 360
Manche Teile brauchen Maßanpassungen. STL schwer zu bearbeiten → Fusion-360-Daten hochgeladen. Da ich per Trial & Error editierte, nicht zu sehr auf History-Funktion verlassen.
GitHub Fusion-360-Dateien
EXTRA
Zusatzschritte auf Instructables: Arduino Minimal Drum Kit
Detaillierter Bauprozess im Blog – schaut rein, wenn interessiert.
Fragen gerne stellen. Viel Spaß!
Code
Hello Drum v2
Arduino | Geändert: 05.12.2019 von George Brotherston
/* Drum MIDI Controller
Created: 28/06/2017 by Ryo Kosaka as "HELLO DRUM" Ver.1.0
Modified: 05/12/2019 by George Brotherston */
#include // MIDI Library v4.3.1
#include // LiquidCrystal v1.0.7
// LCD Pins
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
MIDI_CREATE_DEFAULT_INSTANCE();
// Variablen
boolean bSnareFlag = false, bHihatFlag = false, bKickFlag = false, bPedalFlag = false;
boolean bButtonState = true, bButtonState_set = true;
int iUPDOWN = 0, iNEXTBACK = 0;
// InstrumentSensor[6] = {threshold, sensitivity, note, flag, velocity, iPeakValue}
int aSNARE[6] = {150, 950, 38, 3, 0, 0};
int aSNARE_RIM[6] = {5, 500, 37, 3, 0, 0};
int aHIHAT[6] = {100, 800, 46, 1, 0, 0};
int aHIHAT_CLOSE[6] = {100, 800, 42, 1, 0, 0};
int aKICK[6] = {200, 700, 36, 1, 0, 0};
// Instrument_ContinuousController[4] = {scantime, snare/rim, pedalVelocity, masktime}
int aHIHAT_PEDAL[4] = {600, 0, 44, 0};
// Setting-Arrays für Menü
int aSETTING[4] = {4, 500, 100, 1};
char* aINSTRUMENT[] = {"SNARE HEAD", "SNARE RIM", "HIHAT OPEN", "HIHAT CLOSE", "HIHAT PEDAL", "KICK", "ADVANCED SETTING"};
char* aSETTING_NAME[] = {"THRESHOLD", "SENSITIVITY", "NOTE", "FLAG"};
char* aSETTING_ADVANCE[] = {"SCAN TIME", "HEAD / RIM", "PEDAL VELO", "MASK TIME"};
// ... (vollständiger Code im Original, hier gekürzt für Lesbarkeit)
// Die komplette Loop-Logik mit Peak-Detection, MIDI-Send, Menü-Steuerung
// und Flag-Reset ist im Originalcode enthalten.
Hello Drum (v1)
Originalversion im Repository.
Schaltpläne
circuit_nZotR7rJMM.fzz
Herstellungsprozess
- Die Trommel: Ein umfassender Leitfaden zu Geschichte, Konstruktion und Handwerkskunst
- Shanghai-Chirurgen drucken maßgefertigte Titan-Knochenimplantate für Krebspatientin
- MAXREFDES220# – Manschettenlose Blutdruckmessung mit optischen Sensoren
- GrabCAD Print mit Ihrem Stratasys 3D-Drucker verbinden – Schritt-für-Schritt-Anleitung
- Jenseits von Prototypen: Reale Innovationen durch 3D-Druck
- Interaktives Gyroskop-LED-Display mit NeoPixel-Ring & Arduino
- DIY Wolken-Kostüm: LED-Streifen, Arduino Nano & SparkFun Teile
- Unopad: Nahtloser Arduino MIDI-Controller für Ableton Live
- Einfachen Hindernissensor mit Arduino bauen – IR-LED & Photodiode Tutorial
- Spracherkennung & Sprachsynthese auf Arduino Due meistern