Skip to main content
Published10 min read
By Brian C., US Navy veteran, CPAP user since 2023

Automate CPAP Imports With an EZShare Card

Stop pulling your CPAP SD card every morning. The homelab pattern that syncs your data automatically over WiFi, with every byte kept on your machines.

Pulling the SD card out of your CPAP every morning, walking it to a laptop, and dropping it into a reader is a small chore. Done once it is nothing. Done every day for a year, it is the reason most people stop looking at their own data. There is a quieter pattern that a lot of homelab and self-hosting users have already settled on: leave the card in the machine, let it sync over WiFi to a folder, and read that folder whenever you want. This guide walks through the parts that actually work today, including a version that does not need a server at all, and it is honest about why CPAP Clarity cannot reach the card for you directly.

What an EZShare WiFi SD Card Actually Does

An EZShare card looks like an ordinary SD card, and to your CPAP machine that is exactly what it is. The machine writes its nightly therapy files to the card the same way it always has. The difference is that the card also contains a tiny wireless radio and a small built-in web server. When it is powered, it broadcasts its own WiFi network. Any device that joins that network, a laptop, a phone, a small always-on computer, can reach the card over plain web requests and copy the files off it without the card ever leaving the machine.

That is the whole trick. There is no cloud account, no app login, and no connection to the manufacturer. The card is a local file server that happens to live inside your CPAP. Everything that follows is just different ways to automate the copy.

A note before you buy: EZShare cards are inexpensive and widely sold, but quality and the companion app vary a lot between batches and sellers, and many listings are years old. Read recent reviews, confirm the listing covers the full-size SD form factor your CPAP needs, and be ready to reformat the card to the format your machine expects before first use. The adapter-style version (a WiFi microSD-to-SD adapter) is also common; if you buy that one, you also need a microSD card to put inside it. We do not link a specific card here on purpose: these listings change and quality is uneven, so it is worth picking a current, well-reviewed one yourself rather than trusting a link that may be stale by the time you read this.

The Three-Piece Stack That Works Today

Almost every working setup is the same three pieces.

Piece one is the EZShare WiFi SD card, sitting in your CPAP where the normal card used to be. This is the only hardware change. The machine does not know or care that the card has a radio.

Piece two is a small sync tool that connects to the card's WiFi, finds files that are new since the last run, and copies them into a folder you control. You do not have to write this yourself. Several open-source projects already do exactly this and are maintained by people running the same setup. CPAP-AutoSync (opens in new tab) uploads therapy data from the card to network storage. hms-cpap (opens in new tab) collects ResMed therapy data through an EZShare card as a service for Home Assistant. ezshare_cpap (opens in new tab) is a Linux and macOS script aimed at OSCAR and SleepHQ users, and ezfetch (opens in new tab) does the same job from Windows PowerShell. They differ in language and polish, but the job is identical: pull new nights into a directory.

Piece three is CPAP Clarity reading that folder. Once the sync tool has dropped the night's files into a directory on your machine, you open the dashboard and drag that folder onto the import zone. CPAP Clarity parses it in your browser. Nothing is uploaded. To refresh later, let the sync run again and drop the folder again.

That is the entire pipeline. The card writes, a small tool copies, and you read the copy. None of it touches a server you do not own.

You Do Not Need a NAS: The Scheduled-Script Version

The word homelab makes this sound like it requires a rack of equipment. It does not. The minimum viable version is one of the scripts above plus a scheduled task, running on any computer you already leave on, even an old laptop or a small single-board computer.

The shape is simple. You install one of the sync tools, run its one-time setup (it asks for the card's WiFi name and password, and your home WiFi so it can hop back afterward), then tell your operating system to run it on a schedule. The card itself answers at a fixed local address on its own network, around 192.168.4.1 or the name ezshare.card, and the tool does the connecting and copying for you, so you never type that address yourself.

Using the ezshare_cpap script as a concrete example, its own documentation runs the sync every fifteen minutes on a Raspberry Pi with a single cron line:

# From the ezshare_cpap README: sync every 15 minutes, headless
*/15 * * * *  /home/pi/sync.sh --dedicated

On a Mac the same tool uses a launchd job instead of cron, and the Windows tool (ezfetch) runs from Task Scheduler. Either way the result is identical: a folder on your machine that quietly fills up with each night's data, no card-handling required. When you want to look, you drag that folder into CPAP Clarity. Follow the exact setup in whichever tool you pick rather than guessing; each one spells out its own one-time configuration, and the scheduling is the only part you add.

Why CPAP Clarity Will Not Connect to the Card Directly

A fair question at this point: if the card is just a local web server, why does CPAP Clarity not connect to it for you and skip the sync tool entirely? The honest answer is that the thing that makes CPAP Clarity safe is also what stops it from doing this.

CPAP Clarity runs as a secure web page. Modern browsers refuse to let a secure page reach out to an unsecured device on your local network, and they refuse to let a page on one origin pull data from a different one without permission. An EZShare card is exactly that: an unsecured local device on a different origin. The browser blocks the connection on purpose, and that protection is not something a website is allowed to switch off. It is the same rule that stops any random website from quietly scanning the devices on your home network.

We could work around it by shipping a desktop app or a browser extension that has deeper access to your machine. We have chosen not to, because the entire promise of CPAP Clarity is that your health data is read in your browser and never sent anywhere. A background agent with network access would blur that line. So instead of pretending the card is reachable, we recommend the small local sync tool that bridges the gap on your terms, and we read the folder it produces. It is one extra moving part, and it keeps the privacy guarantee intact.

Everything Still Stays on Your Machines

It is worth being explicit, because the word WiFi makes people nervous about their health data. In this entire setup, nothing leaves your local network. The EZShare card broadcasts only to your own devices. The sync tool runs on a computer you own and writes to a folder you own. CPAP Clarity reads that folder inside your browser and uploads nothing. There is no cloud in the path at any step, by design. The wireless part is your CPAP talking to your own laptop, and that is the end of it. If you want to understand exactly how the browser-only model protects your data, the CPAP data privacy explainer covers it in full.

Frequently Asked Questions

Will this work with my BMC, Löwenstein, or React Health machine?

The EZShare card is just storage with a radio, so any machine that writes to a normal SD card can use one. The sync tools listed above were mostly written by ResMed users, so the documented configuration leans ResMed, but the copy step is the same for any brand. Once the files are in a folder, CPAP Clarity reads whichever supported format your machine wrote.

Does it void my warranty?

Using a third-party SD card is not the same as opening or modifying the machine, but warranty terms vary by manufacturer and region, so check yours if you are unsure. The machine itself is untouched; you are only swapping the storage card.

Can I really leave the card in while I sleep?

Yes. That is the point of the setup. The card stays in the machine continuously, and the sync happens while you are awake. Some users power the card's radio only during the sync window to save battery on portable setups, but for a bedside machine on mains power it can simply stay on.

Does the WiFi radio slow the machine down or affect therapy?

No. The CPAP writes to the card exactly as it would to any SD card. The radio is a separate function that only matters when another device is reading the card. Your therapy data is written the same way regardless.

What if the card fills up?

CPAP therapy files are small, a few megabytes per night, so even a modest card holds years of data. Most machines also manage their own storage and overwrite the oldest sessions when needed. If you are syncing nightly to a folder, you have a second copy anyway, so a full card never means lost data.

Why does my CPAP only accept certain SD card sizes or formats?

Many machines expect a specific format and a card at or below a certain capacity. Before relying on an EZShare card, confirm it matches what your machine wants and reformat it if needed. The CPAP SD card guide covers formats and sizes, and the SD card troubleshooting guide covers what to do when a card is not recognized.

Once your data is flowing into a folder automatically, the next step is reading it well. The guide on how to read your CPAP data walks through what the numbers actually mean, and if you would rather not run a homelab at all, the cloud storage import guide covers the phone-and-cloud route.

Primary Sources

Related Guides

See what your SD card reveals

Drop in your ResMed data. No account, no uploads, no cost.

Analyze your data