Este es el primero de una serie de posts que voy a dedicar a entender como se pasa de una tarjeta electrónica «vacia» a tener un dispositivo con un software mínimo que nos permita hacer tareas alucinantes como… encender un LED
Prólogo
Antes de meternos en harina tienes que saber unas cuantas cosas.
Lo primero, que la tarjeta que voy a utilizar es la Argon kit de la firma Particle.

Bread board, antena WiFi, cable USB, LEDs y resistencias.
Las características más destacables de esta placa son:
MCU Principal | Nordic Semiconductor nRF52840 SoC ARM Cortex-M4F 32-bit processor @ 64MHz 1MB flash, 256KB RAM |
MCU Secundario | Espressif ESP32-D0WD 2.4G Wi-Fi coprocessor |
SPI-Flash | 4MB |
I/O | 20 patillas de GPIO que pueden configurarse como PWM, I2C, SPI, UART |
JTAG | Connector SWD para usar In-Circuit Debuggers |
LED | 1 x LED RBC conectado a 3 de las salidas GPIO 1 x LED monocolor azul conectado a otra salida GPIO |
Carga | Conector para batería LiPo |
USB | Conector USB para alimentación / UART y grabación de Firmware mediante el bootloader. |
Botones | Reset y Mode |
¿Por qué esta placa?
Pues por dos motivos. Primero que es una placa que tenía en casa. Ya sabes, de esas que compras en una preventa mientras te prometes que no le pasará lo mismo que a las 15 anteriores…
…eso fue en noviembre de 2018
El segundo motivo es porque el MCU (SoC o como quieras llamarlo) principal de esta placa es de la marca Nordic Semiconductor en concreto de la familia nRF528xx.
Es una familia muy extendida desde hace 3-4 años en el mercado y NO HE TRABAJADO NUNCA CON ELLA.
Espera, ¿que?. ¿Y como se supone que vas a enseñarnos a hacer algo útil?
Una cosa que quiero demostrar con este tutorial es que teniendo claros unos conceptos básicos, puedes enfrentarte con cualquier Microcontrolador/Microprocesador/SoC (o el nombre molón que le pongan a la siguiente generación semiconductores) y salir victorioso.
Consiguiendo el mapa del tesoro
En esto de los sistemas embebidos, puesto que vas a meter en terrenos inexplorados lo primero que tenemos que conseguir es documentación.
¿Documentación sobre que? Pues sobre dos cosas
a) Esquema electrónico (o esquemático)
Lo que nos permitirá saber como está conectado todo.

Por ejemplo, en el extracto del esquemático del Argon Kit vemos que el LED RGB está conectado a 3 patillas que se llaman P0.13(Rojo), P0.14(Verde) y P0.15(Azul).
Que son esas patillas y que significan los nombres que tienen, lo veremos más adelante.
Si quieres ver el esquemático del Argon Kit. PINCHA AQUÍ
b) Manual de referencia
En este manual, que habitualmente tiene cientos de páginas el fabricante cuenta con pelos y señales todas las interioridades del chip en cuestión.
Secuencia de arranque, mapa de memoria, configuración de los periféricos, cuanta memoria flash tiene, cuanta memoria RAM, como se accede a ella, etc.
Además suele tener entremezclada información sobre características puramente electrónicas. Voltajes de operación, corrientes máximas, esquemas de conexión básicos, consideraciones a la hora de hacer un PCB para este chip, etc.
Si quieres ver el manual del nRF52840. PINCHA AQUÍ
!551 páginas de indómita e indigesta información!
Separando en grano de la paja
Como comentaba hace un momento, en el manual de referencia se mezclan datos de dos tipos que interesan a diferentes personas.
Por un lado información eléctrica/electrónica que interesa al diseñador de PCB o Ingeniero Electrónico que vaya a diseñar una placa con este SoC.
Y por otro lado información que necesita alguien que como nosotros quiera ejecutar algún SW en ese SoC.
Una de las cosas más importantes a la hora de desarrollar SW embebido para una tarjeta es saber extraer la información de este tipo de manuales y saber como aplicarla en nuestro software.
A lo largo de la serie veremos ejemplos concretos sobre como configurar diferentes periféricos del SoC en nuestro SW a partir de la información extraída del manual de referencia.
En el próximo capítulo…
En este primer capítulo hemos hecho las presentaciones y dado algunas pinceladas de cosas a tener en cuenta a la hora de convertir un ladrillo en algo útil.
En la segunda parte del post hablaremos de las herramientas SW que utilizaremos para dar vida a nuestro ladrillo.
Pero por hoy es suficiente, que no quiero provocar derrames cerebrales masivos nada más empezar.
Una respuesta a «El ladrillo que se convierte en un LED que brilla. (Parte 1)»
la primera vez que entro y pinta bien, intentaré seguirte porque ando algo liado con un proyecto que empezó con arduino y va a evolucionar a ESP32