Computer: Mac Book Air M2
OS: Sonoma 14.5
Hardware: SEEED XIAO nRF52840 Sense
I am building my software using nRF Connect VSCode Extension, while when I select my board "xiao_ble_nrf52840_sense" it shows "No board named 'xiao_ble_nrf52840_sense' found." I am using the built-in microphone which is only available for Xiao BLE nRF52840 Sense, so I cannot use the "xiao_ble" as my board.
I know what the problem is, the board should have the name "xiao_ble/nrf52840/sense" since I can successfully build my code using the exact same build command in terminal, but with the correct board name.
My question is: Is this a bug with nRF Connect? If not, how can I change my build configuration to have the correct name? I have tried overlay but it's not working. Revision is also greyed out. I know I can just use terminal to build it, but this is very frustrating and is difficult for beginners like me.
...
Original Build Configuration (Error)
Building dmic
west build --build-dir /Users/user/Desktop/Zephyr/dmic/build_sense /Users/user/Desktop/Zephyr/dmic --pristine --board xiao_ble_nrf52840_sense --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/user/Desktop/Zephyr/dmic
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /Users/user/Desktop/Zephyr/dmic
-- CMake version: 3.21.0
-- Found Python3: /opt/nordic/ncs/toolchains/580e4ef81c/opt/[email protected]/bin/python3.9 (found suitable version "3.9.6", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: /Users/user/Library/Caches/zephyr
-- Zephyr version: 3.6.99 (/Users/user/zephyrproject/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
No board named 'xiao_ble_nrf52840_sense' found.
Correct Build Command in Terminal (Works perfectly) (The only difference is board name)
west build --build-dir /Users/user/Desktop/Zephyr/dmic/build_sense /Users/user/Desktop/Zephyr/dmic --pristine --board xiao_ble/nrf52840/sense
--no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/user/Desktop/Zephyr/dmic
-- west build: making build dir /Users/user/Desktop/Zephyr/dmic/build_sense pristine
-- west build: generating a build system
Loading Zephyr default modules (Zephyr base).
-- Application: /Users/user/Desktop/Zephyr/dmic
-- CMake version: 3.29.3
-- Found Python3: /Users/user/.local/pipx/venvs/west/bin/python (found suitable version "3.12.3", minimum required is "3.8") found components: Interpreter
-- Cache files will be written to: /Users/user/Library/Caches/zephyr
-- Zephyr version: 3.6.99 (/Users/user/zephyrproject/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_ble, qualifiers: nrf52840/sense
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.16.5 (/Users/user/zephyr-sdk-0.16.5-1)
-- Found toolchain: zephyr 0.16.5 (/Users/user/zephyr-sdk-0.16.5-1)
-- Found Dtc: /opt/homebrew/bin/dtc (found suitable version "1.7.0", minimum required is "1.4.6")
-- Found BOARD.dts: /Users/user/zephyrproject/zephyr/boards/seeed/xiao_ble/xiao_ble_nrf52840_sense.dts
-- Found devicetree overlay: /Users/user/Desktop/Zephyr/dmic/boards/xiao_ble_nrf52840_sense.overlay
-- Generated zephyr.dts: /Users/user/Desktop/Zephyr/dmic/build_sense/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /Users/user/Desktop/Zephyr/dmic/build_sense/zephyr/include/generated/devicetree_generated.h
-- Including generated dts.cmake file: /Users/user/Desktop/Zephyr/dmic/build_sense/zephyr/dts.cmake
Work Around I have right now:
1. Build the code with "xiao_ble" board, which will cause an error:
"/Users/user/Desktop/Zephyr/dmic/src/main.c: In function 'main':
/Users/user/zephyrproject/zephyr/include/zephyr/device.h:91:41: error: '__device_dts_ord_DT_N_NODELABEL_dmic_dev_ORD' undeclared (first use in this function)"
2. Then Go to the new build folder -> cMakeCache.txt, change BOARD and CACHED_BOARD