🛠 Premier périphérique BLE avec le nRF Connect SDK
El SDK a utilizar
El nRF Connect SDK (NCS) es el SDK oficial para el nRF52833: la Product Brief del kit indica textualmente que el NCS es el SDK de desarrollo de este SoC, con soporte para la placa. Integra Zephyr RTOS, la pila Bluetooth LE/mesh y el port de OpenThread. El objetivo se denomina nrf52833dk/nrf52833. El antiguo nRF5 SDK (v16.0.0 citado en la User Guide de 2019) es heredado — para un nuevo proyecto BLE, utilice el NCS.
Paso 1 — Instalar el NCS
Lo más sencillo: el instalador gráfico « nRF Connect for Desktop » con su gestor de toolchain, luego west init -m 0 --mr main ncs y west update. La vía Zephyr upstream también funciona en esta placa (está « Maintained » en upstream); los ejemplos siguientes funcionan en ambos árboles.
Paso 2 — El firmware publicitario
Un advertiser conectable mínimo, tal como se documenta para la placa:
/* beacon.c — NCS 2.x ; sur Zephyr récent BT_LE_ADV_CONN
* est devenu BT_LE_ADV_CONN_FAST_1 */
#include <zephyr/kernel.h>
#include <zephyr/sys/util.h>
#include <zephyr/bluetooth/bluetooth.h>
static const struct bt_data ad[] = {
BT_DATA_BYTES(BT_DATA_FLAGS, BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR),
BT_DATA(BT_DATA_NAME_COMPLETE, CONFIG_BT_DEVICE_NAME,
sizeof(CONFIG_BT_DEVICE_NAME) - 1),
};
int main(void)
{
bt_enable(NULL);
if (bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), NULL, 0)) {
return 0;
}
while (1) {
k_sleep(K_SECONDS(1)); /* la radio tourne en ISR/threads */
}
}
En prj.conf: CONFIG_BT=y y CONFIG_BT_DEVICE_NAME="mon-dk". Build y flash mediante el J-Link OB (cable en J2):
west build -b nrf52833dk/nrf52833 mon-projet && west flash
Paso 3 — Ver la señal desde el teléfono
Instale nRF Connect for Mobile (Nordic, Android/iOS): escaneo → aparece mon-dk → conéctese. Para un escenario completo de servicio GATT + notificaciones, el sample peripheral_uart (Nordic UART Service) es el siguiente paso; los samples Bluetooth de Zephyr upstream se compilan tal cual en nrf52833dk.
Las opciones de radio que le abren puertas
El nRF52833 no es un BLE genérico — la Product Spec v1.7 documenta:
- 4 velocidades LE: 2 Mbps, 1 Mbps, 500 kbps y 125 kbps (Long Range, sensibilidad −103 dBm);
- Direction Finding AoA/AoD (radiogoniometría BLE 5.1+);
- multiprotocolo: la misma radio también hace Bluetooth mesh, IEEE 802.15.4 (Thread/Zigbee) y 2,4 GHz propietario;
- potencia de emisión −20 a +8 dBm en pasos de 4 dB — por el lado de la pila, la antena PCB del kit está ahí; para mediciones conducidas, vea el tutorial del conector RF.
Trampas
- El puerto COM virtual del J-Link OB (pines P0.05-P0.08 del SoC) sirve para los logs: su terminal debe afirmar DTR, si no, no hay salida.
- No confundir con los antiguos samples del SDK nRF5 + SoftDevice S140: en NCS/Zephyr, el controlador BLE está integrado en el build, no hay ningún SoftDevice que fusionar.
- Un sample compilado para
pca10056no mapea los botones/LED del PCA10100: manténgase en el objetivo correcto.
Otros tutoriales para esta placa
- Premier blinky Zephyr sur le nRF52833-DK
- Flasher un .hex sans rien installer : MSD et nRF Connect Programmer
- CircuitPython sur le kit Nordic : le prototypage sans C
- 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