🛠 Thread/OpenThread sous Zephyr et mises à jour DFU/UF2

Adafruit Feather nRF52840 Express · avance · Schéma : IMG-nrf52840-feather-avance-3-nrf52840-thread-openthread-dfu.svg — Feather nRF52840 en nœud Thread (IEEE 802.15.4) reliée à un border router, flash par glisser-déposer UF2 vers le lecteur FTHR840BOOT, chaîne de mise à jour annotée.

Objectives

Move beyond BLE: the nRF52840 is also an IEEE 802.15.4 radio and a first-class Zephyr target (ieee802154-supported, OpenThread/Thread support documented by Zephyr). You will compile the OpenThread CLI sample for the nRF52840 target, flash it via the Adafruit UF2 bootloader, and then review the update methods: UF2 drag-and-drop, nrfutil serial DFU, and BLE OTA.

Hardware

Complete Code

# 1) Compiler l'echantillon OpenThread CLI pour nRF52840 (cible DK = meme SoC)
west init -m https://github.com/zephyrproject-rtos/zephyr --mr main ot-ws
cd ot-ws && west update
cd zephyr
west build -b nrf52840dk/nrf52840 samples/net/openthread/cli

# 2) Flash : soit par SWD (2x5 0.05" de la Feather, J-Link/DAPLink) :
west flash --runner jlink
#    soit en UF2 : double-clic RST -> NeoPixel vert -> lecteur FTHR840BOOT,
#    convertir build/zephyr.bin en .uf2 (uf2conv.py -f 0xADF7) puis glisser.

# 3) Console serie (115200) : commands OpenThread
#    dataset init new / dataset commit active / ifconfig up / thread start
#    thread state  ->  "leader" ou "child"

Expected Verification

thread state responds "child" after thread start when a border router is active; ping to an IPv6 address on the Thread network traverses the 802.15.4 radio. Regarding updates: dragging a UF2 file onto FTHR840BOOT reprograms the board without any JTAG tools — the boot chain is the preinstalled open-source Adafruit nRF52 UF2 bootloader.

Common Errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials