Build on it
A barbell sensor from a handful of parts on a Seeed XIAO nRF52840 Sense, with a CC0 protocol you can build on.
- Full BOM and CAD
- Arduino firmware with docs
- Byte-exact Bluetooth spec
- Python log viewer and replay tool
ODKI-VBT holds onto a steel barbell with magnets and shows bar speed, displacement and reps on your phone, live. The algorithm, the hardware files and the Bluetooth protocol are public, so you can check how every number is made.
Founders case €19: 40 cases for self-builders, orders open early Novemberorders open now, until 30 November 2026 or until sold out. Ready-made sensor + case €129: free pre-order, no payment taken.
Screenshots from the free companion app. A video of a full set, start to finish, is coming.
ODKI-VBT publishes the whole chain: the sensor fusion, the drift correction, the rep detection, the Bluetooth protocol. Read it, build it, or plug your own app into it. If a number looks wrong, you can find out why.
The algorithm is documented stage by stage.
BOM, CAD and firmware are on GitHub, source-available for non-commercial use.
The Bluetooth protocol is CC0: any app can connect, and your data never needs our cloud.
Source-available, not OSI open source. Exactly what that means →
Four stages, each documented in the firmware docs.
The IMU is read at 416 Hz and averaged to 100 Hz. Orientation uses a median-filtered signal; velocity uses the unfiltered one, so real impacts aren't erased.
A Madgwick filter fuses accelerometer and gyroscope into a stable 3D orientation.
Velocity is never force-reset: drift is measured in moments of stillness, then removed retroactively.
Peak and mean velocity, acceleration and a signal-consistency score, pushed live over Bluetooth.
Any set can be logged at 100 Hz over USB and replayed through the real tracking engine with the tools in the repo.
ODKI-VBT is being compared with a linear encoder, itself checked against a tape measure before use. The method is public before the results; the raw data will be published whatever it shows.
A linear encoder, checked before use. Two sensors on the same bar, back squat and bench press from light to heavy loads.
Paired raw data, scripts and firmware version, with Bland–Altman limits of agreement, ICC, SEM, CV and mean absolute error. Including where it does badly.
Today it's a well-documented sensor that hasn't been benchmarked yet. Co-validation with a university lab is planned for 2027.
Every rep already carries a signal-consistency score, so an inconsistent reading is flagged, not hidden. It's a self-check, not an accuracy estimate.
Read the validation plan Run a lab with an encoder? Co-validate it with us
A barbell sensor from a handful of parts on a Seeed XIAO nRF52840 Sense, with a CC0 protocol you can build on.
Bar speed for every rep, live on your phone, so you can adjust load and end sets on evidence, not feel.
Not yet validated: we want to hear from coaches who'll tell us what's wrong.
A VBT sensor you can audit: raw per-sample logs, a byte-exact protocol, a documented algorithm.
Track bar speed like pace or heart rate: see when a set is slowing down before it grinds to a stop.
Same firmware, same open protocol, whichever you choose.
Everything is on GitHub: BOM with sourcing notes, CAD files, firmware and build docs.
Built your own sensor? This is the case designed for it: a zip case designed for the ODKI-VBT sensor, laser-engraved, with magnets inside that keep the sensor in place. Sensor not included.
Orders open early November; request now and you'll get the total by email when they do.Orders are open: you'll get the total by email within 24 hours. Founders batch terms · Photos, details and fit
Assembled and tested by hand by the person who wrote the firmware.
First assembled units: once CE conformity and a registered business are in place. Pre-orders hear the date before any payment.
For reference: dedicated VBT devices sold in the EU typically cost €329–587 (list prices checked on 24 October 2026).
Sensor shown for scale: not included with the case on its own.
Live trace, peak and mean per rep, a force–velocity test with estimated 1RM, over-the-air updates. Free to pair and track; paid analysis tools may come later, and the sensor never needs them.
Android: APK on GitHub · Google Play test coming soon · iOS next
I'm Lodovico Cortelazzo. I sprinted the 200 m for the Italian national athletics team, studied sports science and engineering, and now build sport-tech prototypes. I wanted a bar-speed number I could check, so I built one and published how it works.
ODKI is not a company yet: for now it's me, as a private individual.
Firmware, hardware files and the protocol are on GitHub ↗.
No payment for the sensor. A case is paid only after you confirm the emailed total.
Lodovico Cortelazzo, background here.
3 done · 4 in progress · 2 planned, all stages.
A free pre-order: no payment now, no obligation. You'll hear from me before any payment is asked, and can cancel by replying to that email.
No online checkout and no account. Questions or an existing order: contact@odki.tech
We don't know yet, and we won't publish a number until we do. ODKI-VBT is being compared with a linear encoder; the method is public and the raw data will be too (see validation).
What we can say is how it works: velocity is never force-reset, drift is corrected retroactively, and every rep gets a signal-consistency score, a self-check rather than an accuracy estimate. All of it is documented.
The Founders case (€19): a one-off batch of 40, orders open early November,orders open now, until 30 November 2026 or until sold out. Send the form and we email you the total and a PayPal (Goods & Services) request; nothing is charged before that. Shipping, quantities and returns: terms of sale.
The sensor + case (€129) is a free pre-order: no payment is taken, and you'll hear from me before any payment is asked.
From Lodovico Cortelazzo, a private individual in Italy. ODKI is not yet a registered business (no VAT number), which is why the Founders batch is a one-off test batch. Contact: contact@odki.tech.
It's made for the reference enclosure in the repo's Hardware/CAD ↗. Built a different enclosure? Email its dimensions to contact@odki.tech before ordering and we'll tell you honestly. More on fit.
Yes, a voluntary return within 14 days of delivery, no reason needed: write to contact@odki.tech first. We refund the case price; outbound and return shipping are not refunded. A damaged or defective case is replaced or fully refunded at our cost (terms).
Yes. The Bluetooth protocol is CC0 (public domain), separate from the firmware and hardware licences: anyone can build against it without asking. The ODKI app is one option, not a requirement.
Pairing, live data and tracking are free. Paid analysis tools may come later; the sensor never needs them.
No. The sensor streams over Bluetooth to whichever app you use, and the ODKI app stores sessions on your phone. No account needed.
No, you can't sell it. Hardware is CC BY-NC-SA 4.0: non-commercial use and modification, with attribution, and modified files shared under the same licence. Firmware is GPL-3.0 + Commons Clause: non-commercial use, modification and redistribution; any copy you share keeps the same licence and can't be sold. Selling assembled units is reserved to ODKI. Neither licence is OSI-approved open source: that's what "source-available" means here. The Bluetooth protocol alone is CC0, with no conditions. Full text: LICENSE-HARDWARE and LICENSE-FIRMWARE in the repo.
Three neodymium magnets in the sensor's shell (about 2 kg pull each) hold it on a steel barbell: no strap, no clip. Painted or coated steel stays magnetic, though a thick coating may lower the holding force; on aluminium or other non-steel bars it won't hold.
A 400 mAh Li-Po, charged over USB-C. The battery percentage is reported live over Bluetooth and re-anchored at every full charge. We haven't measured battery life yet; we'll publish it before any sensor is sold.
Yes, over Bluetooth. The app checks the firmware version and offers updates, no cable needed.
No. ODKI-VBT is a training and sports-performance tool. It is not a medical device and is not intended for diagnosis, treatment, rehabilitation or injury prevention.