796 字
4 分钟
nRF52840 ProMicro 体验:强悍的低功耗开发板

最近入手了一块 nRF52840 ProMicro 开发板,性能和功耗都很亮眼,买来主要是想为之后的项目做原理验证。

1. 开发板参数#

项目参数
主控nRF52840,Cortex-M4F @ 64 MHz
存储1 MB Flash / 256 KB RAM
无线Bluetooth 5、802.15.4(Thread/Zigbee)、NFC-A
有线USB 2.0 全速
外设ADC、PWM、I2C、SPI、UART、PDM/I2S
供电USB-C / 锂电池,3.3V 逻辑

ProMicro NRF52840 引脚图

板子出厂带 Adafruit UF2 bootloader,插上电脑会以一个 U 盘的形式出现,固件编译好之后拖进去就能运行,竟然是这么神奇烧录方式。

2. 搭建官方 NCS 开发环境#

nRF52840 常见的开发路线有两条:PlatformIO/Arduino 和 Nordic 官方的 nRF Connect SDK(NCS,基于 Zephyr)。前者上手快,后者官方生态更完整。这次想认真试试官方栈,就在 VS Code 里装了 nRF Connect 扩展,把 SDK 和 toolchain 一起配好。

开发步骤大概是下面这样:

  1. 新建 Zephyr 工程,板型选 promicro_nrf52840/nrf52840/uf2;
  2. 编译生成 zephyr.uf2;
  3. 双击 RST–GND 进 bootloader,把 UF2 拖进 NICENANO。

这里注意板型后面的 /uf2 不能省,它对应 Adafruit bootloader 的 Flash 分区;选错的话固件烧进去跑不起来。

3. 第一个坑#

这块板子竟然没有 RST 按钮!

想要进 bootloader,得用镊子或杜邦线把 RST 和 GND 快速短接两次,间隔小于 500 ms。成功后状态灯会开始渐亮渐暗,电脑上会出现一个名为 NICENANO 的 U 盘,把 UF2 拖进去就烧录完成。

UF2 盘只在 bootloader 模式出现,烧完后 U 盘会消失;下次烧录再双击 RST–GND 即可。

4. 遇事不决先点灯#

按照惯例先用 LED 验证工具链。这块板的红色 LED 接在 P0.15(led0),蓝色 LED 是充电指示,不受固件控制。

贴上简简单单的点灯代码:

#include <zephyr/kernel.h>
#include <zephyr/drivers/led.h>
static const struct led_dt_spec led = LED_DT_SPEC_GET(DT_ALIAS(led0));
int main(void)
{
if (!led_is_ready_dt(&led)) {
return -1;
}
while (1) {
led_on_dt(&led);
k_msleep(500);
led_off_dt(&led);
k_msleep(500);
}
return 0;
}

prj.conf 里打开 CONFIG_LED=y 和 CONFIG_GPIO=y 即可。

5. 低功耗#

nRF52840 在低功耗上做了不少设计,主要可以看这几处:

  • System ON 空闲:CPU 执行 WFI 后,内核时钟和外设时钟可以关掉,只留 RTC 等必要模块工作,电流在 µA 级;有 BLE 事件或中断时再醒来。
  • System OFF:CPU、射频和大部分外设关闭,只保留 GPIO、NFC 或复位这类唤醒源,电流可以到亚 µA 级,适合长期待机的设备。
  • 事件驱动的射频:BLE 广播和连接都按间隔工作,两次事件之间射频是关的。广播间隔拉长、连接间隔加大、发射功率降低,平均电流都会跟着下降。
  • PPI 和 EasyDMA:外设之间可以自己触发和搬运数据,CPU 不用一直参与,能更长时间保持休眠。
  • 片上 DC/DC:如果用上了 nRF52840 内置的 DC/DC 转换器,电池供电时效率会比纯 LDO 方案更高,能减少一部分损耗。

6. 总结#

这块 nRF52840 ProMicro 的硬件很讨喜:超迷你尺寸、锂电充电、USB-C、BLE 5 和低功耗非常齐全,价格也不高。它的短板同样明确:没有 Wi-Fi,这方面不如 ESP32。

期待一下宝哥的新项目吧!

nRF52840 ProMicro 体验:强悍的低功耗开发板
https://cmder.xyz/posts/nrf52840-promicro/
作者
宝哥
发布于
2026-11-07
许可协议
CC BY-NC-SA 4.0
目录
1
1. 开发板参数
2
2. 搭建官方 NCS 开发环境
3
3. 第一个坑
4
4. 遇事不决先点灯
5
5. 低功耗
6
6. 总结