Desk Mat to MIDI Drums
I've always dreamed of having a drum set at home, but space, noise, and cost were always challenges. So, I decided to build my own compact, desktop MIDI drum set that’s USB-powered and responsive to every hit!
I'll take you through my entire journey of creating these DIY MIDI drums—from using piezo sensors to designing the layout with 3D printing and coding it all with Arduino Leonardo.
This setup works seamlessly with programs like GarageBand, Ableton, and more. Join me and discover how you, too, can have a drum set that fits right on your desk!
Supplies
Electronics
- Arduino Leonardo (or other Arduino models with the ATmega32U4 chip)
- 7 x Piezo Sensors (35mm in diameter for stronger signal capture)
- 3D-Printed Plates and Drumsticks (STL files included)
- 7 x 1MOhm resistors
- Prototype soldering board
Mechanical Parts
- 2 x Desk Mats (two: one for placement, one for impact absorption) Software
- Multicolor Ribbon cable
- 14 x Screws (2.3 × 9.5 mm)
- KW12-3 Micro Roller Lever Arm Switch
- Sandpaper (for the Bass pedal grip)
Tools
- 3D Printer
- Utility knife
- Ruler and pen for precise measurements
- Universal Glue (flexible, for attaching components)
- Hot Glue for attaching cables and plates to the mat
Software
- MIDI Software (Apple’s GarageBand, Ableton, Logic Pro, etc.)
- USB-to-MIDI Bridge (optional) Hairless if working with an Arduino model featuring a chip other than the ATmega32U4
- Arduino IDE for uploading code
Print the 3D Models
- There are no special requirements. I used the standard 15% infill for all parts.
Cutting and Shaping the Main Mat
- Mark the Mat: Use a ruler and pen to outline the areas you need to cut. Each one should match the diameter of one of the three patterns (DrumPatternBig.stl, DrumPatternMiddle.stl, DrumPatternSmall.stl). You could use my layout shown on the picture or do your own arrangement.
- Cut the Pieces: Carefully cut along the markings using a utility knife or scissors. Ensure the edges are smooth to fit perfectly.
Cut the Underside Pieces From the Second Mat
- Mark the Mat: Use a ruler and pen to outline the areas you need to cut. Each piece should match the diameter of one of the plates.
- Cut the Pieces: Again, carefully cut along the markings using a utility knife or scissors.
Build the Drum Pads
- Glue the Cut-Out Pieces to the Top Side: Attach the cut-out pieces from the first mat to the drum pad using universal glue. Opt for a glue with some open time to allow proper positioning of the mat. Instant glue, for example, is not suitable. In my video, I followed the instructions and pressed the two sides together after the universal glue had partially dried, but the process wasn’t smooth. If I were to do it again, I would position the cut-out pieces immediately after applying the glue.
- Attach Piezo Sensors to Plates: Use hot glue to attach each piezo sensor directly underneath the plate in the slot.
- Attach the "Pressure-Making" Piece: Use hot glue to secure the "pressure-making" piece to the piezo speaker.
- Glue the Cut-Out Pieces to the Bottom Side: Attach the cut-out pieces from the second mat to the underside of the plates using hot glue.
Place the Drum Pads
- Place the Drum Pads: Position the drum pads inside the cut-out sections.
- Secure the Mat: Use hot glue to fasten the mat securely into the slot.
Wire the Drum Pads
- Secure the Cable: Use hot glue to attach the ribbon cable to the mat.
- Solder the Drum Pads: Connect the drum pads to a multi-band ribbon cable by soldering them.
Make the Arduino Shield
- Create Arduino Shield: Follow the schematic to create the Arduino shield on a prototype board.
- Place the Arduino: Insert the Arduino with the shield into the enclosure.
- Secure the Arduino: Before inserting the pins of the shield into the Arduino, secure the Arduino board using screws.
- Connect the Shield to the Pads: Solder the shield's output cables to the pads' cables.
Assemble and Solder the Bass Drum Pedal
- Prepare the Cable: Cut a two-wire cable long enough to reach from your drum pedal to your desk height.
- Solder the Switch: Solder the switch to the ends of the cable.
- Secure the Switch: Attach the switch to the pedal with screws.
- Add Sandpaper for Grip: Cut sandpaper to fit the slots on both sides of the pedal and glue it in place for better stability while using the pedal.
- Connect the Pedal: Solder the other end of the cable to the Arduino shield.
Fasten the Arduino Enclosure to the Mat
- Secure the Arduino: Use four screws to attach the Arduino to the mat, aligning it with the top part as shown in the picture.
Install the Arduino Code
- Upload the Code: Upload the code from the GitHub repository to the Arduino.