8-Way MIDI DRUM PADS
Have
you got rhythm? Do you want to transfer that
rhythm to your computer or hardware sequencer?
Probably the easiest way of achieving this is to
use MIDI drum pads that can be hit with
drumsticks, and the data can be stored in real
time with any errors corrected afterwards.
I previously designed a MIDI drum
pad system with the velocity byte fixed at maximum. Now I have designed an 8-way
velocity sensitive circuit and built
this unit based around the PIC 16F877 microcontroller.
It provides MIDI
data which has to be sent to a drum/synthesiser
or sound module. The velocity byte is dependent on how hard the
piezo transducer is hit. The drum selection is completely programmable, and the MIDI
transmit channel is programmable. However, normally the drum
sounds are assigned to MIDI channel 10.
The 8-Way drum inputs to MIDI Output unit utilizes:
- A Printed Circuit Board (PCB),
- a pre-programmed 16F877 PIC,
- The drum selection is completely programmable
from 0-127,
- They circuit is velocity sensitive,
- The MIDI
transmit channel is programmable (1-16),
- A PCB screw terminal power socket and 9v
battery connector,
- PCB screw terminals for 8 drum-pad inputs,
- A 16 x 2 Liquid Crystal Display (LCD),
- 3 control switches to select the menus, increment and decrement the
drum and MIDI channel values,
- A MIDI 5-pin DIN output socket,
- Each input (1-8) is selectable to a particular MIDI
drum selection ,
- The circuit schematic is available
in GIF format,
- The circuit consists of the drum microcontroller layout
and the 8-way pre-amplifier
layout, (if required).
The 8-Way drum inputs to MIDI Output unit requires:
- A 9v battery or equivalent DC power source,
- Suitable external piezo-electric transducers,
- Sensitivity can be increased with the 8-way
pre-amplifier.
There are two modes of
operation:
- Programme Mode
- Normal Mode
Programme Mode:
At
power-on, if the Menu switch is simultaneously held ON, then the unit will
enter programme mode. Then each push of the menu switch moves through the
menu. The menu consists of the following:
|
STEPS
|
CHOICE
|
RANGE
|
|
1
|
Programme
Mode
|
|
|
2
|
MIDI
Channel |
1-16 |
|
3
|
Drum
1
|
0-127
|
|
4
|
Drum
2
|
0-127
|
|
5
|
Drum
3
|
0-127
|
|
6
|
Drum
4
|
0-127
|
|
7
|
Drum
5
|
0-127
|
|
8
|
Drum
6
|
0-127
|
|
9
|
Drum
7
|
0-127
|
|
10
|
Drum
8
|
0-127
|
| 11 |
Threshold |
0-127 |
| 12 |
Sensitivity |
0-127 |
| 13 |
Delay |
0-255 |
| 14 |
Normal
Mode
|
|
|
Loop
to Step1
|
|
|
|
Table 1 Programme Mode Selections |
Programme
Mode is entered by pressing the Menu switch ON. Normal Mode is
entered by having the Menu switch OFF at power-on. Each time the menu switch is
pressed the next menu is selected from 1 to 14.

The
value for each selected menu item can be increased or decreased using the
increment and decrement switches, respectively. The available menus are shown on
the LCD displays.
The
MIDI Channel is normally set to channel 10 for drums, but it can be set to any
midi channel (1-16).
Programming
the Drum to MIDI Unit only has to be done once
and the drum values are stored internally in the EEPROM and the unit will
continue to operate in this mode, even when power is removed, until
reprogrammed.
The
adjustable Threshold value (0-127) is used to prevent false triggering from
adjacent drum triggers or external noise. It is initially pre-set to a value of
11.
The
adjustable Sensitivity value (0-127) is used to increase the value detected from
the piezo transducer if low sensitivity sensors are utilised. It
is initially pre-set to a value of 20.
The
adjustable Delay value (1-255) is used to prevent re-triggering from a single
hit on an input. It is initially pre-set to a value of 5 mS.
The unit will operate as shown
for the General MIDI drum map. Other drum maps can be used.
If
a different drum value is required, at any time, then the programming
procedure can be repeated.
Normal Mode:
In Normal mode the
drum inputs are scanned and
the corresponding MIDI note on/off data is transmitted on MIDI channel 10. The MIDI
drum range choice is from 0 to 127 as shown in table 1. However
the actual drum range and sound depends on the MIDI sound module.
The General
MIDI (GM) drum specification has drum values from 34 to 80. If the Menu switch is pressed then the unit enters programme mode.
Circuit further explanation:
The schematic is available
in GIF format:
|