Arduino Nicla Sense ME: Your All-in-One Sensor Hub
The Arduino Nicla Sense ME is a compact, powerful board designed for intelligent sensing applications, integrating a rich suite of environmental and motion sensors with a capable microcontroller.
The Arduino Nicla Sense ME is a highly integrated microcontroller board developed by Arduino, specifically designed for edge AI and intelligent sensing applications. It's part of the Arduino Nicla family, which focuses on compact, powerful solutions for IoT and embedded projects. This board stands out due to its inclusion of a comprehensive sensor array directly on the PCB, making it an excellent choice for projects requiring environmental monitoring, gesture recognition, or general motion analysis.
At its core, the Nicla Sense ME features the STMicroelectronics BHI260AP (a 6-axis IMU with integrated AI capabilities) and the Bosch BMP390 (a high-precision barometric pressure sensor). These are complemented by a Bosch BME280 sensor, which measures temperature, humidity, and atmospheric pressure. The microcontroller responsible for managing these sensors and running user code is the nRF52832, a popular and energy-efficient System on Chip (SoC) from Nordic Semiconductor.
The nRF52832 is a 32-bit ARM Cortex-M4F processor, offering a good balance of performance and low power consumption, making the Nicla Sense ME suitable for battery-powered applications. Its integrated Bluetooth Low Energy (BLE) capabilities further enhance its utility for wireless data transmission. This board is ideal for makers, students, and embedded engineers looking to develop advanced sensor-based projects without the complexity of integrating multiple discrete sensors and communication modules.
Released around 2021, the Nicla Sense ME addresses the growing demand for compact, intelligent edge devices. Its pre-integrated sensor suite significantly reduces development time and board complexity, allowing users to focus on algorithm development and application logic. It's particularly well-suited for applications like environmental monitoring stations, wearable fitness trackers, predictive maintenance systems, and smart home devices that require sophisticated environmental and motion data.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Nordic Semiconductor nRF52832 (with ST BHI260AP IMU and Bosch environmental sensors) |
| Architecture | 32-bit ARM Cortex-M4F |
| Clock speed | 64 MHz |
| Flash / Storage | 512 KB |
| RAM / SRAM | 64 KB |
| Operating voltage | 3.3V |
| Digital I/O pins | 11 (many with multiple functions) |
| Analog / ADC | 6x 12-bit ADC channels |
| PWM | Yes (available on multiple GPIOs) |
| Connectivity | Bluetooth Low Energy (BLE) 5.0 |
| USB | Micro-USB for programming and power |
| Power input | 5V via Micro-USB or VIN pin, 3.3V via 3V3 pin |
| Dimensions | 22.7mm x 17.6mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| GND | Ground |
| 3V3 | 3.3V Power Output |
| VIN | Power Input (5V recommended) |
| P0.00 | GPIO, UART0 TX, I2C0 SDA, SPI0 MOSI |
| P0.01 | GPIO, UART0 RX, I2C0 SCL, SPI0 MISO |
| P0.02 | GPIO, I2C0 SCK, SPI0 SCK |
| P0.03 | GPIO, I2C0 SDA, SPI0 CSn |
| P0.04 | GPIO, ADC0 |
| P0.05 | GPIO, ADC1 |
| P0.06 | GPIO, ADC2 |
| P0.07 | GPIO, ADC3 |
| P0.08 | GPIO, ADC4 |
| P0.09 | GPIO, ADC5 |
| P0.10 | GPIO, PWM0 |
| P0.11 | GPIO, PWM1 |
| P0.12 | GPIO, PWM2 |
| P0.13 | GPIO, PWM3 |
| P0.14 | GPIO, SPI1 MOSI |
| P0.15 | GPIO, SPI1 MISO |
| P0.16 | GPIO, SPI1 SCK |
| P0.17 | GPIO, SPI1 CSn |
| P0.18 | GPIO, UART1 TX |
| P0.19 | GPIO, UART1 RX |
| P0.20 | GPIO, I2C1 SDA |
| P0.21 | GPIO, I2C1 SCL |
| P0.22 | GPIO |
| P0.23 | GPIO |
| P0.24 | GPIO |
| P0.25 | GPIO |
| P0.26 | GPIO |
| P0.27 | GPIO |
| P0.28 | GPIO |
| P0.29 | GPIO |
| P0.30 | GPIO |
| P0.31 | GPIO |
| NRF_RST | Reset Pin |
Wiring & circuit basics
Powering the Arduino Nicla Sense ME is straightforward. You can supply power via the Micro-USB port (typically 5V) or the VIN pin, which also accepts a 5V input. The board has an onboard voltage regulator that steps this down to the 3.3V required by the nRF52832 microcontroller and its peripherals. The 3V3 pin provides access to this regulated 3.3V supply, which can be used to power external components, but be mindful of the current limitations of the onboard regulator. Always ensure your power source can provide sufficient current, especially if powering multiple external devices. Avoid connecting higher voltages directly to the 3V3 pin, as this can damage the board.
The Nicla Sense ME operates at a logic level of 3.3V. This means that any external components you connect, such as sensors or LEDs, should also be 3.3V compatible. Connecting a 5V device directly to a 3.3V GPIO pin might not damage the board immediately, but it's not recommended for reliable operation. Conversely, connecting a 3.3V output from the Nicla Sense ME to a 5V input might not be recognized by the 5V device due to the voltage difference. If you need to interface with 5V logic devices, you will require a level shifter.
For example, to blink an LED, connect the anode (longer leg) of an LED to a digital pin (e.g., P0.10, which supports PWM) through a current-limiting resistor (typically 220-330 ohms for a standard LED). Connect the cathode (shorter leg) of the LED to a GND pin. To connect an I2C sensor like a common DHT22 (though the BME280 is already onboard, this is for demonstration), you would typically connect the sensor's VCC to the 3V3 pin, GND to a GND pin, SDA to the board's SDA pin (e.g., P0.01), and SCL to the board's SCL pin (e.g., P0.02).
Programming & getting started
The primary toolchain for programming the Arduino Nicla Sense ME is the Arduino IDE. You'll need to install the 'Arduino nRF52 Boards' support package via the Board Manager, which includes the necessary core libraries for the nRF52832. Once installed, you can select the 'Arduino Nicla Sense ME' from the board list. Uploading code is done via the Micro-USB port. Connect the board, select the correct COM port, and click the Upload button. For more advanced development, PlatformIO with VS Code is also a popular choice, offering better project management and library handling. MicroPython and CircuitPython support might also be available through community efforts or specific firmware builds.
To upload your first program, connect the Nicla Sense ME to your computer via Micro-USB. Open the Arduino IDE, go to File > Examples > 01.Basics > Blink. Select 'Arduino Nicla Sense ME' from the Tools > Board menu and the correct COM port from Tools > Port. Then, click the Upload button. The onboard LED (usually connected to pin P0.13) should start blinking, confirming that your development environment is set up correctly and the board is functioning.