HMS-CPAP: Open source automatic CPAP data collection with live charting (set and forget)

General Discussion on any topic relating to CPAP and/or Sleep Apnea.
aamat09
Posts: 1
Joined: Mon Mar 16, 2026 3:35 am

HMS-CPAP: Open source automatic CPAP data collection with live charting (set and forget)

Post by aamat09 » Thu Apr 02, 2026 3:53 am

:!: Hey everyone,

I built an open source tool called HMS-CPAP for automatically collecting ResMed AirSense 10/11 therapy data. It's completely set and forget. You put your mask on, go to sleep, and everything is collected, parsed, and charted automatically. No buttons, no manual SD card pulls, no cloud accounts. It just works.

How it works:

It connects to your CPAP's SD card over WiFi using either an ezShare WiFi SD card or a FYSETC SD WiFi Pro board. Every 65 seconds it polls for new EDF files, parses them using OSCAR algorithms, and saves everything to a database. There's a built in web dashboard you can open from any browser on your network. It also publishes 47+ sensors to Home Assistant via MQTT discovery if you're into home automation.

Once you set it up, you never have to touch it again. It detects when a session starts and ends automatically, groups all the checkpoint files (BRP, PLD, SAD, EVE, CSL) into sessions, and even generates AI summaries of your therapy if you have an Ollama server.

What you get:
  • Full 30 day dashboard with AHI trends, usage hours, pressure, leak, event breakdowns, respiratory metrics
  • Per session detail with 12 overnight signal charts (flow rate, pressure, mask pressure, leak, snore, respiratory rate, tidal volume, minute ventilation, I:E ratio, and more)
  • Live session view that updates every 65 seconds while you sleep, you can literally watch your therapy data grow in real time
  • Zoomable charts with 30m/1h/2h/All range buttons and mouse wheel zoom
  • Event markers (OA, CA, H, RERA) overlaid on the signal charts
  • Works with PostgreSQL, MySQL, or SQLite (SQLite is default, zero setup)
  • Runs on Linux, Windows, Raspberry Pi, or Docker
  • The whole binary is 6.5 MB
Screenshots:

Dashboard:
Image

Sessions list with live indicator:
Image

Live session detail:
Image

Signal charts overview:
Image

30 minute flow rate zoom:
Image

Data sources:
  • ezShare WiFi SD card that goes in your CPAP's SD slot. It creates a WiFi AP that HMS-CPAP polls over HTTP. Simple, no hardware mods.
  • FYSETC SD WiFi Pro (recommended). ESP32 based board that replaces the SD card. Connects directly to your home WiFi. Open source firmware: https://github.com/hms-homelab/hms-cpap-fysetc
  • Local directory if you just want to parse files from a mounted SD card or NAS.
Everything is 100% local, no cloud, no accounts, no data leaving your network. It uses OSCAR's parsing algorithms so the metrics match what you'd see in OSCAR.

MIT licensed, 247 unit tests, works alongside OSCAR if you want to cross validate.

GitHub: https://github.com/hms-homelab/hms-cpap

Happy to answer any questions!

_________________
Machine