nRF52840-MDK (id boards.json : nrf52840-mdk)
⚡ L’essentiel en 60 secondes
- cpu — Arm Cortex-M4 with FPU @ 64 MHz — Nordic comparison table ("64 MHz Arm Cortex-M4 with FPU") and PlatformIO (Frequency 64MHz) (, ). No GPU.
- memory — 1 MB flash + 256 KB RAM (both sources above; also the board wiki).
- radio_2_4_ghz_multiprotocol — Bluetooth Low Energy (board marketed "Bluetooth 5" in 2018; Nordic's current table lists the family as BT 5.4), Bluetooth Mesh, Thread / Zigbee / IEEE 802.15.4, ANT, 2.4 GHz proprietary (wiki + Nordic table). TX power +8 dBm — MakerDiary's own nRF52840 product descriptions: "2.4 GHz Transceiver with +8 dBm TX Power" (makerdiary.com/products.json, fetched 2026-10-14).
- security — Arm TrustZone + CryptoCell 310 hardware crypto subsystem (board wiki; "TrustZone® Cryptocell 310 Security Subsystem" in MakerDiary's product feed).
- peripherals — on-chip USB 2.0 Full-speed device controller, NFC-A tag, QSPI and High-Speed SPI, PWM/PDM/I2S, 12-bit ADC + COMP (Nordic table "ADC, Comp"; wiki).
- gpio — Nordic's table lists 48 GPIOs for the nRF52840 (package-dependent, QFN48 / WLCSP).
- Sur cette fiche : 9 tutoriels · 10 codes
La nRF52840-MDK est une carte de développement électronique conçue par MakerDiary, une entreprise basée à Shenzhen, qui se distingue par son approche ouverte et son coût d'entrée particulièrement bas. Il s'agit d'un kit de développement matériel (MDK pour Micro Development Kit) entièrement open-source, dont la conception est sous licence MIT. Lancée aux alentours de 2018, cette carte reste active et disponible à la vente en 2026, proposée à un prix avoisinant les 30 euros. Elle constitue une alternative économique et flexible aux kits officiels souvent plus coûteux, tout en offrant une intégration remarquable des outils de développement. Le cœur de cette carte est le système sur puce (SoC) nRF52840 de Nordic Semiconductor. Pour comprendre la puissance de ce composant, il faut savoir qu'il intègre un processeur Arm Cortex-M4 cadencé à 64 MHz, accompagné d'une unité de calcul en virgule flottante (FPU) qui accélère les opérations mathématiques complexes, utiles pour le traitement de signaux ou les algorithmes de contrôle. La mémoire disponible est généreuse pour ce type de microcontrôleur, avec 1 Mo de mémoire flash pour stocker le programme et 256 Ko de mémoire vive (RAM) pour les données temporaires. L'atout majeur de ce SoC réside dans sa radio multiprotocole fonctionnant sur la bande des 2,4 GHz. Cela signifie que la carte peut communiquer via plusieurs standards sans fil : le Bluetooth Low Energy (BLE), le Bluetooth Mesh pour les réseaux de capteurs, ainsi que les protocoles Thread, Zigbee et IEEE 802.15.4, très utilisés dans la domotique et l'Internet des objets. Elle supporte également le protocole ANT et permet des communications propriétaires sur la fréquence 2,4 GHz. La puissance d'émission est de +8 dBm, ce qui offre une portée raisonnable pour la plupart des applications domestiques ou industrielles. En matière de sécurité, le nRF52840 intègre des blocs matériels dédiés, notamment TrustZone et le CryptoCell 310, qui permettent de chiffrer les données et de gérer les clés cryptographiques sans solliciter le processeur principal, améliorant ainsi la sécurité et l'efficacité énergétique.
L'architecture de la carte a été pensée pour simplifier la vie du développeur. Un aspect crucial est la présence d'un débogueur intégré de type DAPLink. Pour un débutant, cela signifie qu'il n'est pas nécessaire d'acheter un outil de programmation externe coûteux. En branchant la carte via son port USB de type C, l'ordinateur la reconnaît comme un périphérique de stockage amovible. Il suffit alors de glisser-déposer un fichier de compilation (généralement un fichier .hex) sur cette unité pour que le programme soit installé sur la carte. Le DAPLink fournit également un port série virtuel, permettant d'afficher les messages de diagnostic de votre code sur l'écran de votre ordinateur. Une particularité technique intéressante de la nRF52840-MDK est sa gestion des ports USB. Contrairement à beaucoup de cartes où le port USB sert uniquement à la programmation, ici, le contrôleur USB natif du nRF52840 est également accessible. Cela est rendu possible par un hub USB interne, ce qui permet à la carte de se comporter comme un périphérique USB à part entière, utile pour créer des dongles Bluetooth ou des interfaces HID. Cette flexibilité est renforcée par la possibilité de choisir entre une antenne chip intégrée, discrète et suffisante pour la plupart des cas, ou une connexion externe via un connecteur U.FL pour y brancher une antenne plus performante si la portée doit être augmentée.
Sur le plan des entrées/sorties, la carte offre une grande modularité grâce à deux rangées de connecteurs à 18 broches, compatibles avec les plaques d'essai (breadboards). Bien que le SoC puisse gérer jusqu'à 48 broches d'entrée/sortie générale (GPIO), la carte en expose jusqu'à 24, ce qui est largement suffisant pour connecter des capteurs, des actionneurs ou des écrans. Il est important de noter qu'aucun capteur environnemental ou de mouvement n'est intégré sur la carte elle-même ; l'utilisateur doit donc ajouter les capteurs nécessaires selon son projet. Pour le stockage de données, la carte embarque une mémoire flash externe de 8 Mo (64 Mbit) reliée via une interface QSPI, idéale pour enregistrer des logs ou stocker des mises à jour du logiciel (OTA). L'alimentation est gérée par un régulateur de tension capable de fournir jusqu'à 1 ampère en pointe, acceptant une tension d'entrée comprise entre 1,7 V et 5,5 V. Il n'y a pas de circuit de charge pour batterie intégré, mais la carte peut être alimentée directement par une source externe connectée à la broche VIN. Les dimensions compactes de 50 x 23 mm permettent une intégration facile dans des boîtiers ou des prototypes.
L'écosystème logiciel est riche et varié, soutenu par une communauté active. La carte est officiellement prise en charge par Zephyr RTOS, un système d'exploitation temps réel populaire et maintenu par la Linux Foundation, ce qui signifie que les outils de compilation standard fonctionnent directement. Elle est également compatible avec le SDK nRF5 de Nordic, ainsi qu'avec des environnements comme PlatformIO, qui simplifie la gestion des dépendances et la compilation multi-projets. Des guides existent pour des systèmes comme OpenThread, Mynewt ou RIOT OS. Bien que le support Arduino officiel ne soit pas fourni par le fabricant, des noyaux communautaires permettent souvent de faire fonctionner des croquis Arduino sur des cartes génériques nRF52840. De même, le langage Rust est supporté via une bibliothèque communautaire. Il faut cependant garder à l'esprit que certains exemples fournis dans le dépôt GitHub peuvent avoir pris du retard par rapport aux dernières versions des bibliothèques logicielles, nécessitant parfois des ajustements manuels. Des problèmes d'énumération USB sur certains systèmes d'exploitation, notamment macOS, ou des difficultés avec des outils de débogage spécifiques comme OpenOCD, ont été signalés par les utilisateurs, bien que des solutions de contournement existent, comme l'utilisation d'un débogueur externe J-Link. La nRF52840-MDK s'est illustrée dans des projets notables, tels que la création de clés de sécurité FIDO2 (OpenSK) ou comme nœud de test dans des infrastructures de recherche IoT. En résumé, cette carte offre un excellent rapport qualité-prix pour quiconque souhaite développer des applications sans fil multiprotocoles, avec une grande liberté matérielle et logicielle, à condition de bien comprendre les spécificités de son architecture USB et de ses outils de programmation intégrés.

Schéma de brochage (pinout)

| Attr | Specs | vérifié |
|---|---|---|
cpu | Arm Cortex-M4 with FPU @ 64 MHz — Nordic comparison table ("64 MHz Arm Cortex-M4 with FPU") and PlatformIO (Frequency 64MHz) (, ). No GPU. | ✔ |
memory | 1 MB flash + 256 KB RAM (both sources above; also the board wiki). | ? non vérifié |
radio_2_4_ghz_multiprotocol | Bluetooth Low Energy (board marketed "Bluetooth 5" in 2018; Nordic's current table lists the family as BT 5.4), Bluetooth Mesh, Thread / Zigbee / IEEE 802.15.4, ANT, 2.4 GHz proprietary (wiki + Nordic table). TX power +8 dBm — MakerDiary's own nRF52840 product descriptions: "2.4 GHz Transceiver with +8 dBm TX Power" (makerdiary.com/products.json, fetched 2026-10-14). | ? non vérifié |
security | Arm TrustZone + CryptoCell 310 hardware crypto subsystem (board wiki; "TrustZone® Cryptocell 310 Security Subsystem" in MakerDiary's product feed). | ? non vérifié |
peripherals | on-chip USB 2.0 Full-speed device controller, NFC-A tag, QSPI and High-Speed SPI, PWM/PDM/I2S, 12-bit ADC + COMP (Nordic table "ADC, Comp"; wiki). | ? non vérifié |
gpio | Nordic's table lists 48 GPIOs for the nRF52840 (package-dependent, QFN48 / WLCSP). | ? non vérifié |
supply_voltage | 1.7 v | ? non vérifié |
temperature | −40 °C to +85 °C (Nordic table). | ? non vérifié |
debugger | integrated DAPLink — MSC drag-and-drop programming, CDC virtual COM port, HID/WEBUSB-HID CMSIS-DAP debug channel. | ? non vérifié |
usb_topology | Microchip USB 2.0 Hi-Speed 2-port hub controller, downstream port 1 → DAPLink, downstream port 2 → nRF52840 native USB (the SoC enumerates directly — key for USB dongle/ble-usb applications). Reversible USB 3.1 Type-C connector. | ? non vérifié |
external_flash | ultra-low-power 64-Mbit (8 MB) QSPI FLASH. | ? non vérifié |
antenna | on-board 2.4 GHz chip antenna, with U.FL connector selectable for an external antenna (antenna selection for custom applications). | ? non vérifié |
user_i_o | programmable user button, RGB LED, IF Boot/Reset button. | ? non vérifié |
power | 3.3 V regulator with 1 A peak output, VBUS & VIN power-path management. | ? non vérifié |
mechanical | breadboard-friendly dual 18-pin headers; 50 × 23 × 13 mm with headers soldered (wiki). | ? non vérifié |
sensors | none on-board — the hardware feature list contains no environmental or motion sensor (wiki, 2026-10-14). | ? non vérifié |
- Fabricant : MakerDiary (Shenzhen), matériel open source ; dépôt sous licence MIT, « Copyright (c) 2019 makerdiary.com » (, consulté le 2026-10-14).
- Année : le dépôt GitHub makerdiary/nrf52840-mdk a été créé le 2018-07-06, premières issues ouvertes début 2019 (API created_at: 2018-07-06T01:52:11Z, consulté le 2026-10-14). Les fiches de vente (Seeed p-3079, Amazon B07MPPHY5B) datent de la fenêtre 2018–2019 ( « available on the following channels »).
- Statut (2026-10-14) : Actif / actuel. Référencé sur le flux de la boutique MakerDiary (consulté le 2026-10-14) sous le nom « nRF52840-MDK IoT Development Kit » à 29,90 €, aux côtés du nRF52840 MDK USB Dongle (PCBA) à 12,99 € et de la version w/ Case à 19,90 €.
- Prix de lancement :
- Variantes : - nRF52840-MDK V1.0 — la carte d'en-tête documentée ici (seule révision matérielle publiée ; le tableau Hardware Resource du wiki ne liste que V1.0, ). - nRF52840 MDK USB Dongle (PCBA et w/Case) — facteur de forme clé USB, livré avec un bootloader UF2, antenne intégrée, commercialisé pour Bluetooth 5.4 / mesh / Thread / Zigbee / ANT et comme sniffer BLE/802.15.4 avec Wireshark (, consulté le 2026-10-14). - Cartes sœurs nRF52840 du même fabricant (non MDK) : nRF52840 Connect Kit, nRF52840 M.2 Module / Developer Kit, Pitaya Go (flux de la boutique, 2026-10-14). L'ancienne nRF52832-MDK (V1/V2) est le prédécesseur à base de 51 .
+ Points forts
- Débogueur entièrement intégré à petit prix — DAPLink (MSC+CDC+CMSIS-DAP) derrière un hub USB HS Microchip, donc le contrôleur USB du nRF52840 est aussi exposé ; les DK de Nordic coûtent plusieurs fois plus cher (29,90 € vs tarifs DK Nordic, flux de la boutique 2026-10-14).
- Flexibilité d'antenne : antenne intégrée sur la carte plus U.FL pour une antenne externe, sélectionnable — rare à ce niveau de prix.
- Flash QSPI externe 64 Mbit pour la préparation OTA / la journalisation de données (wiki).
- Sécurité matérielle : TrustZone + CryptoCell 310 (wiki) — utilisés par le projet d'authentificateur OpenSK FIDO2 sur la famille MDK .
- Open source : dépôt sous licence MIT avec schéma V1.0, fichier de carte, PDF de pinout et STEP 3D en téléchargement (wiki Hardware Resource).
- Multiprotocole : BLE 5, Bluetooth Mesh, Thread, Zigbee, ANT, 2,4 GHz propriétaire depuis une carte à 30 € (wiki) ; la carte sœur USB-dongle sert aussi de sniffer BLE/ 802.15.4 Wireshark (wiki du dongle).
- Compatible breadboard avec double connecteurs 18 broches, 50 × 23 mm (wiki).
− Points faibles
- Échecs d'énumération USB : « USB port not recognized » (#53, 2022) et « Board and DAPLink does not show up at all on Mac » (#37, 2020) — le lecteur DAPLINK n'apparaît pas sur certains hôtes.
- Particularités macOS : « nRF connect does not recognise 'makerdiary' device on MacOS » (#47).
- Exemples périmés / dérive de la chaîne d'outils : dépôt poussé pour la dernière fois le 2021-05-28 (API GitHub, consulté le 2026-10-14) ; « bluetooth peripherial_hr sample not compiling » (#55) contre Zephyr 3.5+ ; « Documentation no longer accurate now that the nrf528xx have moved to openthread/ot-nrf528xx » (#52) ; « The example HEX file is invalid. » (#45) ; « script failed when doing zephyr test » (#42).
- Flash non persistant : « after make flash the code is not uploaded on board » (#31) ; les hex SoftDevice+app doivent être fusionnés avec mergehex avant le glisser-déposer (note du getting-started) — une variante fréquente auto-infligée de ce problème.
- Lacunes des exemples BLE/USB : « MAC address is 00:00:00:00:00:00 » dans hci_usb (#57) ; « USB_DEVICE_VID not set » (#56).
- Étrangeté I²C : « Peculiar i2c issue » (#44).
- Usage de l'antenne externe mal documenté : « How to use external antenna ? » (#51) — le chemin U.FL existe mais la procédure de sélection est succincte dans la doc.
- OpenOCD avec le DAPLink embarqué : le mainteneur du BSP Rust « was unable to get this working with the openocd that ships with ubuntu 18.04 » et est passé à J-Link ( README).
- Variante USB Dongle — risque de brique : flasher le hex du bootloader UF2 via le lecteur DAPLINK peut laisser le dongle dans un état instable (« Bricked device », Nordic DevZone, ).
- Windows < 10 nécessite le driver série Arm Mbed pour le port CDC (getting-started).
- Pas de support officiel Arduino/CircuitPython (voir Systèmes ; page de carte CircuitPython en 404).
- Retour d'expérience expert expert — expert-microcontroleur
- Je reviens vers vous avec un retour d'experience sur la nrf52840-mdk. C'est une carte très interessante pour son prix, surtout grace au debugger DAPLink integre et la possibilite d'utiliser soit l'antenne embarquée soit un port U.FL. Le SoC nRF52840 avec 1MB de flash est très solide. Par contre, at… — expert-microcontroleur
- Merci pour ce retour. Je confirme le point sur MacOS. J'ai passe deux soirees a essayer de faire reconnaitre la carte par nRF Connect sans succes, comme decrit dans l'issue 47. C'est frustrant car le hardware a l'air correct. Est-ce que quelqu'un a reussi a compiler les exemples de developpement re… — hobbyiste_ble
- Pour les problèmes de compilation, il faut souvent mettre à jour manuellement les modules Zephyr ou le SDK, car les exemples ne suivent pas. Concernant l'USB, si le hub Microchip pose problème, essayez de brancher la carte sur un port differents ou sans hub externe si possible. Malgre ces soucis de… — dev_embedded_fr
Retours et projets de la communauté
- Nrf52 makerdiary usb dongle - ESPHome - Home Assistant Community community.home-assistant.io
- Sniffing BLE with multiple NRF52840-DONGLEs? electronics.stackexchange.com
- Secure-by-design firmware development with Wasefire googblogs.com
- Échecs d'énumération USB : « USB port not recognized » (#53, 2022) et « Board and DAPLink does not show up at all on Mac » (#37, 2020) — le lecteur DAPLINK n'apparaît pas sur certains hôtes.
- Particularités macOS : « nRF connect does not recognise 'makerdiary' device on MacOS » (#47).
- Exemples périmés / dérive de la chaîne d'outils : dépôt poussé pour la dernière fois le 2021-05-28 (API GitHub, consulté le 2026-10-14) ; « bluetooth peripherial_hr sample not compiling » (#55) contre Zephyr 3.5+ ; « Documentation no longer accurate now that the nrf528xx have moved to openthread/ot-nrf528xx » (#52) ; « The example HEX file is invalid. » (#45) ; « script failed when doing zephyr test » (#42).
- Flash non persistant : « after make flash the code is not uploaded on board » (#31) ; les hex SoftDevice+app doivent être fusionnés avec mergehex avant le glisser-déposer (note du getting-started) — une variante fréquente auto-infligée de ce problème.
- Lacunes des exemples BLE/USB : « MAC address is 00:00:00:00:00:00 » dans hci_usb (#57) ; « USB_DEVICE_VID not set » (#56).
- Étrangeté I²C : « Peculiar i2c issue » (#44).
- Usage de l'antenne externe mal documenté : « How to use external antenna ? » (#51) — le chemin U.FL existe mais la procédure de sélection est succincte dans la doc.
- OpenOCD avec le DAPLink embarqué : le mainteneur du BSP Rust « was unable to get this working with the openocd that ships with ubuntu 18.04 » et est passé à J-Link ( README).
- Variante USB Dongle — risque de brique : flasher le hex du bootloader UF2 via le lecteur DAPLINK peut laisser le dongle dans un état instable (« Bricked device », Nordic DevZone, ).
- Windows < 10 nécessite le driver série Arm Mbed pour le port CDC (getting-started).
- Pas de support officiel Arduino/CircuitPython (voir Systèmes ; page de carte CircuitPython en 404).
- Faire clignoter la LED RGB avec Zephyr debutant Votre première LED sur le nRF52840-MDK : deux commandes west suffisent, le programmateur DAPLink est déjà embarqué sur la carte.
- Programmer par glisser-déposer via le DAPLink debutant Zéro outil à installer : déposez un .hex sur le lecteur DAPLINK et votre firmware tourne — à condition de savoir merger le SoftDevice.
- Diffuser une fréquence cardiaque BLE vers nRF Toolbox debutant La démo phare du wiki MakerDiary : un flash, un smartphone, et la courbe cardiaque apparaît dans l'app Nordic — la chaîne BLE complète validée.
- Monter un projet Zephyr complet avec PlatformIO intermediaire Une seule ligne de config et PlatformIO livre le compilateur, le framework Zephyr et le flashage CMSIS-DAP pour le nRF52840-MDK.
- Piloter une LED par Bluetooth LE avec le SDK nRF5 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.
- Utiliser la carte comme adaptateur Bluetooth USB sous Linux intermediaire Le nRF52840 a son propre contrôleur USB, exposé sur le hub de la carte : un sample Zephyr et Linux voit un vrai radio BLE hci0.
- Construire un réseau Thread avec OpenThread avance Frontière 802.15.4/IPv6 : un MDK comme RCP, un Raspberry Pi comme border router, un second MDK comme nœud — et le sniffer pour voir le mesh.
- Développer en Rust embarqué avec nrf52840-mdk-rs avance Le BSP communautaire nrf52840-mdk-rs apporte Rust sans std sur la carte : hal, pins, et un chemin de flash fiable malgré les soucis OpenOCD.
- Transformer la carte en clé de sécurité FIDO2 avec OpenSK avance Le projet FIDO2 open source de Google tourne sur la famille MDK : CryptoCell 310, USB natif en HID, et une clé d'authentification que vous buildez vous-même.
Bibliothèque de code — exemples écrits pour cette carte
led_blink.cCbouton_gpiote.cCconsole_uart.cCadc_saadc.cCpwm_fade.cCble_nus.cCsystem_off.cCwatchdog.cCnvcu_storage.cCapp_timer_rtc.cC
Exemples et dépôts trouvés en ligne
- nrfconnect/sdk-nrf github.com
- makerdiary/mynewt_nrf52840_mdk github.com
- nihalpasham/rtic-twim-twis-dma-demo github.com