diff --git a/README.md b/README.md index fd678e692d5ffad4b948d831fd0e264610ecce36..9a97a9b0ebe95c69b05da48dde5f963804207d78 100644 --- a/README.md +++ b/README.md @@ -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. -## 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 <a href='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. + +<img src='raytac-ftdi/raytac-nrf-ftdi-layout.png' width=60%> + + + +## Programming with Segger J-Link 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 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 <a href='openocd.org'>OpenOCD</a>, we can make a Raspberry Pi bit-bang the programming protocols.