-
Neil Gershenfeld authoredNeil Gershenfeld authored
NRF52
Nordic Radio's NRF52832 is a nice little chip -- It has a Cortex M4 running at 64 MHz, a 2.4 GHz RF transceiver, 512 kb of flash, a 12 bit 200 ksps ADC, 5x 32 bit timers, a flexible peripheral interconnect system with DMA, and lots of other bells and whistles.
In particular, the chip performs very well for its cost on tests measuring the speed of information transfer in and out of the CPU and over the RF channel. https://pub.pages.cba.mit.edu/ring/
This page describes how to use the NRF52(832) on Linux/Unix systems with open source tools.
Programming the NRF52
Programming involves two steps: 1) compiling code, and 2) flashing the code to the chip.
Thanks to the folks at Adafruit, you can use the Arduino IDE to perform both steps. Instruction on installing the appropriate libraries can be found here.
You can also compile and flash the code directly using the same toolchain employed by the IDE. To do this, you can follow the instructions on this page (starting at heading "GNU ARM Compiler").
The steps for flashing your code depends on what board and programmer you have.
Adafruit Feather NRF52 Board
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 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 Raytac MDBT42Q, 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 Fanstel BC832 module. It is just 23mm x 18mm, and is designed to use a serial DFU bootloader for programming with a standard FTDI cable.

