KINETIQBack to the build preview ↗

Draft reference · October 2026

Electronics and firmware setup

Draft. The control software is not released yet: the touchscreen app for the Raspberry Pi, the Teensy control firmware and the phone app are published after the prototype has been built and load-tested. This page lists what the setup must achieve before the motor is ever powered with the rope attached. The values are design values, to be confirmed on the prototype.

What runs where

Part Role Status
ODrive Pro (battery builds) or ODrive S1 (Lite) motor control, current and voltage limits, encoder third-party firmware, configured by you
Teensy 4.0 (battery builds) machine control: modes, limits, homing; talks to the ODrive over CAN released after testing
Raspberry Pi 4 and touch screen (battery builds) resistance, the repetition graph and the controls; talks to the Teensy over USB released after testing
XIAO ESP32-C3 and knob (Lite) Bluetooth link to the phone app; talks to the ODrive S1 over CAN released after testing
Phone app settings, workouts and history over Bluetooth released after testing

The ODrive is a third-party controller with its own firmware and terms. Check every setting against the documentation for your ODrive firmware version.

Power path (battery builds)

Controller requirements

Voltage and regenerative braking. Lowering the weight drives the motor as a generator and pushes current back into the pack.

Current. Set the motor current limit for your motor and your build's peak force, inside the controller's rating. On the ODrive Pro, 70 A is the continuous figure and 100 A is available for about 3 s. The main build reaches 158 lb as a peak (about 74 A); sustained sets run lower (about 150 lb).

Motor and encoder.

Payout window (must be set)

The drum is direct drive: one motor turn is one drum turn, about 110 mm of rope at the rope's radius. The level-wind moves 3.6 mm per drum turn.

Check Design value
Tracked rope, fully wound to full payout about 2.11 m, 19.2 drum turns
Dead wraps left on the drum at full payout 3 (wound on by hand during assembly)
Traveller hard stops about 1.3 drum turns past each end of the track
  1. Home at every power-up: wind the rope in at low, current-limited torque until the handle stops at the exit. That position is zero (fully wound).
  2. Payout limit: from zero, the full tracked length less a small margin, so the three dead wraps always stay on the drum.
  3. Enforce the window in the controlling firmware and, where your ODrive firmware supports position limits, in the ODrive as well.

The traveller's hard stops (the far-end stand's foot and the screw-end tower's foot) are an assembly and hand-turning backstop only. The lead screw is geared to the drum, so a stop hit under power locks the drum through the printed gears.

First power-up checklist

  1. Rope off the drum or unloaded, nobody in its path.
  2. Power on. If the BMS trips on the ODrive's capacitor inrush, lengthen the BMS short-circuit delay in the BMS app.
  3. Calibrate the motor and the encoder.
  4. Turn the drum slowly by command. Confirm which direction winds the rope in, and that the traveller moves toward the screw-end tower while winding.
  5. Home, then set and test the payout window with the rope attached and no load.
  6. Check the over-voltage trip and the regen limit with light lowering loads.
  7. Static load test in steps (see the safety reference).

Teensy 4.0 (battery builds)

Lite (ODrive S1 on wall power)

A draft reference: the prototype is being built and tested, and the CAD, build files and software are released after testing.

Download Markdown source ↗