Firmware modification toolkit for ResMed AirSense and AirCurve devices.
| Platform | Guide |
|---|---|
| AirSense 10 / AirCurve 10 | Air10 Quickstart |
| AirSense 11 / AirCurve 11 | Air11 Quickstart |
| Series 9 | Partial support; no maintained guide |
- Unlocks all therapy modes
- Unlocks clinical settings menu with full pressure range
- Removes motor runtime hours nag screen
- Expands EDF recording across unlocked therapy modes
- Maintains myAir cloud compatibility across therapy modes
- Custom VAuto pressure support in the VAuto slot
- Runtime ASV and ASVAuto backup-rate control
- Selectable Square Wave pressure shaping for S, ST, T, and PAC
- Continuous LCD and button brightness adaptation
- ILI9325/ILI9328 LCD driver (the most common replacement panel available for these devices)
Best support for SX567-0401 and SX567-0402 firmware. Other versions are handled with reduced feature coverage.
- Unlocks supported therapy modes and related clinical settings
- Allows custom ASV and ASVAuto pressure-support ranges
- Expands EDF recording across unlocked therapy modes
- Keeps EDF and myAir variant reporting aligned with the selected mode
- Unlocks configured languages and selected firmware defaults
- Removes the design-life warning triggered after ~20,000 hours of runtime
Windows users can prepare the common build environment with the WSL2 setup guide.
| Guide | Air10 | Air11 |
|---|---|---|
| Quickstart | Air10 Quickstart | Air11 Quickstart |
| Disassembly | Air10 disassembly | Air11 disassembly |
| Connections | SWD wiring or serial connection | SWD or CAN connection |
| Firmware dump | OpenOCD | OpenOCD |
| Patching | Air10 patching | Air11 patching |
| Flashing | Air10 flashing | Air11 flashing |
| Document | Content |
|---|---|
| resmed_config | UART configuration tool |
| resmed_flash | UART firmware flash and dump tool |
| Config variables | Firmware variable system and globals[] structures |
| Variable reference | Firmware variables with var_id, UART name, EDF signal |
| Patching: Custom settings | Variable assignments, reclaimed resources, persistence, and menu registry |
| Patching: Patch payloads | Versioned payload build, code-cave allocation, stubs, and ABI slots |
| eeprom_tool | SPI EEPROM access (deprecated, see native support) |
| UART protocol | Frame format and commands |
| oximeter protocol | Oximetry data submission specification |
| Document | Content |
|---|---|
| as11_config | Configuration, RPC, streams, events, spools, and BLE pairing |
| as11_flash | CAN and BLE firmware flashing |
| CONF block format | Descriptor and schema structures |
| Variable reference | Cross-version variable names and metadata |
| as11_descriptors | Offline firmware and CONF inspection |
| Patching: Patch payloads | Versioned payload builds, code-cave allocation, native stubs, and callback integration |
| CAN connection | Connectors, wiring, and tested adapters |
| CAN protocol | CAN datagrams, VCIDs, and service endpoints |
| Bluetooth protocol | BLE pairing, session, and transport |
| RPC protocol | JSON-RPC methods and message transport |
| OTA protocol | Upgrade containers, authentication, and targets |
| EDF signals | Air11 EDF file and signal schemas |
- airbridge - ESP32 WiFi bridge for AirSense 10 service port
- aircannect - Wireless adapter for AirSense/AirCurve 11 devices






