🛠 Premier blinky Zephyr sur le nRF52833-DK

nRF52833-DK (id boards.json : nrf52833-dk) · debutant · Deux commandes west et la LED1 de votre kit Nordic s'anime : le débogueur J-Link est déjà embarqué sur la carte.

La carte en une minute

Le nRF52833-DK de Nordic Semiconductor (code carte PCA10100, ~49 US$ chez DigiKey) est le kit officiel autour du SoC nRF52833 : Arm Cortex-M4 avec FPU @ 64 MHz, 512 Ko de flash, 128 Ko de RAM, radio multiprotocole 2,4 GHz (BLE 5, Bluetooth mesh, Thread, Zigbee), USB, NFC et ADC 12 bits. Format Arduino Uno Rev3 (3,3 V uniquement), 42 E/S accessibles sur connecteurs, et surtout un MCU d'interface SEGGER J-Link OB embarqué : débogage, programmateur et port COM virtuel, sans aucun matériel externe. La carte est maintenue dans Zephyr amont sous le nom nrf52833dk.

Étape 1 — Installer la chaîne Zephyr

Suivez le Getting Started Guide officiel de Zephyr pour votre OS (CMake, Ninja, Python 3, toolchain Cortex-M, puis west) :

python3 -m venv .venv && source .venv/bin/activate   # Windows : .venv\Scripts\activate
pip install west
west init zephyrproject
cd zephyrproject && west update

Côté matériel, le User Guide demande un simple câble micro-USB et un J-Link logiciel v6.52 ou plus récent installé sur l'hôte.

Étape 2 — Brancher le kit

Le kit dispose de deux connecteurs micro-USB : J2 pour le MCU d'interface J-Link OB, J3 pour l'USB natif du nRF52833. Pour flasher, branchez le câble sur J2. Le programmeur embarqué reconnaît la carte sans configuration.

Étape 3 — Compiler et flasher

west build -b nrf52833dk/nrf52833 samples/basic/blinky
west flash

La LED1 doit clignoter. Les 4 LED utilisateur sont sur P0.13 à P0.16, actives au niveau bas (elles s'allument quand la broche passe à 0) ; des ponts de soudure SB5-SB8 permettent de les déconnecter. Le même PCB existe en cible nRF52820 (256 Ko flash / 32 Ko RAM) : west build -b nrf52833dk/nrf52820 ....

Étape 4 — Comprendre le code

Le devicetree de la carte définit l'alias led0 (LED1 = P0.13), d'où l'exemple standard :

#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>

static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(DT_ALIAS(led0), gpios);

int main(void)
{
        gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
        while (1) {
                gpio_pin_toggle_dt(&led);   /* LED active-low sur le DK */
                k_msleep(500);
        }
}

Pièges connus

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels