xiao_nrf52: move Wire to NFC pins to unblock BLE pairing#2499
xiao_nrf52: move Wire to NFC pins to unblock BLE pairing#2499Strykar wants to merge 1 commit intomeshcore-dev:devfrom
Conversation
PIN_WIRE_SDA=D7/PIN_WIRE_SCL=D6 collide with PIN_SERIAL1_RX/TX defined in variant.h. Muxing Wire on those pads lets the BLE companion advertise briefly then go silent on the Wio-SX1262 for XIAO baseboard. Move Wire to the NFC pads (P0.30/P0.31, Arduino pins 30/31), matching what Meshtastic does for the same baseboard. Co-Authored-By: Claude Opus <noreply@anthropic.com>
|
I can't reproduce this on a xiao nrf w/ wio. I think it's a red herring the AI dreamed up |
|
The Serial1 framing in the PR is wrong. The actual symptom on this unit: SCL on the original D6 (P1.11) is held low. Internal pull-up (~13kΩ) loses to it; the chip's S0S1 drive overpowers it cleanly, so it's a moderate ~1–5kΩ external pull, not a hard short. With SCL low, Both the Wio-SX1262 for XIAO carrier (V1.0) and the Seeed XIAO nRF52840 Sense schematics show nothing on P1.11. Multimeter check still to do, but the most likely cause is a unit-specific defect on this Sense board (a P1.10/P1.11 solder bridge is the leading candidate; P1.10 is MIC_PWR on the adjacent QFN ball). That's consistent with your "can't reproduce". If it holds up as a unit-specific issue, the PR shouldn't apply to everyone on |
|
correct fix here would be to remove PIN_SERIAL1_RX/PIN_SERIAL1_TX, not remapping SDA/SCL which people use for sensors. |
|
Removing Empirically on this unit: with all UARTE/TWIM/SPIM PSELs cleared and Agree the PR shouldn't move Wire pins for everyone given the sensor users on D6/D7. Closing it. The defensive change worth doing separately: detect a stuck bus before |
|
would probably test if |
|
Tested. Build compiles fine — the Behaviour on hardware: identical to without the defines. BLE doesn't advertise; Android scan doesn't see the device. The first I2C probe in So |
|
if this is only with the sense, and reproducible, then it would be best to create a new variant for it as existing xiao nrf work fine and do not suffer this issue. |
Problem
On
Xiao_nrf52*envs,PIN_WIRE_SDA=D7/PIN_WIRE_SCL=D6collide withPIN_SERIAL1_RX/TXdefined in variants/xiao_nrf52/variant.h:With
Wiremuxed onto the same pads, the BLE companion advertises briefly after boot and then stops. The MeshCore Android app intermittently fails to pair, and Serial output is unreliable.Fix
Move Wire to the NFC pads (P0.30 NFC1, P0.31 NFC2). The Adafruit BSP exposes them as Arduino pins 30/31 and they aren't claimed by another peripheral on this board. Same approach Meshtastic uses for the same baseboard (their
seeed_xiao_nrf52840_kit/variant.h).Diff
+5/-2 in
variants/xiao_nrf52/platformio.ini. No code changes.Tested
dev(currentmeshcore-dev/Adafruit_nRF52_Arduinofork) and onmainwith the stockframework-arduinoadafruitnrf52@1.10700.0— both work