

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.








| 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 |
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 |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Wireless Communication:
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.");
}
}
The board is not detected by the computer:
Wireless communication is unreliable:
Unable to upload code:
Peripheral devices are not responding:
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.