> ## Documentation Index
> Fetch the complete documentation index at: https://launchpad.anxlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ANX OS Firmware: Architecture and Capabilities

> ANX OS firmware provides a real-time execution environment, Wi-Fi and BLE stacks, a file system, and OTA update support for ANX dev modules.

ANX OS is the factory firmware that ships on every ANX development module. It provides a complete, production-ready software foundation — real-time task scheduling, wireless connectivity, persistent storage, and over-the-air update support — so you can focus on building your application instead of writing low-level board support packages and peripheral drivers from scratch. Whether you are prototyping a sensor node or shipping a connected product, ANX OS gives you a stable, well-tested base to build on.

## What ANX OS Includes

<CardGroup cols={2}>
  <Card title="Real-Time Kernel" icon="microchip">
    A FreeRTOS-based preemptive multitasking kernel with deterministic interrupt latency, configurable task priorities, and software timers. Handles all context switching so your application tasks run in isolation.
  </Card>

  <Card title="Wi-Fi Stack" icon="wifi">
    Full IEEE 802.11 b/g/n support with WPA2 and WPA3 authentication, DHCP client and server, DNS resolver, and a TLS 1.3 library for encrypted connections. Station, access-point, and mixed modes are all supported.
  </Card>

  <Card title="BLE Stack" icon="bluetooth">
    Bluetooth 5.0 compliant stack exposing GATT server and client APIs, GAP advertising and scanning, and connection parameter negotiation. Supports simultaneous BLE and Wi-Fi operation.
  </Card>

  <Card title="File System" icon="folder">
    LittleFS on SPI Flash with hardware-level wear-leveling and power-loss resilience. Provides a POSIX-style file API for storing configuration, logs, and application data across reboots.
  </Card>

  <Card title="OTA Update Engine" icon="arrow-up-to-line">
    Delta update downloads that minimize bandwidth, cryptographic signature verification, dual-partition rollback, and health-check enforcement. Keeps deployed devices up to date without a physical USB connection.
  </Card>

  <Card title="ANX SDK Integration" icon="code">
    Native peripheral drivers for UART, SPI, I2C, PWM, ADC, and GPIO, plus higher-level networking and device management APIs. The SDK links directly against the firmware, so there are no compatibility shims.
  </Card>
</CardGroup>

## Firmware Versions

ANX OS follows **semantic versioning** (`MAJOR.MINOR.PATCH`):

* **MAJOR** — incompatible API or on-wire protocol changes.
* **MINOR** — new features added in a backward-compatible way.
* **PATCH** — backward-compatible bug fixes and security patches.

To check the firmware version currently running on your connected module, run:

```bash theme={null}
anx device info
```

The output includes a `Firmware` field that shows the version number and the release channel it came from:

```
Device ID:   ANX-A1-7F3C
Firmware:    1.2.0 (stable)
SDK Target:  1.2.x
Flash Size:  4 MB
Free Heap:   182 KB
Uptime:      00:04:31
```

## Release Channels

ANX OS firmware is distributed across three release channels. Choose the channel that matches your project's risk tolerance.

| Channel   | Description                                           | Recommended for               |
| --------- | ----------------------------------------------------- | ----------------------------- |
| `stable`  | Fully tested, production-signed releases              | Production and prototyping    |
| `beta`    | Feature-complete releases undergoing final validation | Early adopters and testing    |
| `nightly` | Automated builds from the main development branch     | Internal experimentation only |

Switch channels at any time through the `ota.channel` field in your device's `config.json`, or by passing `--channel` to the `anx flash` command.

<Note>
  Always verify that your ANX SDK version is compatible with the firmware running on your device. The SDK documentation lists a **minimum firmware version** for each release. Running a mismatched combination can cause undefined behavior or failed API calls. Check compatibility with `anx doctor` before starting a new project.
</Note>
