Want to program the nRF52832 Development Board in Python?
This is a small (0.7 in. x 1.4 in.) development board for Nordic Semiconductor's newest System-on-a-Chip IoT solution the nRF52832. The nRF52832 SoC has an ARM Cortex M4F processor running at 64MHz clock speed with a single precision floating point unit. Not only is the nRF52 much faster than the nRF51, but Nordic has significantly improved the peripheral management with EasyDMA and offers sophisticated power management options.
From the Nordic nRF52 site: "The nRF52832 SoC is a powerful, highly flexible ultra-low power multiprotocol SoC ideally suited for Bluetooth® Smart ANT and 2.4GHz ultra low-power wireless applications. The nRF52832 SoC is built around a 32-bit ARM® Cortex™-M4F CPU with 512kB flash memory + 64kB RAM. The embedded 2.4GHz transceiver supports Bluetooth Smart, ANT and proprietary 2.4 GHz protocol stack. It is on air compatible with the nRF51 Series, nRF24L and nRF24AP Series products from Nordic Semiconductor."
There is an embedded balun so only two discrete RF components are needed. I have added a through hole at the end of the antenna trace for soldering a 1.25-inch long (monopole) copper wire which should provide acceptable BLE performance.
The board has a MAX1555 battery charger and a USB Micro-B connector for charging only; the nRF52 has no USB controller. There is a NCP161 450 mA LDO 3V3 voltage regulator providing plenty of current to the board for adding sensors, SD cards, and displays, etc.
There is an MPU9250 9 DoF motion sensor and a BMP280 altimeter on the board connected to nRF52 pins 6 and 7 for SDA/SCL, which are also routed to edge pins. The board breaks out all of the GPIOs except pin 8 (used for the MPU9250 interrupt), and pins 22, 23 and 24 (for the rgb led). I changed the board design slightly to use pin 8 for the MPU9250 interrupt and free up pins 9 and 10 for the NFC in case this might be useful for any applications. Otherwise the board is exactly the same as the previous version.
The board can be powered from the USB connector or via a LiPo battery. There is a switch connecting VBAT to the 3V3 LDO enable which controls power to the board. With the switch on, a green led indicates power on and the board is supplied with 3V3. The battery can be charged while the board is powered and a red led is on while charging. With the switch off, the LiPo battery can still be charged and the green led indicates power good on the USB cable.
I like to use powerful microcontrollers with embedded connectivity in my projects. I have been using the nRF51 a lot, which has been great, but its 16 MHz Cortex M0 processor isn't up to every task and sometimes performance lags. The nRF52 with its four-times faster CPU clock and FPU should remove any such limitations. Furthermore, the nRF51 takes a fair amount of power to operate even with BLE; the nRF52 has a lot better power management built in. Much better performance at much lower power, this sounds like a good reason to switch to the nRF52!
I made the development board because it is convenient to have a very small platform to try out new ideas first on the breadboard before they get integrated into applications. The nRF52 development board is much smaller and less expensive than the nRF52 DK offered by Nordic, and I added some components I find useful like a power switch, a battery charger, an rgb led, and a motion sensor and a pressure/temperature sensor. These latter are useful for almost any wearable application so most users will find it convenient to have these already on the board.
It is small, portable, and designed to be battery powered. This means the application can be developed with the nRF52 development board on the breadboard using the USB cable for power and then the resulting prototype put directly into the field (or on the person) by replacing the USB power source with a small LiPo battery. Small means easy to use, easy to carry, and easy to wear!
I am now using Sandeep Mistry's Arduino core to program the nRF52 development boards with the J-Link from an nRF52 DK and the Arduino IDE. I have also made use of BLE Peripheral to define BLE characteristics and send data from the MPU9250 and BMP280 on the nRF52 dev board to my smartphone with BLE. It's not perfect, but the nRF52 is much easier to manage with the Arduino core and BLE Peripheral than using mbed ever was. I have a repository on github of Arduino sketches that I have run on the nRF52 Development Board that demonstrate how to make BLE work with these tools. Of course, one can still use the traditional tool chains or even mbed to program the board just like always!
Order some pcbs from OSH Park and assemble your own nRF52 development boards or order the fully assembled and tested board from me and see what a high performance MCU plus embedded BLE can do for your next IoT project!
|Shipping Rate||First item||Additional items|
United States Postal Service: Standard Ground Rate with tracking
United States Postal Service: Priority Mail with tracking
Priority mail for faster delivery only available withing the US.
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!
One-man maker shop with a focus on appallingly small, value-added products. Specialties include motion sensing and motion control applications.
If you don't see what you want, let me know what it is, I might be able to help!
See here for my story: https://www.maker.io/en/interviews/2016/interview-with-kris-winer---pesky-products