Anchor firmware
Firmware for Makerfabs MaUWB ESP32S3 anchors.
Features
Section titled “Features”- UWB ranging via STM32 AT commands (DW3000)
- WiFi auto-config via captive portal (WiFiManager)
- UDP streaming of AT+RANGE data to Topos server
- USB serial passthrough preserved as fallback
- OLED display shows anchor ID, WiFi status, server IP
- HTTP config page at
http://<anchor-ip>/— change the Topos destination IP live, without reflashing or re-pairing WiFi - Double-Reset Detector — press RST twice within 10 s to wipe stored WiFi + config and reopen the setup portal
Setup per anchor
Section titled “Setup per anchor”- Open
topos_anchor.inoin Arduino IDE - Change
UWB_INDEXto the anchor number (0, 1, 2…) - Select board: ESP32S3 Dev Module
- Select port:
/dev/cu.wchusbserial10(or equivalent) - Flash
First boot
Section titled “First boot”- The anchor opens a WiFi AP named
topos-A0(or A1, A2…) - Connect from phone/laptop
- Enter your WiFi SSID, password, and Topos server IP
- The anchor saves credentials and reboots
Changing the Topos destination IP (WiFi still works)
Section titled “Changing the Topos destination IP (WiFi still works)”The anchor shows its local IP on the OLED once connected. Browse to
http://<anchor-ip>/ from any device on the same LAN:
- The page displays: anchor ID, WiFi SSID, local IP, current Topos destination.
- Edit the Topos server IP field and click
save. The new IP takes effect on the very next UDP packet (no reboot needed) and is persisted to NVS. - A red
forget wifi & rebootbutton wipes the stored credentials and reboots into the setup AP.
Changing venue (WiFi no longer available)
Section titled “Changing venue (WiFi no longer available)”Two options:
- Soft — from the last known network, hit the red
forget wifi & rebootbutton on the anchor’s HTTP page. - Hardware — press the ESP32 RST button twice within 10 seconds
(double-reset). The anchor shows
DOUBLE RESETon the OLED, clears WiFi + NVS, and reopens thetopos-AXconfig AP on reboot.
If the saved WiFi simply doesn’t respond at boot, the anchor falls back to the config portal after 2 minutes as before.
Libraries required
Section titled “Libraries required”Install via Arduino Library Manager:
- WiFiManager (by tzapu)
- Adafruit SSD1306
- Adafruit GFX
- Adafruit BusIO
WebServer and Preferences ship with the ESP32 core — no separate
install needed. The double-reset detector is implemented in-file with
Preferences (NVS), so there is no external DRD library dependency.
| Port | Usage |
|---|---|
| 80 | HTTP — config page on the anchor |
| 7071 | UDP — anchor streams AT+RANGE lines to Topos |
| USB | Serial fallback (always active) |
topos.red — Real-time · Environment · Distance[email protected] · Code MIT · Hardware CERN-OHL-P · Docs CC BY-SA