Skip to content

Project Status

Roman Kuraev edited this page Jul 10, 2026 · 3 revisions

Project Status

Last reviewed: 2026-07-11.

Current state

The main firmware builds and runs on the EMW3165. The current implemented surface includes:

  • Wi-Fi setup, saved networks, captive portal, and station/AP fallback
  • Embedded HTTP UI and shared status/settings API
  • MQTT 3.1.1 telemetry and Home Assistant discovery
  • Browser-based F411 application updates with staged rollback
  • Read-only Bluetooth access to capabilities, status, scans, and saved networks
  • Complete stock backup and restore of F411 internal flash and external SPI flash

The automated baseline is 10 host C suites, the web UI tests/build, and the 21-check live-device smoke test. See Development and Testing for commands and coverage.

Open issues

Bluetooth mutations

Bluetooth exposes four read-only operations. Join, settings, reset, and other mutations remain locked because the BI201 service accepted connections and writes without an authorization prompt during bench testing. They should not be enabled until Rewair has an authenticated application session. Firmware OTA will remain Wi-Fi-only. See Bluetooth Transport.

OTA fault injection

Normal upload, install, reboot, and health confirmation have passed on the bench. Destructive tests for power loss during copying and forced trial-boot rollback remain pending. See Firmware Updates.

Complete stock round-trip

The internal-flash and SPI-flash backup/restore paths have validation and size/checksum guards, but the combined Step 0 workflow does not yet have a documented full stock backup → Rewair install → stock restore round-trip on a disposable unit. Complete that before treating recovery as field-proven.

Diagnostic tools

  • tools/f103_debug/snapshot_f103.zsh — F103 state snapshot over SWD
  • tools/f103_debug/trace_f103_uart_handlers.zsh — F103 UART handler trace
  • tools/legacy/emw3165_sensor_console — isolates F103 protocol behavior from WICED
  • tools/bi201/ble_api_probe.py — exercises the framed Bluetooth API

Before flashing diagnostic firmware, complete the stock backup described in Getting Started.

Clone this wiki locally