🛠 CircuitPython sur le kit Nordic : le prototypage sans C

nRF52833-DK (boards.json id: nrf52833-dk) · debutant · Il existe un build CircuitPython officiel pour la carte (id pca10100) : code.py, sauvegarde, la LED clignote — idéal pour valider le kit avant d'attaquer le C.

Why CircuitPython on this kit?

CircuitPython publishes an official build for the board ID pca10100, which is the Nordic nRF52833-DK. The SoC is well-suited for it: Cortex-M4 @ 64 MHz, 512 KB of flash, 128 KB of RAM, and the kit includes everything needed to get started without soldering: 4 user LEDs (P0.13-P0.16, active low), 4 buttons (P0.11, P0.12, P0.24, P0.25, active low, no external pull-up), and the J-Link OB interface, which serves as both a programmer and a serial console. This is the shortest path to getting familiar with the board before moving on to the nRF Connect SDK.

Step 1 — Download the firmware

On the CircuitPython board page (circuitpython.org/board/pca10100/), download the latest .hex (or .uf2 if available) for pca10100. Pin the version: CircuitPython APIs evolve between releases.

Step 2 — Flash the firmware onto the kit

The kit does not have a UF2 bootloader; you program it like any other Nordic hex file:

Always connect the micro-USB cable to J2 (the interface MCU connector).

Step 3 — First script

Once CircuitPython has started, a CIRCUITPY drive appears. Create/edit code.py:

# code.py — CircuitPython build pca10100
import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED1)   # le DK a 4 LED utilisateur
led.direction = digitalio.Direction.OUTPUT
while True:
    led.value = not led.value
    time.sleep(0.3)

Save the file: the code restarts automatically. The REPL is available on the J-Link OB serial port (remember to enable DTR in your terminal, otherwise UART lines remain inactive).

Limitations to know

Moving to the next step

Once you are comfortable with GPIO and buttons, the same kit awaits you for BLE with the nRF Connect SDK or upstream Zephyr: the Zephyr blinky and BLE advertising tutorials for this board take over from here.

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials