The Arduino Nano 33 BLE Sense Rev 2 is a compact and versatile microcontroller board designed for advanced IoT (Internet of Things) applications, wearable devices, and sensor-based projects. Manufactured by Arduino, this board features a powerful ARM Cortex-M4 processor, Bluetooth Low Energy (BLE) capabilities, and a suite of integrated sensors, making it ideal for applications requiring wireless communication and environmental data collection.
The following table outlines the key technical details of the Arduino Nano 33 BLE Sense Rev 2:
Specification | Details |
---|---|
Microcontroller | Nordic nRF52840 (ARM Cortex-M4, 32-bit, 64 MHz) |
Operating Voltage | 3.3V |
Input Voltage (VIN) | 5V |
Digital I/O Pins | 14 (12 PWM capable) |
Analog Input Pins | 8 |
Flash Memory | 1 MB |
SRAM | 256 KB |
EEPROM | None |
Connectivity | Bluetooth 5.0 (BLE), NFC |
Integrated Sensors | IMU (LSM9DS1), microphone (MP34DT05), temperature, humidity, pressure, |
light, and gesture sensors (APDS-9960) | |
Power Consumption | ~1.5 mA in idle mode |
Dimensions | 45 x 18 mm |
Weight | 5 g |
The Arduino Nano 33 BLE Sense Rev 2 has a total of 30 pins. Below is a summary of the pin configuration:
Pin | Type | Description |
---|---|---|
VIN | Power Input | External power input (5V) |
3.3V | Power Output | Regulated 3.3V output |
GND | Ground | Ground connection |
A0-A7 | Analog Input | 8 analog input pins (12-bit ADC) |
D0-D13 | Digital I/O | 14 digital pins (12 PWM capable) |
SDA | I2C Data | I2C data line |
SCL | I2C Clock | I2C clock line |
TX | UART Transmit | UART serial transmit |
RX | UART Receive | UART serial receive |
RST | Reset | Resets the microcontroller |
Powering the Board:
Programming the Board:
Using Sensors:
Arduino_LSM9DS1
, Arduino_APDS9960
) to interface with these sensors.BLE Communication:
ArduinoBLE
library to enable Bluetooth communication. This allows the board to act as a BLE peripheral or central device.The following example demonstrates how to read temperature and humidity data from the onboard sensor using the Arduino_HTS221
library.
#include <Arduino_HTS221.h> // Include the library for the HTS221 sensor
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
while (!Serial); // Wait for the serial monitor to open
if (!HTS.begin()) {
// Check if the sensor is initialized successfully
Serial.println("Failed to initialize HTS221 sensor!");
while (1); // Halt execution if initialization fails
}
Serial.println("HTS221 sensor initialized successfully.");
}
void loop() {
float temperature = HTS.readTemperature(); // Read temperature in Celsius
float humidity = HTS.readHumidity(); // Read relative humidity in %
// Print the sensor readings to the serial monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(1000); // Wait for 1 second before the next reading
}
The board is not detected by the Arduino IDE:
BLE connection issues:
ArduinoBLE
library is installed and up to date. Sensors not responding:
Power issues:
Q: Can I use the Arduino Nano 33 BLE Sense Rev 2 with a 5V sensor?
A: No, the board operates at 3.3V logic levels. Use a level shifter to interface with 5V sensors.
Q: How do I update the firmware on the board?
A: Use the Arduino IDE to upload the latest bootloader or firmware updates via the Tools menu.
Q: What is the maximum BLE range?
A: The BLE range is approximately 10-30 meters, depending on environmental conditions and interference.
Q: Can I use the board for machine learning applications?
A: Yes, the board supports TinyML and TensorFlow Lite for microcontrollers, enabling on-device machine learning.