🛠 Flasher un .hex sans rien installer : MSD et nRF Connect Programmer
The four entry points of the kit
The nRF52833-DK User Guide documents several programming methods, all via the J-Link OB interface MCU connected to port J2:
- MSD drag-and-drop: The J-Link OB exposes a mass storage device; dropping a
.hexfile programs it directly. - nRF Connect Programmer (graphical interface of nRF Connect for Desktop).
- nrfjprog (command line of the nRF Command Line Tools).
- west flash / IDE (SES, Keil, IAR) via the J-Link debugger.
Drag-and-drop is unbeatable for testing a provided hex file without installing a toolchain: no SDK, no west, no specific driver.
Step 1 — Programming via drag-and-drop
- Connect the kit via micro-USB to connector J2 (the one for the interface MCU, not J3).
- A removable drive appears on your machine.
- Drop your
firmware.hexonto this drive; the copy programs the nRF52833 flash. - Press the kit's Reset button: the new firmware starts.
If your image comes from the nRF5 SDK with SoftDevice (everything that does BLE), remember that the application hex alone is not enough: you need a merged SoftDevice + application image (mergehex tool), otherwise the board programs without broadcasting anything. Zephyr/NCS builds, on the other hand, produce a standalone hex.
Step 2 — The tool-based alternatives
nrfjprog --program firmware.hex --chiperase -f # efface, programme, redémarre
nrfjprog --reboot
nRF Connect Programmer does the same thing graphically: select the "nRF52833" target, load the hex, click Write. It is also the recommended tool for reading/writing the flash protection configuration.
Step 3 — The virtual COM port to view logs
The J-Link OB also exposes a virtual COM port connected to the SoC's P0.05-P0.08 pins (up to 1 Mbit/s with hardware handshake). Two pitfalls documented in the User Guide:
- The terminal must assert DTR, otherwise the UART lines remain in tri-state and you see nothing.
- As long as a serial terminal is connected, the kit's current measurements are skewed (the USB-to-serial converter consumes power) — disconnect it to profile consumption.
The freezing MSD reader: recovery
The User Guide (§7.3) is explicit: under Windows, defragmentation, an antivirus scan (or quarantining the drive's pseudo-file), or an attempt to USB boot from the drive can make the interface MCU unresponsive. Recovery: cut the power (unplug the USB), replug it — the J-Link OB restarts. To avoid the problem, J-Link Commander allows disabling mass storage: command msddisable (and msdenable to re-enable it).
Verify that it works
After Reset, LED1 (P0.13, active low) should react if your firmware blinks. If not: wrong image (SoftDevice not merged), wrong port (J3 instead of J2), or firmware that immediately turns off the LEDs — check with nRF Connect Programmer by reading back the flash.
Other tutorials for this board
- Premier blinky Zephyr sur le nRF52833-DK
- CircuitPython sur le kit Nordic : le prototypage sans C
- Premier périphérique BLE avec le nRF Connect SDK
- Projet firmware complet avec PlatformIO et la sonde J-Link embarquée
- Utiliser le DK comme sonde J-Link pour une cible externe
- Réseau Thread / 802.15.4 avec OpenThread sur le nRF52833