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 + 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 10 (used for the MPU9250 interrupt), and pins 22, 23 and 24 (for the rgb led).
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 using mbed to program the nRF52 development board with the nRF51 mbed binaries. Here is a program to allow the nRF52 to read the MPU9250 and BMP280 sensors. (You'll have to change the led pin definitions in main.cpp and the I2C pin definitions in mpu9250.h). The nRF52 isn't well-supported yet by mbed so my ability to make use of the nRF52 development board is limited. I have verified that BLE works just fine using these boards. This board is ideal for those who already know how to use Keil, IAR, gcc/eclipse, or Crossworks and can use the nRF52 SDK to compile and run nRF52-specific libraries and APIs. The SWD port is exposed at the board edge for easy programming and debugging. Perhaps someday there will be a good Arduino core written for the nRF51/2 device families. For now, you have to use mbed with its limitations or learn how to use the SDK with one of the free lite versions of the above tool chains.
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
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