Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.

Arduino Nano 33 BLE Sense: Built-in Sensors Guide & Projects

The first time I powered up an Arduino Nano 33 BLE Sense, I was genuinely impressed by how much sensing capability Arduino managed to pack onto such a tiny board. As a PCB engineer who has designed countless sensor interfaces over the years, having seven different sensors pre-integrated and ready to use straight out of the box felt almost like cheating.

The Arduino Nano 33 BLE Sense combines a powerful ARM Cortex-M4 processor, Bluetooth Low Energy connectivity, and an impressive array of environmental and motion sensors in the familiar Nano form factor. Whether you’re building wearables, IoT devices, or exploring machine learning at the edge, this board eliminates hours of sensor wiring and driver configuration.

In this comprehensive guide, I’ll walk you through every sensor on the Arduino Nano 33 BLE Sense, show you how to read data from each one, and share practical project ideas that leverage this remarkable hardware.

What Makes the Arduino Nano 33 BLE Sense Special?

The Arduino Nano 33 BLE Sense represents a significant evolution from the classic Arduino Nano. While maintaining the same breadboard-friendly footprint (45mm × 18mm), it replaces the 8-bit ATmega328P with the Nordic nRF52840—a 32-bit ARM Cortex-M4F running at 64MHz with a floating-point unit.

But the real magic lies in the embedded sensors. Instead of connecting external modules via jumper wires, you get immediate access to motion tracking, environmental monitoring, audio capture, and gesture detection. This integration dramatically simplifies prototyping and enables applications that would otherwise require complex multi-board designs.

The “33” in the name indicates the operating voltage: 3.3V. This is crucial to remember because connecting 5V signals directly to this board will damage it permanently. Unlike the classic Nano, there’s no 5V tolerance here.

Arduino Nano 33 BLE Sense Technical Specifications

Understanding the core specifications helps you determine if this board fits your project requirements.

Core Hardware Specifications

ParameterSpecification
ProcessorNordic nRF52840 (ARM Cortex-M4F)
Clock Speed64 MHz
Flash Memory1 MB
SRAM256 KB
Operating Voltage3.3V
Input Voltage (VIN)5-18V
Digital I/O Pins14
PWM PinsAll digital pins
Analog Input Pins8
ADC Resolution12-bit
ConnectivityBluetooth 5.0 Low Energy
Dimensions45 × 18 mm
Weight~5g

The 1MB flash memory provides 32 times the program space of the classic Nano, while 256KB of SRAM offers 128 times more variable storage. These expanded resources are essential for running machine learning models and processing sensor data streams.

Complete Built-in Sensors Overview

The Arduino Nano 33 BLE Sense includes seven distinct sensing capabilities through five sensor chips. Each sensor connects internally via I2C or other protocols, with dedicated Arduino libraries handling the low-level communication.

Sensor Summary Table

SensorChipMeasurementsLibrary
9-Axis IMULSM9DS1Accelerometer, Gyroscope, MagnetometerArduinoLSM9DS1
Temperature & HumidityHTS221Temperature, Relative HumidityArduinoHTS221
Barometric PressureLPS22HBPressure, AltitudeArduinoLPS22HB
Gesture/Light/ProximityAPDS9960Gestures, RGB Color, Ambient Light, ProximityArduinoAPDS9960
Digital MicrophoneMP34DT05Audio (PDM output)PDM

Note: The Rev2 version uses different sensor chips (BMI270/BMM150 for IMU, HS3003 for temperature/humidity) requiring different libraries. Check your board’s silkscreen to identify which version you have.

9-Axis IMU Sensor (LSM9DS1)

The LSM9DS1 from STMicroelectronics combines three sensors in one package, providing complete motion sensing capability.

IMU Specifications

MeasurementRange OptionsResolution
Accelerometer±2g, ±4g, ±8g, ±16g16-bit
Gyroscope±245, ±500, ±2000 dps16-bit
Magnetometer±4, ±8, ±12, ±16 gauss16-bit

Reading IMU Data

Install the ArduinoLSM9DS1 library through the Library Manager, then use this code to read all nine axes:

#include <Arduino_LSM9DS1.h>

void setup() {

  Serial.begin(115200);

  while (!Serial);

  if (!IMU.begin()) {

    Serial.println(“Failed to initialize IMU!”);

    while (1);

  }

}

void loop() {

  float ax, ay, az;

  float gx, gy, gz;

  float mx, my, mz;

  if (IMU.accelerationAvailable()) {

    IMU.readAcceleration(ax, ay, az);

    Serial.print(“Accel: “);

    Serial.print(ax); Serial.print(“, “);

    Serial.print(ay); Serial.print(“, “);

    Serial.println(az);

  }

  if (IMU.gyroscopeAvailable()) {

    IMU.readGyroscope(gx, gy, gz);

    Serial.print(“Gyro: “);

    Serial.print(gx); Serial.print(“, “);

    Serial.print(gy); Serial.print(“, “);

    Serial.println(gz);

  }

  if (IMU.magneticFieldAvailable()) {

    IMU.readMagneticField(mx, my, mz);

    Serial.print(“Mag: “);

    Serial.print(mx); Serial.print(“, “);

    Serial.print(my); Serial.print(“, “);

    Serial.println(mz);

  }

  delay(100);

}

The IMU enables applications like step counting, orientation detection, gesture recognition, and electronic compass functionality.

Temperature and Humidity Sensor (HTS221)

The HTS221 capacitive sensor measures both relative humidity and ambient temperature with factory-calibrated accuracy.

HTS221 Specifications

ParameterRangeAccuracy
Temperature-40°C to +120°C±0.5°C (15-40°C)
Humidity0-100% RH±3.5% RH (20-80% RH)
Resolution0.004% RH / 0.016°C

Reading Temperature and Humidity

#include <Arduino_HTS221.h>

void setup() {

  Serial.begin(115200);

  while (!Serial);

  if (!HTS.begin()) {

    Serial.println(“Failed to initialize humidity sensor!”);

    while (1);

  }

}

void loop() {

  float temperature = HTS.readTemperature();

  float humidity = HTS.readHumidity();

  Serial.print(“Temperature: “);

  Serial.print(temperature);

  Serial.println(” °C”);

  Serial.print(“Humidity: “);

  Serial.print(humidity);

  Serial.println(” %”);

  delay(1000);

}

Barometric Pressure Sensor (LPS22HB)

The LPS22HB MEMS pressure sensor provides 24-bit pressure readings and includes an embedded temperature sensor for compensation.

LPS22HB Specifications

ParameterRangeResolution
Pressure260-1260 hPa24-bit
Absolute Accuracy±0.1 hPa
Temperature-40°C to +85°C

The pressure readings can calculate altitude above sea level using the barometric formula, making this sensor valuable for drones, weather stations, and fitness trackers.

Reading Barometric Pressure

#include <Arduino_LPS22HB.h>

void setup() {

  Serial.begin(115200);

  while (!Serial);

  if (!BARO.begin()) {

    Serial.println(“Failed to initialize pressure sensor!”);

    while (1);

  }

}

void loop() {

  float pressure = BARO.readPressure();

  Serial.print(“Pressure: “);

  Serial.print(pressure);

  Serial.println(” kPa”);

  // Calculate approximate altitude

  float altitude = 44330 * (1 – pow(pressure / 101.325, 0.1903));

  Serial.print(“Altitude: “);

  Serial.print(altitude);

  Serial.println(” m”);

  delay(1000);

}

Gesture, Light, and Proximity Sensor (APDS9960)

The APDS9960 from Broadcom is perhaps the most versatile sensor on the board, combining four sensing functions in one chip.

APDS9960 Capabilities

FunctionDescription
Gesture DetectionUp, Down, Left, Right movements
RGB Color SensingRed, Green, Blue light intensity
Ambient LightOverall light level measurement
ProximityObject distance detection (0-255)

The gesture engine uses four directional photodiodes to detect reflected IR energy from an integrated LED, converting physical motion into digital signals.

Gesture Detection Example

#include <Arduino_APDS9960.h>

void setup() {

  Serial.begin(115200);

  while (!Serial);

  if (!APDS.begin()) {

    Serial.println(“Error initializing APDS9960 sensor!”);

    while (1);

  }

  Serial.println(“Detecting gestures…”);

}

void loop() {

  if (APDS.gestureAvailable()) {

    int gesture = APDS.readGesture();

    switch (gesture) {

      case GESTURE_UP:

        Serial.println(“Detected UP gesture”);

        break;

      case GESTURE_DOWN:

        Serial.println(“Detected DOWN gesture”);

        break;

      case GESTURE_LEFT:

        Serial.println(“Detected LEFT gesture”);

        break;

      case GESTURE_RIGHT:

        Serial.println(“Detected RIGHT gesture”);

        break;

      default:

        break;

    }

  }

}

Digital Microphone (MP34DT05)

The MP34DT05 is an ultra-compact MEMS microphone that outputs audio in PDM (Pulse Density Modulation) format. This omnidirectional microphone captures audio for voice recognition, sound detection, and audio analysis applications.

Microphone Specifications

ParameterValue
TypeMEMS Omnidirectional
OutputPDM Digital
SNR64 dB
Sensitivity-26 dBFS
Frequency Response20Hz – 20kHz

The PDM library handles the conversion from PDM to PCM format, making audio processing straightforward.

TinyML and Machine Learning Applications

One of the most exciting capabilities of the Arduino Nano 33 BLE Sense is running machine learning models directly on the device. The combination of powerful processor, ample memory, and diverse sensors makes it ideal for edge AI applications.

Supported ML Frameworks

FrameworkUse Case
TensorFlow Lite MicroGeneral ML inference
Edge ImpulseEnd-to-end ML pipeline
SensiMLSensor data classification

Popular TinyML Projects

Gesture Recognition: Train custom gesture patterns using IMU data. The board can learn to recognize specific movements like punches, waves, or device orientations.

Wake Word Detection: Use the onboard microphone to detect specific spoken commands without cloud connectivity, maintaining privacy while enabling voice control.

Anomaly Detection: Monitor environmental sensors for unusual patterns, useful for predictive maintenance or security applications.

Person Detection: With an external camera module (OV7675), the board can run person detection models for presence sensing.

Practical Arduino Nano 33 BLE Sense Project Ideas

The integrated sensors enable numerous projects without additional hardware.

Beginner Projects

Environmental Monitor: Display temperature, humidity, and pressure readings on a connected smartphone via BLE. Perfect for understanding sensor basics and Bluetooth communication.

Gesture-Controlled LED: Use the APDS9960 to control the onboard RGB LED through hand gestures. Wave up for red, down for green, left for blue.

Step Counter: Implement a basic pedometer using accelerometer data. Count steps and transmit totals to a phone app.

Intermediate Projects

Weather Station: Combine all environmental sensors with BLE connectivity to create a portable weather monitoring system that logs data to your smartphone.

Motion-Activated Security Alert: Detect movement with the IMU and proximity sensor, triggering BLE notifications when motion is detected.

Color Sorting Assistant: Use the RGB color sensor to identify object colors and provide audio or visual feedback for sorting applications.

Advanced Projects

Voice Command Recognition: Train a TinyML model to recognize specific voice commands using the onboard microphone, enabling hands-free device control.

Fall Detection Wearable: Analyze accelerometer patterns to detect falls and automatically send BLE alerts to caregivers.

Predictive Maintenance Sensor: Monitor vibration patterns on machinery using the IMU, detecting anomalies before equipment failure.

Rev1 vs Rev2: Understanding the Differences

Arduino released a Rev2 version with updated sensors due to supply chain constraints. Understanding which version you have is essential for selecting correct libraries.

Sensor Comparison Table

FunctionRev1 SensorRev2 SensorLibrary Change
IMULSM9DS1 (9-axis)BMI270 + BMM150ArduinoLSM9DS1 → Arduino_BMI270_BMM150
Temp/HumidityHTS221HS3003ArduinoHTS221 → Arduino_HS300x
PressureLPS22HBLPS22HBNo change
Gesture/ColorAPDS9960APDS9960No change
MicrophoneMP34DT05MP34DT05No change

Check the silkscreen on the bottom of your board—Rev2 boards are clearly marked “NANO 33 BLE SENSE REV2.”

Bluetooth Low Energy Connectivity

Beyond the sensors, the Arduino Nano 33 BLE Sense features full Bluetooth 5.0 Low Energy connectivity through the nRF52840’s integrated radio.

BLE Capabilities

FeatureSpecification
Bluetooth Version5.0 Low Energy
RangeUp to 100m (open space)
Data Rate2 Mbps (BLE 5.0)
Concurrent ConnectionsMultiple peripherals
NFCSupported for pairing

The ArduinoBLE library simplifies BLE development, allowing your board to act as either a peripheral (advertising services) or central device (connecting to peripherals). Combined with the onboard sensors, you can create wireless sensor nodes that transmit data to smartphones, tablets, or BLE-enabled gateways.

Basic BLE Peripheral Example

#include <ArduinoBLE.h>

#include <Arduino_HTS221.h>

BLEService envService(“181A”); // Environmental Sensing

BLEIntCharacteristic tempChar(“2A6E”, BLERead | BLENotify);

void setup() {

  Serial.begin(115200);

  HTS.begin();

  BLE.begin();

  BLE.setLocalName(“Nano33BLESense”);

  BLE.setAdvertisedService(envService);

  envService.addCharacteristic(tempChar);

  BLE.addService(envService);

  BLE.advertise();

}

void loop() {

  BLEDevice central = BLE.central();

  if (central) {

    while (central.connected()) {

      int temp = HTS.readTemperature() * 100;

      tempChar.writeValue(temp);

      delay(1000);

    }

  }

}

Essential Setup and Programming Tips

Arduino IDE Configuration

  1. Install Arduino IDE 2.x
  2. Open Tools → Board → Boards Manager
  3. Search for “Arduino Mbed OS Nano Boards”
  4. Install the package
  5. Select Tools → Board → Arduino Nano 33 BLE Sense

Critical Voltage Warning

The Arduino Nano 33 BLE Sense operates at 3.3V logic. Never connect 5V signals directly to any GPIO pin. If interfacing with 5V devices, use logic level shifters. The 5V pin on the header is not connected by default and does not provide power output.

Bootloader Recovery

If uploads fail, double-tap the RESET button quickly. This enters bootloader mode, indicated by a pulsing LED, allowing recovery even with corrupted sketches.

Useful Resources for Arduino Nano 33 BLE Sense Development

ResourceDescription
Arduino Nano 33 BLE Sense DocumentationOfficial specs and tutorials
Arduino Nano 33 BLE Sense DatasheetComplete technical reference
Arduino Nano 33 BLE Sense PinoutPin diagram and functions
Edge Impulse StudioTinyML development platform
TensorFlow Lite MicroML framework for microcontrollers
Arduino Project HubCommunity projects and tutorials
Nordic nRF52840 DatasheetProcessor documentation

Frequently Asked Questions

Is the Arduino Nano 33 BLE Sense compatible with 5V sensors?

No. The Arduino Nano 33 BLE Sense operates at 3.3V and is NOT 5V tolerant. Connecting 5V signals directly to any I/O pin will permanently damage the board. Use logic level shifters when interfacing with 5V components. The 5V pin on the header is disconnected by default and doesn’t provide power.

What’s the difference between Arduino Nano 33 BLE and Nano 33 BLE Sense?

The Arduino Nano 33 BLE Sense includes all the built-in sensors (IMU, temperature, humidity, pressure, gesture, microphone), while the standard Nano 33 BLE has the same processor and BLE connectivity but without the sensors. Choose the Sense version if you need onboard sensing capability.

Can I run TensorFlow models on the Arduino Nano 33 BLE Sense?

Yes. The board’s ARM Cortex-M4F processor with floating-point unit, combined with 1MB flash and 256KB SRAM, supports TensorFlow Lite Micro models. Platforms like Edge Impulse and SensiML provide complete workflows for training and deploying ML models to this board.

How do I know if I have Rev1 or Rev2?

Check the silkscreen printing on the bottom of your board. Rev2 boards are clearly marked “NANO 33 BLE SENSE REV2.” This matters because the IMU and temperature/humidity sensors differ between versions, requiring different Arduino libraries.

What is the battery life of the Arduino Nano 33 BLE Sense?

Battery life varies significantly based on usage. In deep sleep mode, the nRF52840 can draw as little as 2µA, enabling months of operation on a coin cell. Active sensing with BLE transmission typically draws 10-20mA, providing hours of operation on small LiPo batteries. Use the low-power modes in Mbed OS to maximize battery life.

Conclusion

The Arduino Nano 33 BLE Sense stands out as one of the most capable development boards for sensor-based applications. Having temperature, humidity, pressure, motion, gesture, and audio sensing built directly onto a breadboard-compatible board eliminates countless hours of hardware integration and opens possibilities that would otherwise require significant engineering effort.

Whether you’re prototyping a wearable fitness tracker, building an environmental monitoring system, or exploring machine learning at the edge, the Arduino Nano 33 BLE Sense provides the sensors, processing power, and connectivity you need in a remarkably compact package.

Start with simple sensor readings to understand each component, then gradually combine them into more sophisticated applications. The extensive Arduino library support and active community ensure you’ll find help when needed, and the TinyML capabilities offer a pathway into cutting-edge embedded machine learning.

The future of smart, connected devices starts small—and the Arduino Nano 33 BLE Sense proves that small doesn’t mean limited.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Sales & After-Sales Service

Contact & Quotation

  • Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.

  • Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.

Drag & Drop Files, Choose Files to Upload You can upload up to 3 files.

Notes:
For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.