Skip to content

cs-balazs/gowhoop

Repository files navigation

GoWhoop

GoWhoop is a reverse engineering project aiming to get data out of a Whoop 4.0

Currently hearth rate, and accelerometer are the only metrics that are likely being correctly retrieved

Important

Since there is no documentation, I can't confirm that the retrieved data is 100% accurate. There are metrics that are known to be measured by the device, and can be somewhat verified by certain physical activities while wearing the strap, but there are no guarantees

Goal

The goal is an application that is 0-24 executed on my homelab, an automatically syncs all the data from the device whenever I'm home. For now I just want to get as many raw data samples out of the device as possible, calculated metrics, such as sleep stage calculations are not planned currently

Current stage

Hearth rate (verified by comparing night time to daytime and excercises)

Hearth rate measurement visualized in Grafana

Accelerometer (verified by waving slowly, then staying still)

Hearth rate measurement visualized in Grafana

How to run

I use devcontainers for development, and for now, I'm only exeuting the app from that same container, to do that:

  1. docker compose up -d: Run the db, and grafana
  2. Build and run the devcontainer in your editor or with a CLI
  3. Copy the contents of .env.example into a .env file, and set WHOOP_MAC to your Whoop device's MAC address
  • You can probably obtain it by just connecting to it with your phone or computer, and checking the bluetooth device in the host's options menu. Or use a bluetooth scanner app
  1. Run go run bin/main.go within the container

Important

I only use this on Linux, so there are no guarantees that it will work on a different platform

Stack

  • Go: Uses a go application to connect to the whoop strap, and perform the necessary BLE operations
  • Clickhouse: Stores the retrieved samples
  • Grafana: For visualizing the retrieved metrics
  • Clickstack: Needed for some OTEL metrics wich help me with experiments

References

About

Whoop 4.0 reverse engineering project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors