> For the complete documentation index, see [llms.txt](https://docs.bituo-technik.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bituo-technik.com/device-api/spm-sdm-open-wi-fi-api-overview.md).

# SPM/SDM Open Wi-Fi API Overview

## Open Wi-Fi API Overview

{% hint style="info" %}
**Status:** Active | **Applies to:** SPM/SDM Open Wi-Fi Series (ESP32-8685 / C6) | **Updated:** 2026-07-12
{% endhint %}

### 1. Introduction

Our smart energy meters using ESP32 SoCs are designed with an "Open Wi-Fi" philosophy, providing developers and system integrators with a comprehensive suite of local and cloud-based communication protocols.

This section of the documentation is organized into **sub-pages** detailing specific protocols. Before diving into the specific API references in the left sidebar, please review the firmware compatibility matrix below to ensure your device supports the required features.

***

### 2. Firmware Branches & Hardware Compatibility

The Open Wi-Fi product line currently consists of four main firmware branches.

| Firmware Branch      | Basic (8685)                       | Basic+ (8685)                               | Lite (8685)                                 | Pro (C6)                           |
| -------------------- | ---------------------------------- | ------------------------------------------- | ------------------------------------------- | ---------------------------------- |
| **Target Hardware**  | SPM / SDM                          | SDM01                                       | SPM/SDM                                     | SDM01 Gen2                         |
| **Latest Version**   | B\_5.1.14 & B\_6.1.7 <sup>1)</sup> | BPlus\_1.2.8 & BPlus\_2.2.4 <sup>2)</sup>   | Lite\_5.1.11 & Lite\_6.1.4<sup>2)</sup>     | Pro\_V3.1.11                       |
| **Core Features**    | Cleartext BLE & Wi-Fi              | Cleartext BLE, Encrypted WiFi <sup>3)</sup> | Encrypted BLE & Cleartext WiFi<sup>3)</sup> | Encrypted BLE & WiFi <sup>3)</sup> |
| **WiFi Strength**    | 0 dB                               | 13 dB                                       | 0dB                                         | 13 dB                              |
| **Lifecycle Status** | NRND                               | NRND                                        | Active                                      | Active                             |

**Note:**

1. `B_6.1.7` is used for the SDM01 Combo with UART external flashing pin, while `B_5.1.14` is used for all other Open WiFi models of SPM01, SPM02, SDM01 Combo with JTAG external flashing pins, and SDM02.
2. `BPlus_2.2.4` and `Lite_5.1.11` are used for the SDM01 Combo with UART external flashing pin, while `BPlus_2.2.4` and `Lite_6.1.4` are used for the SDM01 Combo with JTAG external flashing pins.
3. **Basic+** was formerly known as the EV/PV version for Gen1, which is replaced by the SDM01 Gen2. It supports a maximum of 1 TLS connection over Wi-Fi (Select 1 out of Modbus TCP, HTTPS, MQTT, and WebSocket).
4. **Lite** version's BLE encryption covers both provisioning and data broadcasting. Its Wi-Fi only supports TLS 1.2 and 1.3 for MQTT, and no TLS over HTTP, Modbus TCP and Websocket are supported.
5. **Pro** version's BLE encryption covers both provisioning and data broadcasting. Its Wi-Fi supports up to 2 concurrent TLS connections (Select 2 out of Modbus TCP, HTTPS, MQTT, and WebSocket).

***

### 3. API Capability Matrix

The following matrix details the supported communication protocols across different firmware branches. **The primary evolution from Basic/Basic+/Lite to Pro focuses on enhanced security and concurrency.**

| Firmware Branch           | Basic&#xA;(8685, SPM/SDM) |  Basic+&#xA;(8685, SDM01)  |   Lite&#xA;（8685，SPM/SDM）  |  Pro &#xA;(C6, SDM01 Gen2) |
| ------------------------- | :-----------------------: | :------------------------: | :------------------------: | :------------------------: |
| **BLE Cleartext**         |             ✅             |              ✅             |              ❌             |              ❌             |
| **BLE Secured**           |             ❌             |              ❌             |              ✅             |              ✅             |
| **MQTT (Port 1883)**      |             ✅             |              ✅             |              ✅             |              ✅             |
| **MQTTS (TLS Encrypted)** |             ✅             |              ✅             |              ✅             |              ✅             |
| **HTTP (Cleartext)**      |  <p>✅<br>(Default ON)</p> | <p>✅<br>(Default OFF )</p> | <p>✅<br>(Default OFF )</p> | <p>✅<br>(Default OFF )</p> |
| **HTTPS**                 |             ❌             |              ❌             |              ❌             |              ✅             |
| **Modbus TCP**            |             ✅             |              ✅             |              ✅             |              ✅             |
| **Modbus TCP over TLS**   |             ❌             |              ✅             |              ❌             |              ✅             |
| **Websocket**             |             ✅             |              ✅             |              ✅             |              ✅             |
| **Websocket over TLS**    |             ❌             |              ✅             |              ❌             |              ✅             |
| **UDP**                   |             ✅             |              ✅             |              ✅             |              ✅             |
| **UDP AES**               |             ❌             |              ❌             |              ✅             |              ✅             |
| **mDNS Discovery**        |             ✅             |              ✅             |              ✅             |              ✅             |

{% hint style="warning" %}
**Important Note on TLS Resources:** Due to the memory constraints of embedded devices, concurrent TLS connections (MQTTS, HTTPS, Websocket over TLS, Modbus over TLS) are strictly limited.&#x20;

* For **Basic+** firmware, a maximum of **1 TLS connection** is recommended at a time.&#x20;
* For **Pro** firmware, a maximum of 2 **TLS connection** is recommended at a time.

Please design your integration to reuse existing connections.&#x20;
{% endhint %}

***

### 4. API Reference Directory

Explore the sub-pages in this section based on your integration architecture:

#### 🌐 Cloud & Backend Integration

* [**MQTT API Reference**](/device-api/spm-sdm-open-wi-fi-api-overview/mqtt-api-reference.md): The recommended protocol for continuous telemetry data streaming and cloud control. *(Includes complete JSON payload definitions for voltage, current, power, etc. Note: The `seq` field is deprecated in Basic 5.1.14+).*

#### 🏠 Local Smart Home & LAN Integration

* [**mDNS Discovery**](/device-api/spm-sdm-open-wi-fi-api-overview/mdns-discovery.md):  How to automatically discover Bituo meters on a local network without static IPs.
* **HTTP API Reference**: Standard RESTful endpoints (GET/POST) for local device configuration and on-demand data polling.
* **WebSocket API Reference** *(Coming Soon)*: Real-time, bi-directional communication for local hubs like Home Assistant.
* **UDP Broadcasting** *(Coming Soon)*: High-frequency, connectionless local data streaming for real-time energy monitoring and zero-export systems.

#### 🔋 Local EMS & Gateway Integration

* **Modbus TCP Map**: Standard Modbus register maps for local energy gateways, solar/EV systems, and software-based building management systems (BMS).

#### 📱 Mobile App & Proximity Control

* **BLE Cleartext API**: Bluetooth passthrough API for legacy Basic/Basic+ firmware.
* **BLE Secured API**: Encrypted PAKE Bluetooth API for Lite/Pro firmware, covering secure provisioning, local control, and encrypted energy data broadcasting.
