Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use nRF52840 ProMicro: Examples, Pinouts, and Specs

Image of nRF52840 ProMicro
Cirkit Designer LogoDesign with nRF52840 ProMicro in Cirkit Designer

Introduction

The nRF52840 ProMicro is a compact and versatile microcontroller development board based on the Nordic Semiconductor nRF52840 chip. It features a powerful ARM Cortex-M4F processor with floating-point support, Bluetooth 5.0, and 802.15.4 wireless communication capabilities. Designed for low-power applications, the nRF52840 ProMicro is ideal for IoT projects, wearable devices, wireless sensors, and other embedded systems requiring robust wireless connectivity.

Explore Projects Built with nRF52840 ProMicro

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered nRF52840 and HT-RA62 Communication Module
Image of NRF52840+HT-RA62: A project utilizing nRF52840 ProMicro in a practical application
This circuit is a wireless communication system powered by a 18650 Li-ion battery, featuring an nRF52840 ProMicro microcontroller and an HT-RA62 transceiver module. The nRF52840 handles the control logic and interfaces with the HT-RA62 for data transmission, while the battery provides the necessary power for the entire setup.
Cirkit Designer LogoOpen Project in Cirkit Designer
Bluetooth-Controlled Robotic Vehicle with Ultrasonic Obstacle Detection and Motion Sensing
Image of 아두이노 드론: A project utilizing nRF52840 ProMicro in a practical application
This circuit features a SparkFun Pro Micro microcontroller interfaced with an L298N DC motor driver to control two DC motors, an HC-SR04 ultrasonic sensor for distance measurement, a Bluetooth module HM-10 for wireless communication, and an MPU-6050 for motion tracking. The Pro Micro is responsible for processing sensor data and managing motor speeds and directions via the motor driver. Power is supplied by a 5V battery connected to the Pro Micro and a separate battery case providing 12V to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32 and Arduino Pro Mini Based Wireless Data Logger with OLED Display
Image of R8 Controller V1: A project utilizing nRF52840 ProMicro in a practical application
This circuit integrates multiple microcontrollers (Maple Mini STM32F1, nRF52840 ProMicro, and Arduino Pro Mini) to interface with various peripherals including an SSD1306 OLED display, an SD card module, and a Si4463 RF module. The circuit is designed for data acquisition, storage, and wireless communication, with power supplied through a USB Serial TTL module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Heart Rate Monitor using Seeed Studio nRF52840 and MAX30102
Image of Senior Design-Circuitry: A project utilizing nRF52840 ProMicro in a practical application
This circuit integrates a Seeed Studio nRF52840 microcontroller with a MAX30102 sensor module. The microcontroller powers the sensor and communicates with it via I2C protocol, enabling functionalities such as heart rate and SpO2 monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with nRF52840 ProMicro

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of NRF52840+HT-RA62: A project utilizing nRF52840 ProMicro in a practical application
Battery-Powered nRF52840 and HT-RA62 Communication Module
This circuit is a wireless communication system powered by a 18650 Li-ion battery, featuring an nRF52840 ProMicro microcontroller and an HT-RA62 transceiver module. The nRF52840 handles the control logic and interfaces with the HT-RA62 for data transmission, while the battery provides the necessary power for the entire setup.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of 아두이노 드론: A project utilizing nRF52840 ProMicro in a practical application
Bluetooth-Controlled Robotic Vehicle with Ultrasonic Obstacle Detection and Motion Sensing
This circuit features a SparkFun Pro Micro microcontroller interfaced with an L298N DC motor driver to control two DC motors, an HC-SR04 ultrasonic sensor for distance measurement, a Bluetooth module HM-10 for wireless communication, and an MPU-6050 for motion tracking. The Pro Micro is responsible for processing sensor data and managing motor speeds and directions via the motor driver. Power is supplied by a 5V battery connected to the Pro Micro and a separate battery case providing 12V to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of R8 Controller V1: A project utilizing nRF52840 ProMicro in a practical application
STM32 and Arduino Pro Mini Based Wireless Data Logger with OLED Display
This circuit integrates multiple microcontrollers (Maple Mini STM32F1, nRF52840 ProMicro, and Arduino Pro Mini) to interface with various peripherals including an SSD1306 OLED display, an SD card module, and a Si4463 RF module. The circuit is designed for data acquisition, storage, and wireless communication, with power supplied through a USB Serial TTL module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Senior Design-Circuitry: A project utilizing nRF52840 ProMicro in a practical application
Battery-Powered Heart Rate Monitor using Seeed Studio nRF52840 and MAX30102
This circuit integrates a Seeed Studio nRF52840 microcontroller with a MAX30102 sensor module. The microcontroller powers the sensor and communicates with it via I2C protocol, enabling functionalities such as heart rate and SpO2 monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • IoT (Internet of Things): Smart home devices, environmental monitoring, and industrial IoT.
  • Wearable Technology: Fitness trackers, health monitoring devices, and smart accessories.
  • Wireless Communication: Bluetooth Low Energy (BLE) applications, Zigbee, and Thread networks.
  • Prototyping and Development: Rapid prototyping for embedded systems and wireless solutions.

Technical Specifications

Key Technical Details

Parameter Value
Microcontroller Nordic Semiconductor nRF52840
Processor ARM Cortex-M4F (32-bit) with floating-point unit (FPU)
Clock Speed 64 MHz
Flash Memory 1 MB
RAM 256 KB
Wireless Protocols Bluetooth 5.0, 802.15.4, Zigbee, Thread, ANT, and proprietary protocols
Operating Voltage 3.3V
GPIO Pins 21 (configurable as digital I/O, PWM, ADC, etc.)
Communication Interfaces UART, SPI, I2C, USB 2.0, and QSPI
Power Supply USB or external power (1.7V to 5.5V)
Dimensions 33 mm x 18 mm

Pin Configuration and Descriptions

The nRF52840 ProMicro features a total of 21 GPIO pins, which can be configured for various functions. Below is the pinout description:

Pin Label Function
1 GND Ground
2 VCC Power input (3.3V)
3 D0 Digital I/O, UART RX
4 D1 Digital I/O, UART TX
5 D2 Digital I/O, PWM
6 D3 Digital I/O, PWM
7 D4 Digital I/O
8 D5 Digital I/O, PWM
9 D6 Digital I/O, PWM
10 D7 Digital I/O
11 A0 Analog input (ADC)
12 A1 Analog input (ADC)
13 A2 Analog input (ADC)
14 A3 Analog input (ADC)
15 SCL I2C Clock
16 SDA I2C Data
17 MOSI SPI Master Out, Slave In
18 MISO SPI Master In, Slave Out
19 SCK SPI Clock
20 USB+ USB Data Positive
21 USB- USB Data Negative

Usage Instructions

How to Use the nRF52840 ProMicro in a Circuit

  1. Powering the Board:

    • Connect the board to a USB port for power and programming.
    • Alternatively, supply an external voltage (1.7V to 5.5V) to the VCC pin.
  2. Programming the Board:

    • Use the Arduino IDE or Nordic's nRF Connect SDK for programming.
    • Select the appropriate board (e.g., "nRF52840 ProMicro") in the IDE.
  3. Connecting Peripherals:

    • Use the GPIO pins for interfacing with sensors, actuators, or other devices.
    • Configure pins as digital I/O, PWM, or ADC as needed.
  4. Wireless Communication:

    • Utilize Bluetooth 5.0 for BLE applications or 802.15.4 for Zigbee/Thread networks.
    • Use Nordic's SoftDevice stack for BLE development.

Important Considerations and Best Practices

  • Ensure the operating voltage of connected peripherals matches the board's 3.3V logic level.
  • Avoid exceeding the maximum current rating of GPIO pins (15 mA per pin).
  • Use appropriate pull-up or pull-down resistors for I2C and other communication protocols.
  • For optimal wireless performance, avoid placing the board near metal objects or sources of interference.

Example Code for Arduino UNO Integration

Below is an example of using the nRF52840 ProMicro to send data over Bluetooth using the Arduino IDE:

#include <ArduinoBLE.h> // Include the Arduino BLE library

BLEService customService("180A"); // Define a custom BLE service
BLEStringCharacteristic customCharacteristic("2A57", BLERead | BLEWrite, 20);

void setup() {
  Serial.begin(9600); // Initialize serial communication
  while (!Serial);

  if (!BLE.begin()) {
    Serial.println("Failed to initialize BLE!");
    while (1);
  }

  BLE.setLocalName("nRF52840 ProMicro"); // Set the BLE device name
  BLE.setAdvertisedService(customService); // Advertise the custom service
  customService.addCharacteristic(customCharacteristic);
  BLE.addService(customService);

  customCharacteristic.writeValue("Hello, BLE!"); // Set initial value
  BLE.advertise(); // Start advertising
  Serial.println("BLE device is now advertising...");
}

void loop() {
  BLEDevice central = BLE.central(); // Wait for a central device to connect

  if (central) {
    Serial.print("Connected to central: ");
    Serial.println(central.address());

    while (central.connected()) {
      if (customCharacteristic.written()) {
        String value = customCharacteristic.value();
        Serial.print("Received: ");
        Serial.println(value);
      }
    }

    Serial.println("Central disconnected.");
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. The board is not detected by the computer:

    • Ensure the USB cable is functional and supports data transfer.
    • Verify that the correct drivers are installed for the nRF52840 ProMicro.
  2. Wireless communication is unreliable:

    • Check for sources of interference (e.g., Wi-Fi routers, metal objects).
    • Ensure the antenna area on the board is not obstructed.
  3. Unable to upload code:

    • Confirm that the correct board and port are selected in the Arduino IDE.
    • Double-check the connections and ensure the board is powered.
  4. Peripheral devices are not responding:

    • Verify the wiring and ensure the peripherals are compatible with 3.3V logic.
    • Check the pin configuration in the code.

FAQs

  • Can the nRF52840 ProMicro operate on battery power? Yes, the board can be powered by a battery within the voltage range of 1.7V to 5.5V.

  • Does the board support USB communication? Yes, the nRF52840 ProMicro includes a USB 2.0 interface for data transfer and programming.

  • What is the maximum range of Bluetooth communication? The range depends on environmental factors but can reach up to 100 meters in open spaces.

  • Can I use the board for Zigbee or Thread applications? Yes, the nRF52840 chip supports 802.15.4, which is the basis for Zigbee and Thread protocols.


This concludes the documentation for the nRF52840 ProMicro. For further details, refer to the official datasheet and Nordic Semiconductor's resources.