Close
0%
0%

Space Drums 2.0 - Open source Air Drums

A pair of smart motion tracking sticks that let you play a full drum kit in thin air.

Similar projects worth following
0 followers
What if you could play a full drum kit without having a single drum in front of you?

That’s the idea behind Space Drums 2.0, a pair of open-source electronic drumsticks that let you play drums in thin air.

Each stick tracks its own motion and orientation, so instead of hitting a physical drum, you simply point and swing toward where a virtual drum would be. The system has virtual positions for a crash, toms, ride, hi-hat, snare, and floor tom, along with two foot pedals for the kick drum and hi-hat control.

And it isn't just about detecting whether you hit a drum. Space Drums 2.0 is velocity-sensitive, so softer and harder swings can produce different sound levels. The sticks also provide haptic feedback, giving you a small physical vibration whenever you trigger a virtual drum.

Space Drums are a pair of smart motion tracking sticks that let you play a full drum kit in thin air. Its free (as in freedom), open source, portable to carry in a tiny backpack, and so much fun!

This is the second version of the project. The original Space Drums relied on a smartphone to track your posture and determine which virtual drum you were hitting. In version 2.0, the motion tracking has moved onto the sticks themselves, making the system more compact, self-contained, and responsive.

stick_firmware.ino

ino - 57.25 kB - 09/11/2026 at 09:06

Download

spacedrums_2_hub.ino

ino - 3.79 kB - 09/11/2026 at 09:06

Download

EasyEDA_schematic.png

Portable Network Graphics (PNG) - 662.53 kB - 09/11/2026 at 09:05

Preview

gerber.zip

x-zip-compressed - 107.50 kB - 09/11/2026 at 09:05

Download

Spacedrums_2_BOM.csv

Comma-Separated Values - 2.06 kB - 09/11/2026 at 09:05

Download

View all 8 files

  • 1 × esp32s3 (for hub)
  • 2 × Momentary push buttons
  • 2 × Lipo battery
  • 2 × Stick PCBs
  • 1 × Connecting Wires

  • 1
    How Space Drums 2.0 Works

    Before heating up the soldering iron, let's take a quick look at how all the pieces work together.

    Space Drums 2.0 is made up of three main parts:

    • Two ESP32-S3 based drumsticks that track motion and detect hits
    • An ESP32-S3 foot-pedal hub that receives the sticks' wireless data and reads the pedals
    • A PC or Android application that turns those events into drum sounds and provides the user interface

    The two sticks communicate with the hub using ESP-NOW. The hub then sends the drum and pedal events to the computer over USB serial, where the audio application plays the appropriate samples.

    The drumsticks

    Each stick contains two ICM-42688-P motion sensors, along with an MMC5983MA magnetometer and a DRV2605L haptic driver.

    When you calibrate the sticks, you point them toward the location where you want the snare to be. That direction becomes the reference point for the virtual drum kit.

    From there, the firmware continuously tracks the stick's orientation. When you swing the stick, it detects the swing and determines which virtual drum corresponds to the direction you're pointing.

    The drum layout is divided into two rows:

    The upper row is selected when the stick is angled above 35 degrees, while the lower row is selected below 35 degrees horizontal playing. Within each row, the stick's yaw determines which drum zone you're pointing toward. Outside the defined angular zones, no drum is triggered.

    Detecting the hit

    The firmware uses the motion data to detect a swing and the resulting deceleration. Once a hit is detected, it produces a drum ID and a velocity value. The velocity is represented as a value from 1 to 6 loudness values.

    The stick can also trigger its haptic actuator, giving you physical feedback when the virtual hit occurs.

    The foot-pedal hub

    The foot pedals are connected directly to a separate Xiao ESP32-S3, which acts as the receiving hub for both sticks.

    The left pedal is connected to GPIO 1 and the right pedal to GPIO 2. The switches are wired between the GPIO pins and ground, with the ESP32's internal pull-ups making the inputs active-low.

    The right pedal always acts as the kick drum.

    The left pedal can be configured either as a second kick drum or as a hi-hat controller. In hi-hat mode, pressing the pedal closes the hi-hat and releasing it opens it. This assignment is handled by the application (PC/Android), so changing the left pedal's function doesn't require reflashing the hub.

  • 2
    3D printing the enclosures

    There are three assemblies to print:

    1 × Drumstick assembly

    • Stick base
    • Stick tip
    • Power-button cover (Optional)

    2 × Foot-pedal assemblies

    Print all the parts before beginning the electronics assembly. The stick enclosure is designed around the custom PCB, with openings for the USB-C connector and power button, so make sure the printed parts are clean and the relevant openings are unobstructed.

  • 3
    Build the drumsticks

    Start by placing the Space Drums PCB into the printed stick base.

    Use strong 3M double-sided tape to secure the PCB in position. Make sure the board sits correctly in the enclosure and that the USB-C connector lines up with the opening in the printed housing.

    The USB-C port is accessible from the outside so you can use it both for charging the battery and uploading new firmware without having to open the stick.

    Connect the battery

    The stick is powered by a rechargeable battery.

    Solder the battery wires to the BAT pads on the PCB, making sure to observe the correct polarity.

    Install the power button

    Next, solder a momentary switch to the dedicated switch pads on the PCB.

    The printed stick housing has a mounting location for this switch, allowing the button to be operated from the outside. I also designed a small 3D-printed cover for the switch, which can be fitted once the switch is in place.

    Close the stick

    Once the PCB, battery, and switch are installed, fit the printed tip onto the base to complete the drumstick assembly. You'll need 3 m2 screws to connect them together.

    Repeat the same process for the second stick.

    The foot pedals can be built with adafruit's guide: https://learn.adafruit.com/usb-foot-switch-circuit-python/overview

    Then the switches can be connected to the hub esp32 as mentioned before.

View all 9 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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