Skip to content

kesyog/hangman

Repository files navigation

hangman ⚖️

Assembled prototype P1.0 unit

Hangman is a Bluetooth-enabled crane scale. It's intended use is as a climbing training and rehab tool, but it can be used anywhere that requires measuring force or weight.

The hardware retrofits a cheap (~$23) 150kg crane scale from Amazon with a custom PCB based around a Nordic nRF52 microcontroller and a differential ADC. The firmware uses Embassy, an embedded async framework written in Rust, as well as Nordic's SoftDevice Bluetooth stack.

Why?

Crane scales have become popular in the climbing community as a means to train and rehab fingers. This is a fun project to learn and practice various concepts I was unfamiliar or rusty with: BLE 101, async Rust on embedded, nRF52 development, SMT soldering and PCB design, etc. Maybe it'll even help my fingers get stronger.

Status

The scale is feature-complete. Weight measurement works great with the Progressor API and compatible tools. Battery life is guesstimated to be in the range of several months to a couple of years depending on usage.

There are still a few more software updates planned. See the Issues section for the major ones.

Hardware revisions

P1.0

See title picture. A custom PCB based on a Fanstel BT832 nRF52832-based module and a Texas Instruments ADS1230 ADC. Thanks to a better ADC and PCB layout, noise performance should be improved over previous revisions and most importantly, it's much prettier.

P0.0

A custom PCB based on a nRF52840 USB dongle and an HX711 ADC, the same differential ADC used on the Tindeq.

Assembled prototype P0.0 unit

Shoutouts

  • The Embassy project for bringing asynchronous Rust to the embedded world. and creating an easy to use wrapper around the Nordic SoftDevice Bluetooth stack.
  • Bumble for BLE testing and prototyping.
  • Texas Instruments for their excellent reference materials on load cell circuit design and PCB layout.
  • Tindeq for making an amazing product and app and opening their BLE API to third-party developers. Go buy one!

Disclaimer

This is not an officially supported Google product. Wouldn't that be funny though?

This has no affiliation with Tindeq.