Force-Sensing Climbing Training
The objective of this project is to create a Web Bluetooth API client that can establish connections with various Force-Sensing Hangboards / Plates used by climbers for strength measurement. Examples of such hangboards include the Griptonite Motherboard, Climbro, mySmartBoard, Entralpi, Tindeq Progressor or MAT Muscle Meter
Learn more: Docs - Browser Support
Chart - Flappy Bird - Pong
This project can be found in the NPM package registry.
$ npm install @hangtime/grip-connect
Simply importing the utilities you need from @hangtime/grip-connect
.
<button id="motherboard" type="button">Connect Motherboard</button>
import { Motherboard, battery, connect, disconnect, info, notify, stream } from "@hangtime/grip-connect"
const motherboardButton = document.querySelector("#motherboard")
motherboardButton.addEventListener("click", () => {
connect(Motherboard, async () => {
// Listen for stream notifications
notify((data) => {
// { massTotal: "0", massMax: "0", massAverage: "0", massLeft: "0", massCenter: "0", massRight: "0" }
console.log(data)
})
// Read battery + device info
await battery(Motherboard)
await info(Motherboard)
// Start weight streaming (for a minute) remove parameter for a continues stream
await stream(Motherboard, 60000)
// Manualy tare the device when the stream is running
// await tare(5000)
// Manually call stop method if stream is continues
// await stop(Motherboard)
// Download data to CSV: format => timestamp, frame, battery, samples, masses
// download()
// Disconnect from device after we are done
disconnect(Motherboard)
})
})
Help wanted: Do you own any of these devices? Use Google Chrome's Bluetooth Internals
chrome://bluetooth-internals/#devices
and press Start Scan
to look for your device, click on Inspect
and share all
available services with us.
- ✅ Griptonite Motherboard
- ✅ Tindeq Progressor
- ☑️ Entralpi (not verified)
- ➡️ Climbro
- ➡️ mySmartBoard
- ➡️ MAT Muscle Meter
- ✅ Connect / Disconnect
- ✅ Start / Stop data stream
- ✅ Battery status
- ✅ Read calibration
- ✅ Device info: firmware / serial etc.
- ✅ Check if device is connected
- ✅ Peak / Average load
- ✅️ Tare / unladen weight
- ✅️ Download data to CVS
- ➡️ Endurance
- ➡️ Rate of Force Development: RFD
- ➡️ Critical Force
git clone https://github.com/Stevie-Ray/hangtime-grip-connect
cd hangtime-grip-connect
npm install
A special thank you to:
- @CassimLadha for sharing insights on reading the Motherboards data.
- @donaldharvey for a valuable example on connecting to the Motherboard.
- @ecstrema for providing examples on how to play games with the Entralpi.
- Tindeq for providing an open Progressor API
- @StuartLittlefair for his PyTindeq implementation.
THIS SOFTWARE IS NOT OFFICIALLY SUPPORTED, SUPPLIED OR MAINTAINED BY THE DEVICE MANUFACTURER. BY USING THE SOFTWARE YOU ARE ACKNOWLEDGING THIS AND UNDERSTAND THAT USING THIS SOFTWARE WILL INVALIDATE THE MANUFACTURERS WARRANTY.
BSD 2-Clause © Stevie-Ray Hartog