From 72e4b0890308316c2d3f89a03284cd22ad1fb586 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Sun, 14 Jul 2024 20:08:46 +1200 Subject: [PATCH] add readme --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0dfeca1 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# RNode Flasher + +A web based firmware flasher for [Reticulum](https://github.com/markqvist/Reticulum) and [RNode_Firmware](https://github.com/markqvist/RNode_Firmware). + +- It is written in javascript and uses the [Web Serial APIs](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API). +- It supports putting a device into DFU mode. +- It supports flashing `application` firmware from a zip file. + +At this time, it does not support flashing bootloaders or softdevices. + +## How does it work? + +I wanted something simple, for flashing firmware to a RAK4631 in a web browser. + +So, I spent a bit of time working through the source code of [adafruit-nrfutil](https://github.com/adafruit/Adafruit_nRF52_nrfutil) and wrote a javascript implementation of [dfu_transport_serial.py](https://github.com/adafruit/Adafruit_nRF52_nrfutil/blob/master/nordicsemi/dfu/dfu_transport_serial.py) + +Generally, you would use the following command to flash a firmware.zip to your device; + +``` +adafruit-nrfutil dfu serial --package firmware.zip -p /dev/cu.usbmodem14401 -b 115200 -t 1200 +``` + +The [nrf52_dfu_flasher.js](./nrf52_dfu_flasher.js) in this project implements a javascript, web based version of the above command. + +There was an existing package called [pc-nrf-dfu-js](https://github.com/NordicSemiconductor/pc-nrf-dfu-js), however this repo had been archived and didn't appear to support the latest DFU protocol. + +## Device Support + +The following list of devices are supported: + +- RAK4631 + +## License + +MIT