Months ago (back in Jan-Feb 2025), I used the following code for my platformio.ini file:
[env:xiaoblesense]
platform = https://github.com/maxgerhardt/platform-nordicnrf52
framework = arduino
board = xiaoblesense
; Ensure we use the Nordic SDK-based core (not Mbed)
board_build.core = arduino
; Include necessary libraries
lib_deps =
arduino-libraries/ArduinoBLE@^1.4.1
seeed-studio/Seeed Arduino LSM6DS3@^2.0.5
; Enable serial monitor at 9600 baud
monitor_speed = 9600
; Disable compiler optimizations for debugging (optional)
build_flags = -O0
; Ensure correct upload method
upload_protocol = nrfutil
I tried updating the IO file board specifications (pulled from Xiao nrf52840 with Platform IO) and the libraries. It mentions “sense” on the website, so I assume this can also be used. My new file is:
Can anyone recommend how I can fix my project? And if using either of those libraries may brick the board (because now I cannot detect the board through a COM port)?
So does the double reset push work ? Get back to bootloader mode and I don’t think the board Def is correct. Or you need to update PLIO perhaps.
Something is just off slightly, Enough to break it though.
Have a Look here, we got it going here
I would try one of the other platform or board def’s
Step 3 allows the IMU to be detected again. But uploading any code (such as the blinky example in ArduinoIDE) causes the issue to come back.
(NOTE): This started when I uploaded BLE code using the updated PLIO.
(For anyone else) I decided to update it because I was receiving this error: .pio\libdeps\xiaoblesense\Seeed Arduino LSM6DS3\LSM6DS3.cpp: In member function ‘status_t LSM6DS3Core::beginCore()’: .pio\libdeps\xiaoblesense\Seeed Arduino LSM6DS3\LSM6DS3.cpp:108:17: error: ‘class arduino::MbedSPI’ has no member named ‘setBitOrder’ SPI.setBitOrder(MSBFIRST); ^~~~~~~~~~~ .pio\libdeps\xiaoblesense\Seeed Arduino LSM6DS3\LSM6DS3.cpp: In member function ‘void LSM6DS3::fifoBegin()’: .pio\libdeps\xiaoblesense\Seeed Arduino LSM6DS3\LSM6DS3.cpp:766:13: warning: unused variable ‘thresholdHByte’ [-Wunused-variable] uint8_t thresholdHByte = (settings.fifoThreshold & 0x0F00) >> 8; ^~~~~~~~~~~~~~ *** [.pio\build\xiaoblesense\lib1b4\Seeed Arduino LSM6DS3\LSM6DS3.cpp.o] Error 1