MegaDrum

From MegaDrumWiki
Jump to: navigation, search
An assembled MegaDrum module
MegaDrum is a feature-rich MIDI drum trigger module developed by Dmitri Skachkov. It was made public as a do-it-yourself project in the Internet on August 1st, 2007. Since then it has gained recognition from various drummers all over the world, from amateurs and hobbyists to professional drummers. Because of constant firmware and hardware improvement, MegaDrum has acquired support for a wide variety of drumpads from different manufacturers.

As a MIDI drum trigger MegaDrum does not have any built-in sounds. Its main purpose is to convert signals from commercial and do-it-yourself electronic drum pads into MIDI messages which are then fed to a drum machine/sampler or a PC.

The openness of the project allowed for community contributions. Among notable ones are a hardware design upgrade (courtesy of Synthex) which added plug-and-play USB support and a multiplatform Java application to control MegaDrum from a PC — Megadrum Config Tool, written by Raúl Muñoz Benavente. The MegaDrum logo was made by forum member duje07.

Although MegaDrum is an open DIY-project, its firmware is not open-source. Commercial use (e.g. building a MegaDrum module and offering it for sale) requires Dmitri's explicit permission.

Features

MegaDrum in action (courtesy of <a href="http://www.megadrum.info/forums/memberlist.php?mode=viewprofile&u=800">hchriste</a>)

As a MIDI drum trigger MegaDrum offers the following features:

  • 20/22/32/40/48/56 velocity-sensitive input channels;
  • 9 levels of input gain;
  • 10 different velocity curves and 4 custom adjustable curves;
  • Multilevel crosstalk suppression with 4 individual groups;
  • Threshold and retrigger settings;
  • Automatic high-level adjustment;
  • Velocity curves compression and shifting;
  • Positional sensing;
  • Support for simple switched and variable hi-hat controllers;
  • Support for for dual zone piezo-switch pads;
  • Support for 3 zone Roland style cymbals;
  • Support for 3 zone Yamaha style cymbals;
  • Firmware is software upgradable;
  • MIDI I/O with SysEx support;
  • USB powered with plug-n-play support and MIDI over USB;
  • Easy menu navigation and easy group settings adjustments;
  • 16x2 LCD with VU meters;
  • CC Choke support on every Dual Zone piezo/switch pad or 3 zone cymbals.

As a do-it-yourself module:

  • Based on ATmega microcontroller. Currently supported are ATmega 32/324P/644 running at 16, 20 and 24 MHz;
  • Uses widely available and mostly inexpensive components;
  • Potentiometer-free design;
  • ATmega/PIC chips can be programmed with simple programming cables/programmers.[1]

Building MegaDrum

Main article: Building MegaDrum

You have the following options for building MegaDrum:

Note that there are also other people who have Dmitri's permission to build and sell MegaDrum modules. See the forums for more information.

If you choose to build the module yourself you will need the following:

  • At least basic soldering/general electronics skills;
  • You have to know how to read a schematic;
  • You have to be able to tell one electronic part from another;
  • Tools are required to build MegaDrum, among them: a good soldering iron, pliers, wirecutters, a multimeter and so forth;
  • You need to know how to operate the aforementioned tools;
  • In case of making printed circuit boards at home using the toner transfer method you will need a good laser printer with quality toner, some photopaper and an etchant.

It should be noted that MegaDrum is not a beginner's project and thus if you strongly feel that you're not up for the task of building it from scratch it is most likely so. Of course, if you're not afraid to learn and obtain the necessary DIY skills, you are probably capable of building MegaDrum. Otherwise, you might consider ordering a kit (it comes with quality PCB's) or simply buying the assembled module.

Updating MegaDrum firmware

Once you've built MegaDrum and received the ATmega chip from Dmitri it is time to program its firmware. This is done by means of a PC: MegaDrum can be updated either via USB or via MIDI I/O. There are several options for different platforms. See the main article for details.

MegaDrum Configuration

MegaDrum MIDI SySex support

MegaDrum supports MIDI SySex messages. This allows to control/configure MegaDrum from a PC and load/store practically unlimited number of custom MegaDrum configs in addition to configs stored in built-in non-volatile memory.

Legal issues

In spring 2010 it was discovered that a person was building and selling MegaDrum modules without Dmitri's consent. Unfortunately, it was not possible to convince the person to cease his activities. It was then decided to encrypt future firmware releases to prevent abusive commercial use. This is why since June 2010 all new firmware files are encrypted. Updating MegaDrum with encrypted firmware requires a special type of secure bootloader which can only be programmed into the ATmega chip by Dmitri. There are two choices for obtaining a programmed chip:

  • Send Dmitri a compatible ATmega for programming;
  • Order a new chip from Dmitri.

See ordering ATmega for details.

See also

Notes

  1. Initial programming of ATmega is now done by Dmitri, see why.