For apartment-dwelling drummers, electronic drums are really the only option. While cheap electronic drum sets are on the market, they aren’t much more than noise-making toys. High-end sets, on the other hand, cost thousands of dollars. To make high-end hardware and software accessible to DIYers, Jeremy Oden developed an open source, low-latency electronic drum system called eXaDrums.
Electronic drum sets consist of three major subsystems: the triggers (the drum pads that you strike), a trigger board that registers those strikes, and a processing unit. The processing unit can either pump out sound itself (through synthesis or sampling) or send a MIDI signal to an external system. The eXaDrums project contains all of this hardware, as well as the software to run it. Oden developed that software carefully to be operating system agnostic and to maintain a low latency so there is no audible delay between a beat and the sound output.
The trigger board is a shield for Arduino Nano Every boards. The Nano Every is an affordable board, which keeps costs down. It can also read eight analog inputs at very fast speeds, which means it can support an entire kit’s worth of drum pads. That includes seven single-zone pads, plus an additional hi-hat. It can handle 9,000 samples per second, per channel.
The Nano Every then sends MIDI notes via USB to a Raspberry Pi running the eXaDrums software. That software interprets the incoming MIDI signals and then outputs the sound that the user configures for the corresponding drum pad. All of that, along with a touchscreen interface, fits into a tidy 3D-printed enclosure that the user can attach to their electronic drum kit.