From 2bbec3b98aad65f5fdd68bedc5739f5fd8d26d3c Mon Sep 17 00:00:00 2001
From: Caril Martinez <caril.martinez@cti.espol.edu.ec>
Date: Thu, 3 Oct 2024 19:33:06 +0000
Subject: [PATCH] Update README.md

---
 README.md | 49 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 16 deletions(-)

diff --git a/README.md b/README.md
index ccadd24..9e5d32c 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Este repositorio contiene el firmware para el proyecto **NEST (Non-intrusive dEv
 
 ## Requisitos para Programar en Arduino
 
-### Paso 1: Instalar Arduino Core para nRF52840
+### Instalar Arduino Core para nRF52840
 
 1. **Descargar e instalar Arduino IDE** (al menos v1.6.12): [Arduino IDE](https://www.arduino.cc/en/software).
 2. Iniciar el Arduino IDE y entrar a las **Preferencias**.
@@ -20,26 +20,43 @@ Este repositorio contiene el firmware para el proyecto **NEST (Non-intrusive dEv
 5. Ir a **Herramientas > Placa > Gestor de Placas** y buscar "Adafruit nRF52" e instalar **Adafruit nRF52 by Adafruit**.
 6. Una vez instalado, seleccionar **Adafruit Feather nRF52840 Express** desde **Herramientas > Placa** para configurar el sistema.
 
-### Paso 2: Cargar el Bootloader con J-Link
 
-1. Instalar el **Segger JLink Software and Documentation Pack** y **Nordic nRF5x Command Line Tools**.
-2. Asegurarse de que puedes ejecutar `nrfjprog` desde tu terminal.
-3. Conectar el **J-Link** a la placa.
-4. Abrir el Arduino IDE y seleccionar:
-   - **Herramientas > Placa > Adafruit Feather nRF52840 Express**
-   - **Herramientas > Programador > J-Link for Feather52**
-   - **Herramientas > Grabar Bootloader** para cargar el bootloader en la placa.
+## Bootloader
 
-### Paso 3: Programar el Bootloader manualmente con nrfjprog
+El bootloader puede actualizarse mediante un archivo UF2 o DFU si ya existe uno. También es posible cargarlo en un chip nuevo en blanco siguiendo la guía a continuación.
 
-Si prefieres cargar el bootloader manualmente, sigue estos pasos:
+### Actualización del Bootloader con UF2 (Solo para nRF52840 y requiere versión 0.4.0+)
 
-1. Ejecuta los siguientes comandos en tu terminal para borrar la memoria y cargar el bootloader:
+Esto solo funciona con nRF52840 y requiere que el bootloader existente tenga al menos la versión 0.4.0:
 
-   ```bash
-   nrfjprog -e -f nrf52
-   nrfjprog --program bin/bootloader/feather_nrf52840_bootloader.hex -f nrf52
-   nrfjprog --reset -f nrf52
+1. Haz doble clic rápidamente en el botón de reinicio para poner la placa en modo bootloader. Aparecerá un dispositivo de almacenamiento masivo llamado `FTHR840BOOT`.
+2. Descarga el último archivo UF2 para tu placa, por ejemplo, `update-{BOARD}-{version}_nosd.uf2` desde la [página de lanzamientos del Bootloader Adafruit nRF52](https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases).
+3. Arrastra y suelta el archivo UF2 en la unidad `FTHR840BOOT` para realizar la actualización, luego espera hasta que la placa se reinicie automáticamente.
+
+### Actualización del Bootloader con DFU
+
+Para actualizar al último Bootloader + Softdevice usando el puerto serie desde el IDE de Arduino:
+
+1. Selecciona **Herramientas > Placa > Adafruit Feather nRF52840 Express**.
+2. Selecciona **Herramientas > Programador > Bootloader DFU for Bluefruit nRF52**.
+3. Selecciona **Herramientas > Grabar Bootloader**.
+4. **ESPERA** hasta que el proceso termine (~30 segundos).
+
+**Nota:** Cierra el Monitor Serial antes de hacer clic en "Grabar Bootloader". Después, no debes cerrar el IDE de Arduino, desconectar la placa, abrir el Monitor Serial, etc., ya que hay un alto riesgo de dañar el dispositivo. Haz esto con precaución.
+
+### Grabar un nuevo Bootloader
+
+Para grabar el bootloader desde el IDE de Arduino, necesitarás tener instaladas las siguientes herramientas en tu sistema y que estén disponibles en la ruta del sistema:
+
+- [Segger JLink Software and Documentation Pack](https://www.segger.com/downloads/jlink)
+- [Nordic nRF5x Command Line Tools](https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Command-Line-Tools)
+
+Verifica que puedas ejecutar `nrfjprog` desde tu terminal o símbolo del sistema.
+
+**Nota para macOS:** Actualmente, necesitarás crear un enlace simbólico en `/usr/local/bin` hacia la herramienta `nrfjprog` en la ubicación donde la hayas instalado. Puedes ejecutar el siguiente comando:
+
+```bash
+$ ln -s $HOME/prog/nordic/nrfjprog/nrfjprog /usr/local/bin/nrfjprog
 
 ## Descripción del Firmware
 
-- 
GitLab