The Seeed Studio XIAO nRF54L15 Sense is a compact and powerful microcontroller board built around the Nordic Semiconductor nRF54L15 System-on-Chip (SoC). Designed for low-power wireless applications, this board is ideal for IoT projects, wearable devices, and environmental monitoring. It features built-in sensors for temperature, humidity, and other environmental parameters, along with Bluetooth Low Energy (BLE) support for seamless wireless connectivity.
Below are the key technical details of the Seeed Studio XIAO nRF54L15 Sense:
Specification | Details |
---|---|
Microcontroller | Nordic nRF54L15 SoC |
Core Architecture | ARM Cortex-M33 with TrustZone |
Operating Voltage | 3.3V |
Input Voltage Range | 3.3V to 5V |
Flash Memory | 1 MB |
RAM | 256 KB |
Wireless Connectivity | Bluetooth Low Energy (BLE) 5.4 |
Built-in Sensors | Temperature, Humidity, and Ambient Light |
GPIO Pins | 11 (including analog and digital pins) |
Communication Interfaces | I2C, SPI, UART |
Power Consumption | Ultra-low power consumption for battery-powered applications |
Dimensions | 21 x 17.5 mm |
The XIAO nRF54L15 Sense features a total of 14 pins, including power, GPIO, and communication pins. Below is the pinout description:
Pin | Name | Type | Description |
---|---|---|---|
1 | 3V3 | Power | 3.3V power output |
2 | GND | Power | Ground |
3 | D0/A0 | GPIO/Analog | General-purpose I/O or analog input |
4 | D1/A1 | GPIO/Analog | General-purpose I/O or analog input |
5 | D2 | GPIO | General-purpose I/O |
6 | D3 | GPIO | General-purpose I/O |
7 | D4 | GPIO | General-purpose I/O |
8 | D5 | GPIO | General-purpose I/O |
9 | SDA | I2C | I2C data line |
10 | SCL | I2C | I2C clock line |
11 | RX | UART | UART receive |
12 | TX | UART | UART transmit |
13 | SWDIO | Debug | Single Wire Debug I/O |
14 | SWCLK | Debug | Single Wire Debug clock |
Below is an example of how to read the built-in temperature sensor and send the data over BLE:
#include <Wire.h>
#include <BLEPeripheral.h>
// Initialize BLE peripheral
BLEPeripheral blePeripheral;
BLEService tempService("1809"); // Temperature Service UUID
BLECharacteristic tempCharacteristic("2A1C", BLERead | BLENotify, 4);
// I2C address for the temperature sensor
const int tempSensorAddress = 0x48;
void setup() {
// Initialize serial communication
Serial.begin(9600);
while (!Serial);
// Initialize BLE
blePeripheral.setLocalName("XIAO nRF54L15");
blePeripheral.setAdvertisedServiceUuid(tempService.uuid());
blePeripheral.addAttribute(tempService);
blePeripheral.addAttribute(tempCharacteristic);
blePeripheral.begin();
// Initialize I2C
Wire.begin();
Serial.println("BLE Temperature Sensor Ready");
}
void loop() {
// BLE poll
blePeripheral.poll();
// Read temperature from the sensor
Wire.beginTransmission(tempSensorAddress);
Wire.write(0x00); // Command to read temperature
Wire.endTransmission();
Wire.requestFrom(tempSensorAddress, 2);
if (Wire.available() == 2) {
int tempRaw = (Wire.read() << 8) | Wire.read();
float temperature = tempRaw * 0.02 - 273.15; // Convert to Celsius
// Print temperature to Serial
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
// Update BLE characteristic
tempCharacteristic.setValue((int)(temperature * 100)); // Send as integer
}
delay(1000); // Wait 1 second
}
Board Not Detected in Arduino IDE:
BLE Connection Fails:
Sensors Not Responding:
High Power Consumption:
Q: Can I use this board with a LiPo battery?
A: Yes, the XIAO nRF54L15 Sense supports LiPo batteries. Ensure the battery voltage is within the supported range.
Q: What is the maximum BLE range?
A: The BLE range depends on environmental factors but typically extends up to 50 meters in open space.
Q: Is the board compatible with CircuitPython?
A: Currently, the board is not officially supported by CircuitPython, but you can use the Arduino IDE or nRF Connect SDK for programming.
Q: How do I update the firmware?
A: Firmware updates can be performed using the Nordic nRF Connect tools or the Arduino IDE with the appropriate bootloader.