@@ -21,7 +21,21 @@ This is a great board; I would highly recommend it for NRF52 projects.
...
@@ -21,7 +21,21 @@ This is a great board; I would highly recommend it for NRF52 projects.
This board comes flashed with a Serial DFU bootloader and it has an onboard USB-to-Serial converter. This allows you to program it simply with a USB cable.
This board comes flashed with a Serial DFU bootloader and it has an onboard USB-to-Serial converter. This allows you to program it simply with a USB cable.
## Custom board with Segger J-Link
## Custom boards
If application requirements don't allow you to use the Feather board from Adafruit, you can also build custom boards around the available NRF52 modules.
The Adafruit board uses the <ahref='http://www.raytac.com/download/MDBT42/MDBT42Q%20spec-Version%20C.pdf'>Raytac MDBT42Q</a>, available from Digikey (PN 1597-1434-ND) for $14.
Fanstel also makes a variety of modules with the NRF52832 as well as the NRF52840 (with USB 2.0 support). The BC-832 is a very small module (7.8mm x 8.8mm) available for $7.60 in quantity 10. The BT-832 is slightly larger, but comes in a variety ranges and sells for just $5 in quantity 10.
Below is a custom board using the Raytac module. It is designed to use a serial DFU bootloader for programming with a standard FTDI cable.
The Segger J-Link is a very helpful tool, but it's quite expensive. With it, we can use Nordic's command line utilities, including `nrfjprog`. I wrote a shell script with three commands to erase, flash the adafruit bootloader, and then start the chip running.
The Segger J-Link is a very helpful tool, but it's quite expensive. With it, we can use Nordic's command line utilities, including `nrfjprog`. I wrote a shell script with three commands to erase, flash the adafruit bootloader, and then start the chip running.
...
@@ -36,7 +50,7 @@ nrfjprog -f nrf52 --run
...
@@ -36,7 +50,7 @@ nrfjprog -f nrf52 --run
The J-Link requires a wire to ensure the target has power. In the image above, red is target power (3.3V), black is ground, green is SWDCLK, and blue is SWDIO.
The J-Link requires a wire to ensure the target has power. In the image above, red is target power (3.3V), black is ground, green is SWDCLK, and blue is SWDIO.
## Custom board with OpenOCD and Raspberry Pi
## Programming with OpenOCD and Raspberry Pi
You don't have to spend hundreds on a J-Link (even though it is very nice). Using <ahref='openocd.org'>OpenOCD</a>, we can make a Raspberry Pi bit-bang the programming protocols.
You don't have to spend hundreds on a J-Link (even though it is very nice). Using <ahref='openocd.org'>OpenOCD</a>, we can make a Raspberry Pi bit-bang the programming protocols.