Hi everyone,
I have discovered a significant discrepancy in how the RP2040 platform (Pico W) reports BSSID information compared to ESP32/ESP8266. While the device initially connects to the correct Access Point, the BSSID reported by sensors shortly after boot is incorrect and appears to be random.
The Problem
At the moment of connection, the ESPHome logger correctly identifies the BSSID of my AP. However, once the system is fully booted and the wifi_info or text_sensor components try to read the BSSID, they receive a completely different MAC address.
Evidence from Logs
I am running ESPHome 2026.2.2.
1. Initial Discovery (Correct): [09:10:50.569][C][wifi:1213]: BSSID: 98:25:4A:C9:F3:16 (This matches my actual WiFi AP)
2. Sensor Update (Incorrect): [09:11:37.843][D][text_sensor:113]: 'rp2040test AP Locatie Combi' >> 'Onbekend AP - 04:1E:04:20:B0:28'
Key Observation: Unique “Fake” Addresses
I have tested this on multiple RP2040 devices. Each device reports a different incorrect address, suggesting this isn’t a static fallback but a memory pointer issue:
- Device 1: reports
04:1E:04:20:B0:28 - Device 2: reports
D4:1C:04:20:E0:2E
Neither of these addresses exist on my network.
Configuration Used
substitutions:
devicename: rp2040test
esphome:
name: rp2040test
friendly_name: rp2040test
rp2040:
board: rpipicow
................
text_sensor:
- platform: wifi_info
bssid:
name: "Connected BSSID"
id: bssidmac
on_value:
then:
- component.update: bssidname
mac_address:
name: "Mac Wifi Address"
Has anyone else noticed this on their Pico W builds?