We are making Freedrum better.


It's our mission to make Freedrum the most realistic virtual drumming experience possible. With your help we can quickly identify areas that need improvement and work hard to fix them in the best way that we know how.

This FAQ outlines some areas that under improvement and it also shows methods of making your experience with Freedrum better.

Don't be shy and get in touch with us below if you find any issue that you think needs fixing.


Freedrum midi commands

Some of you techies out there will be happy to hear that Freedrum can be controlled via standard MIDI messages. There are a few, per-sensor, global settings that are set via MIDI CC messages along with per-zone (zone==pad or drum) settings.

Don't forget that, depending on how you send these values you might need to add the standard 2-byte MIDI header to the data. Usually 0x8080 works fine for that.

Also note that none of these values are guaranteed to be stay the same forever. They are valid for v3 of the firmware but we don't promise more than that.

"Global" settings (affecting all zones of a sensor)

CC 105
Sensor sensitivity.
Sets the sensitivity of the sensor. This value is sort of an amplification factor: If you need to strike too hard to get a loud sound/velocity with a sensor, this is the value to tweak. Defaults to 10. For a foot pedal it's often better to set it higher, at 30 or so.

CC 104
Sensor threshold.
This is the lowest hit strength at which the sensor will generate midi on notes at all. Set it higher if you get a lot of false hits (notes when you were not intending to hit anything.)

CC 111
default value: 12
This one affects how quickly the reference drum adjusts the drumkit. The reference drum is the currently most played drum/zone and it's used to eliminate drift. Each hit on the reference drum slightly orients the kit towards an angle where the reference drum is in a good position in its zone. This is to prevent gyro drifting. As long as you hit the reference drum now and then, the kit will remain stable and not turn.

CC 110
default: 40
This value determines how many pad hits we look at for determining what is a good reference drum. The higher this value, the less often we switch between reference drums.

Per-zone settings

There are also settings for the different pads/zones of the sensor. As of v3 of the firmware there are 6 different zones. The MIDI channel represents the zone (ranging from 0-5). By default zone 0 is the hihat, 1 is the snare etc.

CC 106
Sets the midi note to send for this zone/pad.

CC 23
With this one you can set the angle of a specific zone. Keep in mind that midi values range from 0-126, we scale this so that 126=360deg. By default, the drums on the lower layer (hihat, snare, floor tom) are at y=0deg and the upper layer (cymbals etc) are at y=50deg

CC 103 z_pos The z-axis is the one point up from earth. By default, the snare is at z=0deg.

CC 107
When you set this > 0 the sensor begins to stream x axis values as CC 107 messages. Values come at a rate of about 10/second.

CC 108

CC 109

Reading values

CC 22
read value
To read one of the values from above, send CC 22 with value set to the corresponding CC. The sensor will answer with the currently set value for that parameter. Use the channel as zone number where applicable.

We also have a few MIDI Sysex messages. Sysex are sent as 0xf0 0xf7

Sysex commands:

0xf0 0x04 0xf7 - enter bootloader (for firmware update)
0xf0 0x05 0xf7 - turn off