MIDI Drum Controller "Atomic"

by pmartinchile in Circuits > Arduino

2368 Views, 17 Favorites, 0 Comments

MIDI Drum Controller "Atomic"

Atomic MIDI Drum

Hi! This is ATOMIC, a 6-pad MIDI drum controller made with Arduino made for music production and fun!

The button allows you to change the notes of the pads which is defined in the codes as modes A (Pattern) and B (Fill mode). The idea behind this is that you first record the basic pattern in you DAW and then you add extra sounds like toms or plates. Two LEDs indicates which mode are you using, and there´s a connection for a hi-hat pedal.

Supplies

  1. Arduino UNO with 16U2 communication IC [1].
  2. USB B cable for the Arduino. HIDUINO firmware.
  3. PCB Atomic Drum (or protoboard or similar).
  4. 2.2kΩ x 4 resistors.
  5. 47kΩ x 6 resistors.
  6. 32 x male pin headers (for the shield board) [2].
  7. Piezo sensors x 6 [3].
  8. Foamy (in my country is known as goma EVA) or 1/16 inch black rubber).
  9. Expanded polystyrene (1cm thick ) (1cm = 0,393701 in).
  10. Pieces of wood, acrylic or aluminum (no more than 0.5cm thick).
  11. Atomic box or similar [4].
  12. TS or TRS connector x 1 (for the hi-hat pedal).

[1] Cheaper versions of Arduino comes with another USB communication´s chip (CH340) which firmware cannot be changed. This causes a problem because, in order to use the cheaper one, you need to use 2 intermediary softwares, which will cause bigger latency values, making the drum uncomfortable to be played.

[2] As you will see in the pictures, the idea is to make a shield to connect everything to the Arduino, so the pin headers are be soldered in the PCB. if you are using a protoboard and dupont wires you can omit it as well as the pin headers. I suggest you to get this protoboard+shield board, I made the first prototype there and worked perfect to test the idea.

[3] If you have no previous experiences with piezos I recommend you to buy a few more, ideally 12 or more, in case you break or burn some.

[4] You can use any box.

Arduino Code and HIDUINO

This code requires the MIDI library wich can be obtained here (I used 5.0.2):
https://www.arduino.cc/reference/en/libraries/midi-library/

The code is commented (in spanish), and includes all the required connections and instructions.

HIDUINO modifies the firmware of the communications´ IC so the computer will identify it as a MIDI device, which as I said before, helps a lot with latency issues.

IMPORTANT: once you modify the firmware you can not re program the Arduino (in the R3 version you can remove the chip and put in another Arduino, but the procedure is slow and fastidious) so be sure to load the program correctly before the modification.

If you don´t or can´t use Hiduino you can install Hairless MIDI and Open Loop to be able to communicate vía USB with a DAW in your computer, or use the DIN-5 connection to go out serial with the drum, but it´s a bit more complicated.

Schematic and PCB Assembly

ATOMIC SCHEMATIC.png
ATOMIC PROTOTYPE VERSUS FINAL.jpg

The schematic indicates how to put resistors and components. I used Eagle which has labels to indicate connections easily, so in case you are not familiar with that, an example: A0 is connected with a wire (green color) to a resistor, but also is the name of a point in the Arduino, so all of them are connected togehter, and same thing as the rest of the labels.

I suggest you to use this shield-shaped prototype boards (like the one in the picture), it´s way more solid than using a protoboard.

You can see in the pictures how it looks like in the prototype and the final version of the board.

Assembling Pads

ATOMIC - PADS.png
ATOMIC PROTOTYPE PAD.PNG

Usually drum pads are made of layers of foam, then a piezo sensor protected with a solid surface, and then a rubber to make the sticks bounce. In the prototype version you can see in the picture and the video I left, you can see I used the expanded polystyrene to make a base, then using the foamy made a 4-corner hold for the surface which had the piezo glued to it. On top of the surface I put another layer of foamy, but ideally you should put the rubber. The idea is to test different maerials that makes you comfortable with playing. In my case I tried to use only recylced materials.

In terms of size, if you want to play with sticks I suggest you to made the pads of at least 10cm x 10cm(4inx4in).

3D Model

Here is the STL file for the box. It´s one of my firsts designs so please check before print!

Demo

ATOMIC Drum - Testing prototype

I used Cubase 5 and MT Power Drums to make this test!