🛠 Piloter une LED par Bluetooth LE avec le SDK nRF5

nRF52840-MDK (id boards.json : nrf52840-mdk) · intermediaire · Un service GATT personnalisé, une écriture depuis le téléphone, et la LED de la carte s'allume — le BLE applicatif de bout en bout.

L'objectif

ble_app_blinky est l'exemple didactique de Nordic : un service GATT personnalisé avec une caractéristique LED (écriture) et une caractéristique Button (notification). Vous écrivez depuis le téléphone, la LED RGB de la carte s'allume ; vous appuyez sur le bouton utilisateur, le téléphone reçoit la notification. C'est le meilleur exercice pour comprendre write/notify avant d'écrire son propre service.

Étape 1 — Compiler pour la carte

Le dépôt MakerDiary porte les exemples du SDK nRF5 (17.0.x, SoftDevice S140 6.1.1) vers la carte :

git clone https://github.com/makerdiary/nrf52840-mdk.git
cd nrf52840-mdk
make BOARD=nrf52840_mdk -C examples/nrf5-sdk/ble_app_blinky/s140/nrf52840

L'hex applicatif apparaît dans _build/ble_app_blinky_nrf52840_mdk.hex. Si la compilation échoue, vérifiez la version du SDK et de gcc-arm-none-eabi attendue par le Makefile — le dépôt n'est plus mis à jour depuis 2021.

Étape 2 — Merger SoftDevice + application

Le glisser-déposer exige une image unique ; oublier cette étape donne une carte qui flashe sans rien diffuser (issue #31) :

mergehex -m s140_nrf52_6.1.1_softdevice.hex \
           _build/ble_app_blinky_nrf52840_mdk.hex \
         -o firmware.hex

Déposez firmware.hex sur le lecteur DAPLINK, appuyez sur Boot/Reset.

Étape 3 — Piloter depuis nRF Connect

  1. Installez nRF Connect for Mobile (pas Toolbox : ici on veut l'accès GATT brut).
  2. Scannez et connectez-vous au périphérique DK.
  3. Dépliez le service personnalisé : la caractéristique LED accepte l'écriture — envoyez 01 et la LED s'allume, 00 l'éteint.
  4. Activez les notifications sur la caractéristique Button, appuyez sur le bouton utilisateur de la carte : la valeur change dans l'app.

Ce que vous maîtrisez après

SDK nRF5 ou nRF Connect SDK ?

Le SDK nRF5 est en héritage ; pour un projet neuf, Nordic pousse NCS (base Zephyr). nrf52840_mdk est une carte Zephyr amont — les builds compatibles NCS se font via les guides MakerDiary, mais la carte n'est pas listée nommément dans la doc Nordic. L'équivalent moderne du sample : samples/bluetooth/peripheral_blinky dans l'arbre Zephyr.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels