Skip to content

About

Wireless adapter for AirSense/AirCurve 11 devices

Topics

Resources

Stars

17 stars

Watchers

3 watching

Forks

Repository files navigation

AirCANnect

ESP32 bridge for ResMed AirSense 11 / AirCurve 11 / AirMini CPAP.

Using an AirSense 10? See AirBridge.

AirCANnect dashboard

What it does

  • Web UI
    • live dashboard with device status and identity
    • read/write all therapy settings
    • live pressure / flow / leak / SpO2 charts
  • EDF capture
    • record active therapy sessions to ResMed-style EDF files on SD card
    • browse and download captured EDF files over the Web UI
    • SMB share sync
    • SleepHQ sync
  • Reports
    • therapy-night charts with event flags, session toggles, zoom, and cached data
  • Oximetry
    • use supported BLE oximeters or UDP sources
    • let the AirSense record HR/SpO2 when application control uses CAN, or write it directly to local SA2 EDF when application control uses BLE or the device is an AirMini
    • currently supported: O2Ring, O2Ring-S, Checkme O2, Nonin 3150, generic PLX/HR sensors
  • Local display and controls
    • optional status and therapy display with motion wake and automatic rotation
    • configurable local buttons for common device actions
  • Alerts
    • configurable high-leak warnings with speaker output on supported hardware
  • Time sync
    • NTP-first with device clock fallback
    • Optional AirSense time synchronization - fixes RTC drift issue
  • Raw TCP bridge
    • send commands to AirSense over WiFi.
      (one JSON-RPC payload per line, compatible with as11_config.py and other host tooling.)
  • Multi-profile Wi-Fi
    • up to four STA profiles, BSSID-targeted roaming, SoftAP auto-fallback or forced always-on.
  • ResMed OTA
    • flash compatible AirSense 11 / AirCurve 11 / AirMini firmware from web UI or CLI.
      (Autodetects raw and .abc formats; CONF, APPL, and bootloader regions can be selected explicitly.)

First setup

  1. Wire up the hardware.
  2. Download the *-initial.zip matching the board from the latest release and extract the *-initial.bin image.
  3. Program the board with the extracted image. See the quickstart for installation options.
  4. Open http://aircannect/ (default login: admin / aircannect) and follow the setup wizard.

AirMini

AirMini connects over CAN only, with the same wiring as AirSense 11. Keep the AirMini app closed while AirCANnect is recording: AirMini shares one data stream between CAN and Bluetooth.

Build profiles

Supported build profiles require an ESP32-S3 with PSRAM and microSD:

  • xiao-esp32s3-plus-sdmmc4 (default) - 4-bit microSD on the exposed non-strapping GPIOs.
  • xiao-esp32s3-plus-spisd - SPI-mode SD fallback for 4-wire SD modules.
  • waveshare-esp32s3-touch-lcd-1-54 - onboard SDMMC and BLE transport on the Waveshare ESP32-S3-Touch-LCD-1.54, with its local status display and action button enabled.
  • waveshare-esp32s3-geek - onboard microSD, status display, configurable button, BLE by default, and optional CAN.

Related tools

airbreak-plus provides Python tools that can use AirCANnect as their device transport:

  • python/as11_config.py -d tcp:aircannect get _PNA - read settings, call RPC methods, and follow streams or events.
  • python/as11_flash.py flash -d tcp:aircannect -f resmed-firmware.bin - upload ResMed firmware through AirCANnect.

Both tools also support direct CAN and BLE connections without AirCANnect.

Documentation

Screenshots

Live charts EDF
Live EDF
Reports Oximetry
Reports Oximetry
Clinical settings ResMed OTA
Clinical OTA

License

AGPL v3. See LICENSE.

About

Wireless adapter for AirSense/AirCurve 11 devices

Topics

Resources

Stars

17 stars

Watchers

3 watching

Forks

Releases

Contributors

Languages