MIDI Drum Module

A Roland-compatible drum module. Built using mostly off-the-shelf parts.

Public Chat
Similar projects worth following
Recently I was able to get my hands on a handful of Roland drum pads however the drum module is shot.
The plan is to use an Arduino setup to read a group of each pad and send data to a pc as MIDI data.
In the future a raspberry Pi will be added to give some on-board sound output.

A Roland Dual-trigger drum pad outputs two signals via a TRS jack.

The main pad sensor is on Tip, rim sensor on Ring and both are grounded to  Sleeve.

Reading both sensors requires two Analog pins. Most arduino boards have 8 analog pins, meaning i would be able to have 4 pads wired up. This would be good enough for adding a few drumpads to an acoustic kit, for example.

The Arduino Mega has 16 analog pins - ideal for a bigger setup.

Project Outline

I aim to use an Arduino Mega to read 8 pads and send data to an Arduino Pro Micro

The Pro Micro can act as a USB MIDI device without having to flash anything to it, so it will be perfect for taking the Mega data and sending it as a MIDI command to an attached PC running some drum software.

I am going to explore using SPI to pass data between the two boards. I am thinking about using the Pro Micro as the SPI Master, potentially opening the door to adding extra Megas as slaves to add more pads, or even using a bank of Nanos in place of the Megas.

  • Project still in development

    Craig Hissett08/23/2019 at 00:22 0 comments

    Just a quick update on this project of mine :)

    I haven't forgotten about this project, however a lot of the development for the software of this one is intertwined with my #DIY SamplePad Controller project as well; both will use the same code to read the pads and then just process them differently. This project's Arduino Mega uses a single serial port to pass data to the Pro Mini for turning into MIDI output, and the SamplePad's Mega uses four software serial ports for sending commands to four DFplayer mini boards.

    There's a strong chance Id like to leave an option for MIDI output on the SamplePad in the future, so it makes sense to develop the Megas code for both projects as one, with options to turn features on/off in the sketch.

  • I2c Testing

    Craig Hissett03/21/2019 at 00:50 0 comments

    Just a little update tonight, testing out my i2c premise.

    The Mega successfully passes data to the Pro Micro, which is great news.

    Now I just need to tighten it up and make sure it's fast and robust, then tidy up the Mega's pad reading code.

    Then it'll be time to stick a load of Jack sockets in a box with lots of Arduinos ha ha!

  • Draft Code | i2c

    Craig Hissett03/19/2019 at 00:32 0 comments

    First draft of code written, ready to test tomorrow:

    I have taken some working test code I had written for the Pro Micro and splits out its functions; the pro micro now becomes an i2c master, converting receive data into MIDI commands, and the slave device will focus on reading pads and sending values back to the master. In this example I'll be putting the slave code onto a Mega, giving 16 analog inputs (enough for 8 pads).

    If this works I'll be a happy man, as it'll allow me to easily add more slaves to give me the number of analog inputs needed, or allow me to use clusters of smaller boards, such as Nanos.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates