Mechanical design

A HT-tube (polypropylene, DN32) is used as basic housing and to mount all modules together. Electronic module The electronic module consists of the µ-Controller (Teensy 3.6), a RF-Module (nrf24l01+), the inertial sensor (MPU-9250), a rechargeable battery and charging electronics. All mounted on a base printed circuit  board. 3D-printed battery holders are used to mount the... read more »


Firestick (Transmitter) A Teensy 3.6 is used to control the firesticks. It's connected to an MPU-9250 inertial- and magnetic sensor (9-dof sensor, IC1) and to a RF-module using the nRF24L01+ (IC2). The connections are done via two seperate SPI-interfaces on the Teensy (SPI0 and SPI1). Interrupt lines from both components are also connected to the... read more »


Bamboo Dichte 0.7 kg/dm^3 Brinellhärte 4.0 E-Modul 2.0 Druckfestigkeit ca. 6-9  kN/cm^2 Zugfestigkeit 15-40 kN/cm^2 Biegefestigkeit 8-28 kN/cm^2 Scherfestigkeit 2kN/cm^2 PP-H Polypropylen Homopolymer Quelle: Kern Material Selector Allgemeine Eigenschaften Dichte ISO 1183 0,903 g/cm³ Mechanische Eigenschaften Streckspannung ISO 527 33 MPa Reißdehnung ISO 527 700 % Zug-E-Modul ISO 527 1450 MPa Zug-Kriechmodul (0,5% 1000h) ISO 899-1… read more »


Accelerometer and Magnetometer calibration To calibrate the acelerometer and the magnetometer, we measure the earth’s magnetic field components and the gravity field components in various positions of the sensor/stick. We assume these fields to be constant (constant magnitude, constant direction) in an earth fixed coordinate system. We further assume some idealizations: homogenous fields no magnetic… read more »


Software for Teensy and PC (test and evaluation) is hosted at bitbucket. Current state: Test and Evaluation. If you are interested I can give you read access to the repositories.  


some useful hints for the development process MPU-9250 Consider different orientation of magnetic and inertial sensors. When processing sensor-fusion, please exchange axes, like here in MPU9150BasicAHRS.ino: MadgwickQuaternionUpdate(ax, ay, az, gx * PI / 180.0 f, gy * PI / 180.0 f, gz * PI / 180.0 f, my, mx, mz); Digital filtering Direct form 2 transposed implementation y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb) - a(2)*y(n-1) - ... - a(na+1)*y(n-na)

  Switch between battery and USB-Supply Auto off P-Channel Mosfet Low On-Resistance (~1Ohm) Low Zero Gate Voltage Drain Current… read more »


Wiring teensy board v1 Teensy MPU-9250 GND GND 3.3V VDD + VDDIO MOSI0 11 SDA/SDI MISO0 12 AD0/SDO< CS0 10 CS 3 INT SCK0 14 SCL/SCLK Teensy nRF24l01+  GND  GND  3.3V  VCC  CE  7  CSN  8  SCK  SCK1 (32)  MOSI  MOSI1 (0)  MISO  MISO1 (1)  IRQ  6    

Useful links

Some helpful internet links for the development process Materials Material selector Parts Magnetometer comparison Sparkfun MP-9250 Library With DMP SPI Interrupt driven or not? SPI for teensy DMA SPI MPU-0250 via SPI Sensor calibration Magnetometer Calibrating an eCompass in the Presence of… read more »


A quaternion is a four-dimensional complex number that can be used to represent rotaions in 3D-space. We use the definitions and sub-scripts/super-scripts notation used in Madgwick’s original work. An arbitrary orientation of frame B relative to frame A can be achieved throug a rotation of angle θ around an unit vector defined in frame A…. read more »

Signal processing

The signal processing is heavily inspired by Sebsastian O.H. Madgwick’s MARG (Magnetic, Angular Rate and Gravity) sensor fusion. Quaternions are used to represent rotations in the 3D-space. A super-scripts/sub-scripts notation as in Madgwick’ original work is used.