Ive been trying to set up a sensor with BLE, and from numerous youtube vids and instructionals, it is apparent this is exceptionally basic stuff. However, when i go to compile I get this error.
WARNING: library ArduinoBLE claims to run on samd, megaavr, mbed, apollo3, mbed_nano, mbed_portenta, mbed_nicla architecture(s) and may be incompatible with your current board which runs on nrf52 architecture(s).
C:\Users\erich\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCIUartTransport.cpp:33:2: error: #error “Unsupported board selected!”
33 | #error “Unsupported board selected!”
| ^~~~~
C:\Users\erich\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCIUartTransport.cpp:99:40: error: ‘SerialHCI’ was not declared in this scope; did you mean ‘Serial1’?
99 | HCIUartTransportClass HCIUartTransport(SerialHCI, 912600);
| ^~~~~~~~~
| Serial1
exit status 1
Error compiling for board Seeed XIAO nRF52840.
Running Windows 10, Arduino IDE 1.8.19 (Windows Store), Latest Arduino Lib (deleted and reinstalled), 1.0.0 board drivers (need deepsleep eventually, and the latest drivers dont fix this…)
Im brand new to this so i dont have too much other clogging/settings/etc.
The code architecture of Arduino BLE is not applicable to XIAO BLE, you should not use the code of Arduino BLE, let alone try to brush the firmware of Arduino BLE, otherwise it is likely to cause XIAO BLE unavailable.
I cannot get anything with the <ArduinoBLE.h> to compile either and I have the same error as you. The XIAO BLE getting started page shows using the ArduinoBLE library in their example here:
WARNING: library ArduinoBLE claims to run on samd, megaavr, mbed, apollo3, mbed_nano, mbed_portenta, mbed_nicla architecture(s) and may be incompatible with your current board which runs on avr architecture(s).
Not sure why this is happening. After the board disappeared, the Arduino IDE chose some random board that obviously wasn’t compatible. Try checking this or re-installing the seeed NRF52 boards.
I am following the bluetooth getting started doc and hitting the same problem. Total newbie here, and not sure how to “brush the firmware of Arduino BLE”. Is there any doc about this?
WARNING: library ArduinoBLE claims to run on samd, megaavr, mbed, apollo3, mbed_nano, mbed_portenta, mbed_nicla architecture(s) and may be incompatible with your current board which runs on nrf52 architecture(s).
C:\Users\r12f\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCIUartTransport.cpp:33:2: error: #error "Unsupported board selected!"
33 | #error "Unsupported board selected!"
Did you clear this issue?
I have same problem and cleared.
The reason is board driver versions.
I also did same procedure and installed version 1.0.0.
But another one said 2.6.1.
So I try “Seeed nrf52 mbed enabled boards”.
After that, the board list shows Seeed XIAO BLE nrf52 and compile was done with few minor error!
Hi, there are indeed two Seeed nRF52 cores provided. Here are the difference:
The “Seeed nRF52 mbed-enabled Boards ” supports embedded ML (or edge AI) applications, where you can use them to build TinyML projects, but you can’t use Bluetooth(BLE) function.
The “Seeed nRF52 Boards ” supports BLE(Bluetooth) function, where you can apply ultra low power consumption, but you may not use it to do embedded ML projects.
This is very confusing and frustrating. All the tutorials instruct us to use ArduinoBLE library but that’s not compatible. The comment above that the mbed-enabled boards cannot use BLE makes no sense when the board description literally says “Seeed nRF52 mbed-enabled Boards. Boards included in this package: Seeed XIAO BLE - nRF52840, Seeed XIAO BLE Sense - nRF52840” it’s literally right in the name.
So when treating this as a non-mbed board, meaning a v1.1.0 board, ArduinoBLE is not available, the code does not compile - yet - when treating this as an mbed board, which supposedly does not support BLE, the code that references ArduinoBLE compiles fine. It’s backwards.
For the record, this all works, including the ArduinoBLE library and all the tutorials, if you set up the board as I’ve shown above, that is, as an mbed-enabled board. BLE works fine.
We are sorry for the unpleasant experience. Currently, you can follow the post provided by @msfujino to resolve the issue.
Our team is working diligently to fix these problems, and a brand new version that functions properly will be released as soon as possible. Thank you for your understanding and cooperation
When will the issue be resolved?
The blinking example over BLE still does not work/compile on nrf52840 without embedded ML. It’s so frustrating there’s some weird random keyboard example provided, but no way to control a build-in led.
#include <ArduinoBLE.h>
BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // Bluetooth® Low Energy LED Service
// Bluetooth® Low Energy LED Switch Characteristic - custom 128-bit UUID, read and writable by central
BLEByteCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead | BLEWrite);
const int ledPin = LED_BUILTIN; // pin to use for the LED
void setup() {
Serial.begin(9600);
while (!Serial);
// set LED pin to output mode
pinMode(ledPin, OUTPUT);
etc.
Does not compile for Seeed nRF52 (no embedded ml) .
WARNING: library ArduinoBLE claims to run on samd, megaavr, mbed, apollo3, mbed_nano, mbed_portenta, mbed_nicla, esp32, mbed_giga, renesas, renesas_portenta, mbed_opta, renesas_uno architecture(s) and may be incompatible with your current board which runs on nrf52 architecture(s).
Is there any analogous tutorial for Adafruit Bluefruit?
If you don’t bring the above in the light-up program, can it work?
I was able to successfully compile the program shown below without warning (from the Adafruit Bluefruit nrf52 libraries). If you still can’t compile it, we recommend that you uninstall and reinstall the 1.1.8 version of the library