Case study
Smart ring protocol: documenting the Oura Ring BLE protocol and event format
Documents the Oura Ring Bluetooth Low Energy request and response framing, request tags and payloads, and binary event stream. The BLE notes are confirmed on Oura Ring 4. Many packets remain unknown. The author says the event reference and Node.js parser were generated from the Oura app event-parser library and await manual verification.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Stars
- 58
- Last commit
- 2026-06-18
- Language
- JavaScript
GitHub data as of 2026-11-09
Requirements & limits
- The repository documents the Oura Ring BLE framing and event stream, currently for Oura Ring 4. Many packet fields remain unknown.
- Use an Oura Ring 4 for the confirmed BLE notes. The repository documents per-device authentication and key recovery from an iOS app backup.
- The Node.js events parser derives from the Oura Android app 6.2.0 event-parser library; later app or firmware versions may differ.
- The event notes and parser are author-reported AI-generated work awaiting manual verification. The repository has no tests or CI.
- The repository has no license file; reuse rights for the notes and parser are unstated.
Cite
BibTeX
@misc{ringverse-oura-ring-protocol-case,
title = {{Smart ring protocol: documenting the Oura Ring BLE protocol and event format}},
howpublished = {\url{https://github.com/ringverse/protocol}},
url = {https://github.com/ringverse/protocol},
urldate = {2026-10-27},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/ringverse-oura-ring-protocol-case/}}
}Plain text
Smart ring protocol: documenting the Oura Ring BLE protocol and event format. https://github.com/ringverse/protocol (accessed 2026-10-27). Awesome REA entry: https://awesomerea.org/resources/ringverse-oura-ring-protocol-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · ringverse/protocol · Revision 1826a35
- oura/BLE.md GitHub · ringverse/protocol · Revision 1826a35
- oura/events/EVENTS.md GitHub · ringverse/protocol · Revision 1826a35
- oura/events/parse.js GitHub · ringverse/protocol · Revision 1826a35
More in Protocols
- openrsync: an ISC implementation of rsync protocol 27 · Case study
- Thermal Master P3: a browser client for the vendor USB protocol · Case study
- SNX-VPN: reconstructing Check Point browser login for SNX · Case study
- OpenDS: reconstructing an FRC Driver Station client · Case study
- CO/Tech power plugs: reproducing captured radio commands · Case study
- ts3j: a Java implementation of the TeamSpeak 3 client protocol · Case study