Pro Micro nRF52840

More of a board type than a unique board, It is based on Nice!Nano. Also referred to as Pro Micro, Promicro, SuperMini nRF52840 boards.

Overview

The hardware provides support for the Nordic Semiconductor nRF52840 ARM Cortex-M4F CPU and the following devices:

  • ADC

  • CLOCK

  • FLASH

  • GPIO

  • I2C

  • MPU

  • NVIC

  • PWM

  • RADIO (Bluetooth Low Energy and 802.15.4)

  • RTC

  • SPI

  • UART

  • USB

  • WDT

Tenstar Pro Micro nRF52840

Tenstar Pro Micro nRF5284

More information about the original board can be found at the Nice!Nano website [1].

Information about clones can be found at Clone Wiki [2].

Pinout and Schematic are available in the Nice!Nano Documentation [3]

Supported Features

The promicro_nrf52840/nrf52840 board target supports the following hardware features:

Interface

Controller

Driver/Component

ADC

on-chip

adc

CLOCK

on-chip

clock_control

FLASH

on-chip

flash

GPIO

on-chip

gpio

I2C(M)

on-chip

i2c

MPU

on-chip

arch/arm

NVIC

on-chip

arch/arm

PWM

on-chip

pwm

RADIO

on-chip

Bluetooth, ieee802154

RTC

on-chip

system clock

SPI(M/S)

on-chip

spi

UART

on-chip

serial

USB

on-chip

usb

WDT

on-chip

watchdog

Connections and IOs

LED

  • LED0 = P0.15, can be any color.

Programming and Debugging

Applications for the promicro_nrf52840/nrf52840 board target can be built in the usual way (see Building an Application for more details).

Flashing

The board is factory-programmed with Adafruit’s UF2 booloader

#. Reset the board into the bootloader by bridging ground and RST 2 times quickly

The status LED should start a fade pattern, signalling the bootloader is running.

  1. Compile a Zephyr application; we’ll use Blinky.

    west build -b promicro_nrf52840/nrf52840/uf2 zephyr/samples/basic/blinky
    
  2. Flash it onto the board. You may need to mount the device.

    west flash
    

    When this command exits, observe the red LED on the board blinking,

Debugging

You may debug this board using the broken out pads on the back. PyOCD and openOCD can be used to flash and debug this board.

Recovery

In case of a error resulting in a board’s bootloader becoming inaccessible, it is possible to flash anything directly using openOCD:

  1. Setup OpenOCD correctly, here for WCH linkE in ARM mode:

    openocd -f interface/cmsis-dap.cfg -f target/nrf52.cfg
    

Note interface and target folders are from openOCD’s tcl folder.

  1. Connect to openOCD, for example with telnet or GDB:

    telnet localhost 4444
    
    target extended-remote localhost:3333
    
  2. Erase flash:

    reset halt
    nrf5 mass_erase
    

or

mon reset halt
mon nrf5 mass_erase
  1. Flash Bootloader

    flash write_image erase nice_nano_bootloader-0.9.2_s140_6.1.1.hex
    

or

mon flash write_image erase nice_nano_bootloader-0.9.2_s140_6.1.1.hex

References