Transparent firmware · Transparent hardware · Open protocol

The velocity sensor with nothing to hide.

ODKI‑VBT measures bar velocity, displacement, and reps in real time — and publishes exactly how. No black‑box algorithm, no closed protocol. Read the source, build your own, or buy one ready to train with.

100 Hz fusion loop 20 Hz live BLE stream GPL‑3.0 firmware CC0 BLE protocol
Raw integrated signal Drift‑corrected — what the athlete sees
About ODKI

We build training sensors,
not black boxes.

Most velocity‑based training devices ask you to trust a number with no way to check it — a proprietary algorithm, running on a closed protocol, feeding a closed app. ODKI is built the other way around.

The rep‑detection algorithm running on every ODKI‑VBT is documented chapter by chapter, down to the individual filter stages. The Bluetooth protocol it speaks is published under a public‑domain license, so any developer can write their own app against it — no permission, no NDA, no gatekeeping.

You can build the sensor yourself from the published hardware design and firmware, entirely for free. Or buy a factory‑built, calibrated unit with the ODKI logo on it — same transparent guts either way.

Curious who's actually building this? →

01

Transparent by design

Every stage of the velocity pipeline — orientation fusion, drift correction, rep detection — is documented, not obfuscated.

02

Yours to open

Firmware and hardware are source‑available. Read it, modify it, build on it for personal or research use.

03

No walled garden

The BLE protocol is CC0. Any third‑party app can connect — the official ODKI app is one option, not the only one.

Product

ODKI‑VBT sensor

FW v3.11.15
REF. DESIGN: XIAO‑NRF52840‑S
DOC: FIRMWARE/DOCUMENTATION.MD
ODKI‑VBT sensor held in hand, showing the engraved logo, USB‑C port and status LED lit green
Core
Nordic nRF52840 (Cortex‑M4 @ 64MHz) + LSM6DS3TR‑C 6‑axis IMU
Connectivity
Bluetooth 5.0 / 5.4 LE — custom streaming & control service, fully published
Sampling
100 Hz internal fusion & rep‑detection loop, IMU polled up to 416 Hz
Live stream
20 Hz telemetry over BLE, decimated from the internal 100 Hz loop
Per‑rep data
Peak & mean velocity, acceleration, displacement, data‑quality score
Mounting
3× neodymium disc magnets — no strap, no clip, seconds to attach
Power
400 mAh Li‑Po, USB‑C charging, live battery % reported over BLE
Updates
Over‑the‑air via BLE DFU — the app checks and offers new firmware automatically
Openness
Firmware GPL‑3.0+Commons Clause · Hardware CC BY‑NC‑SA 4.0 · Protocol CC0
Status LED — at a glance
Blinking red — not connected to the app
Solid red — connected, needs calibration
Solid green — calibrated, ready to record
Solid blue — recording a session
100Hz fusion loop 5‑sample median outlier filter Self‑calibrating ±15% scale correction Retroactive drift correction, never a forced reset Data‑quality score per rep
How it works

From raw motion to a trusted number.

Four stages, all documented in the open — from the accelerometer to the number on your screen.

01 / SENSE

Read the motion

The IMU is polled up to 416 Hz; every raw sample passes a 5‑sample median filter that rejects shocks and glitches without smearing real movement.

02 / ORIENT

Fix the orientation

A Madgwick fusion filter turns accelerometer + gyroscope into a stable 3D orientation, so vertical velocity stays correct no matter how the sensor sits on the bar.

03 / INTEGRATE

Correct the drift

Acceleration is integrated into velocity that is never force‑reset. Brief moments of true stillness measure the drift — which is then removed retroactively, not patched over live.

04 / STREAM

Report the rep

Peak/mean velocity, acceleration, displacement and a data‑quality score are pushed live over BLE to any app that speaks the open protocol.

Read the full algorithm docs ↗

The complete pipeline — including why an earlier zero‑velocity‑reset design was scrapped in favor of retroactive correction — is written up chapter by chapter in the firmware documentation.

Who it's for

Built for anyone who needs the real number.

One sensor, one open protocol — three very different ways to use it.

01

Personal trainers

Auto‑regulate load off live velocity instead of guesswork, and catch a bad rep before it becomes a bad habit.

  • Live per‑rep velocity & data‑quality score
  • Works with any client's phone — open protocol, no lock‑in to one app
  • Fast magnetic mount between clients and exercises
02

Universities & research

A movement sensor you can actually validate — full protocol spec and a raw‑data path for reproducible work.

  • Byte‑exact BLE protocol spec for custom capture pipelines
  • Raw per‑sample debug log over USB serial, with an included Python viewer
  • Fully documented, citable rep‑detection algorithm
03

Fitness enthusiasts

Track bar speed like you track pace or heart rate — real feedback on effort and fatigue, set to set.

  • Pair once, track every session from the companion app
  • Build it yourself to keep costs down, or buy it ready to go
  • No subscription required to use the sensor itself
Two ways in

Build it. Or buy it.

Same source‑available firmware, same open protocol, either way. Pick whichever fits your time and your toolbox.

Source‑available

Build it yourself

Full bill of materials, firmware source, and assembly documentation, published for personal and research use — not OSI "open source" in the strict sense, see what that means.

from~€60in parts
  • Complete BOM with sourcing notes
  • Arduino firmware source + full documentation
  • BLE protocol spec (CC0) for your own app
  • Free for personal & non‑commercial use
View repository ↗
Ready to train

Buy ODKI‑VBT

Factory‑built, calibrated, and backed by ODKI — running the exact same source‑available firmware and open protocol inside.

€129sensor + case included
  • Assembled, tested & calibrated unit
  • ODKI‑branded case included
  • Same open BLE protocol — no lock‑in
  • Firmware OTA updates over BLE
  • Support directly from ODKI
Pre-order — €129
ODKI‑VBT case

ODKI‑VBT case, on its own

Branded zip case with an internal magnetic mount that holds the sensor in place, sold separately for a self‑built unit on the reference design. A factory ODKI‑VBT already includes one — this is only if you built your own and want the same case.

€19case only
Pre-order — €19

Sensor shown inside for scale — not included with the case on its own. Every case ships with the same line lasered on the back: “Keep out of reach of excuses.”

Pre‑order

Reserve yours.

The first assembly run is being organized now. Pre‑order to lock in launch pricing and get first access when units ship — no payment is taken at this stage.

Note: this site is still pre‑launch. Submitting the form opens your email client with your request addressed to contact@odki.tech — nothing is charged, and no account is created.
✓ Opening your email client…
FAQ

Every doubt, answered.

Product‑specific questions. For anything else, see Contact.

Most VBT devices report a velocity number with no way to check how it was computed. On ODKI‑VBT, the entire rep‑detection pipeline — sensor fusion, drift correction, rep scoring — is documented chapter by chapter, and the Bluetooth protocol it speaks is published under a public‑domain license. You're not asked to trust the number; you can go and read exactly how it's produced.
The firmware never force‑resets the integrated velocity signal, which is the usual source of jumps and glitches in cheaper designs. Instead, brief moments of genuine stillness between reps are used to measure exactly how far the signal has drifted, and that drift is corrected retroactively across the interval it built up over. Every completed rep also ships with its own data‑quality score, so you can see how clean a given reading is rather than just trusting it blindly.
Yes. The BLE protocol is released under CC0 (public domain), separately from the firmware and hardware licenses. Any developer can build a third‑party app against it without asking ODKI for permission — the official app is one option, not a requirement.
Connecting to the sensor and viewing live data is free. Some extra features — long‑term training‑data management and AI‑based analysis — are paid add‑ons on top of the app. Either way, this has no effect on the sensor itself, which works over the open protocol regardless of which app you use.
Three small neodymium disc magnets (~2kg pull force each) hold the sensor directly onto a standard steel barbell — no strap, no mechanical clip. It attaches and detaches in seconds and stays put through a working set.
A 400mAh Li‑Po cell, charged over USB‑C. Battery percentage is self‑calibrating and reported live over Bluetooth, so the companion app always shows an accurate charge level rather than a rough voltage guess.
Yes — firmware updates ship over‑the‑air via Bluetooth DFU. The app checks the sensor's current version automatically and offers a new build when one is available, no cables or manual flashing required.
The reference design is built around an off‑the‑shelf Seeed XIAO nRF52840 Sense module, a small Li‑Po battery, three magnets, and a power switch — a published bill of materials with sourcing notes puts total parts cost roughly in the €20–60 range, depending mostly on where you source the microcontroller. You flash the source‑available firmware with the Arduino IDE and build (or 3D‑print) an enclosure. Full instructions live in the GitHub repository.
No, selling isn't allowed — but it's worth being precise about what the licenses actually say, not just the bottom line. The hardware design is CC BY‑NC‑SA 4.0: you can build, modify, and share it for non‑commercial use, provided you credit the project (Attribution) and release any modified files you share under this exact same license (ShareAlike) — so improvements can flow back to everyone. The firmware is GPL‑3.0 modified by the Commons Clause: you can run, study, modify, and redistribute it non‑commercially, but any copy you share — modified or not — must stay under the same license with its notices intact, and neither it nor a modified version of it may be sold. In both cases, selling an assembled unit — under the ODKI name or otherwise, built from these files or a derivative of them — is reserved to ODKI. Neither license is OSI‑approved "open source" in the strict sense (that's specifically what the Commons Clause and the NonCommercial term remove) — the project calls this "source‑available" instead, deliberately. Full legal text: LICENSE-HARDWARE and LICENSE-FIRMWARE in the repository. The Bluetooth protocol spec is the one part of this project under a fully open, unrestricted license — CC0, public domain, no conditions at all.
Yes. A factory ODKI‑VBT already comes with the case included in the €129 price — nothing extra to buy. If you built your own sensor from the published files, the same ODKI‑branded case is available on its own for €19.
The sensor streams data directly over Bluetooth to whichever app you're using — no ODKI account is required to use the sensor itself. What happens to that data afterwards is up to the app you choose, official or third‑party.
Contact

Let's talk shop.

Bulk orders for a gym or university, distribution, integration support for a third‑party app, or anything else — reach out directly.

contact@odki.tech ↗
Emailcontact@odki.tech
Best forTrainers, universities, distributors
Building an app?We'll help you integrate
StatusPre‑launch — building in the open