This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Creating a custom wireless device with nRF52832, what do I need hardware wise?

Hello,

I am trying to build a small voltage stimulating probe for a research project I am doing. I was going to originally use the Rigado BMD-350 which includes the nRF52832, their own extra components and an antennae, but after finding they discontinued their old software and were suggesting to just use Nordics tools I decided to just create my own system with the nRF52832. I am struggling to find a few details though, does the nRF52832 come with its own antennae or does that need to be added (in order to use BLE)? Is there any other components or aspects I should consider when trying to design my nRF52832 based probe? And how does the nRF 52 DK fit into developing systems with the nRF52832 (can I hook up my chip to it and program through it or does it need to be soldered and programmed over SWD)? 

Thanks for any help,

Parents
  • The nRF52832 is just a chip. It doesn't come with its own antenna, so you'll need to design one. In the case of Rigado, I think the antenna is basically just a copper trace on the PCB whose length and layout has been carefully chosen. (Disclaimer: I'm not an RF antenna design expert.)

    The bare minimum for your design will be:

    - the nRF52832 chip

    - a copper trace on the board connected to the radio RF pin to act as an antenna (make it longer than you need for your prototypes and trim it to see where the sweet spot is)

    - a 32MHz crystal (for the high frequency clock)

    - a 32.768KHz crystal (for the low frequency clock)

    - a 3.3V voltage regulator

    - some capacitors to filter the power supply lines

    - a way to flash the chip (ideally a 10-pin SWD connector wired to the SWD debug pins on the chip)

    If you just purchase chips they will likely come with blank flash, which means you will need to connect an SWD debugger to the debug pins on the chip in order to load your initial software onto them. If it has a way to do firmware updates using another method (e.g. OTA) that's great, but the chips will be blank when you first get them.

    Note that the nRF52832 does have an internal RC oscillator, and it's technically possible to use that as the clock source for both the high frequency clock and low frequency clock, but this is not recommended.

    Note that you should be able to produce working projects with the Nordic SDK for the Rigado devices. The Rigado BMD modules basically just bundle the Nordic chip with a 32MHz crystal, the antenna, a metal shield and a few capacitors onto a board that's a little easier to mount to your own projects than using the nRF52 chip's footprint. You'd still need a power supply, external 32.768KHz crystal and (ideally) a debug port along with whatever else you decide to connect to the I/O pins.

    -Bill

  • Thank you for the information, what value is in the nRF52 DK though? Does it just emulate how your code would work on an nRF52 device? Also for this debug port, is that just soldering wires to the 2 SWD pins?

  • Hi,

    what value is in the nRF52 DK though?

    What "value" are you referring to ?

    Does it just emulate how your code would work on an nRF52 device?

    No, on the nRF52-DK there is a nRF52832 SoC. The code is running on the nRF52832 SoC, it's not "emulated".

    Also for this debug port, is that just soldering wires to the 2 SWD pins?

    Yes. Also note that the nRF52832 need to be powered. And if you buy a nRF52832-DK it comes with a on-board Segger J-Link programmer/debugger.

  • The nRF52 DK is a development kit board. It includes an nRF52832 chip (or nRF52840 chip if you buy that version of the board) along with an integrated J-Link debugger. It doesn't emulate your code, it *runs* the code.

    The DK board has a USB port on it. When you plug this into your host computer, you'll see three virtual USB devices:

    - a serial port

    - a JTAG/SWD interface

    - a virtual mass storage device

    The serial port is connected to the UART pins on the nRF52 chip so that you can see the debug output. To flash the chip, you can do one of two things:

    - Use the Segger J-Link software to talk to the JTAG/SWD interface and flash it directly

    - Copy your firmware image file to the virtual mass storage device, and the J-Link firmware on the board will flash it into the nRF52 chip

    I prefer to use the JTAG/SWD port. Having the on-board Segger J-Link debugger is indispensable for development: aside from flashing, it allows you to single-step through your code and examine memory and the CPU state so you can debug crashes.

    Also, if you have a separate SWD debugger and you want to bypass the on-board Segger J-Link debugger, you can: there's a separate 10-pin plug where you can connect your off-board debugger to take control of the chip. (The UART will still be routed through the USB connector.)

    Note: Rigado also sells a development kit board. It looks like this (boards for both nRF52832 and nRF52840 shown):

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-300-EVAL/1604-1007-ND/5958042

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-350-EVAL/1604-1014-ND/6679827

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-340-EVAL/1604-1027-ND/8676236

    Meanwhile, these are the Nordic DK boards:

    https://www.digikey.com/product-detail/en/nordic-semiconductor-asa/NRF52-DK/1490-1053-ND/5773879

    https://www.digikey.com/product-detail/en/nordic-semiconductor-asa/NRF52840-DK/1490-1072-ND/8593726

    You'll note the Rigado and Nordic boards look almost the same (same headers, same layout, same peripherals, same Segger J-Link debug chip), except that the Rigado boards have the Rigado BMD-300/BMD-340 modules mounted on them while the Nordic boards have just the bare nRF52832/nRF52840 chips mounted on them.

    Nordic doesn't really have an equivalent to the BMD-350 board, but the BMD-350 module contains the same nRF52832 chip as the BMD-300 and has the same functionality. They just made the module smaller.

    But from a software programming/development perspective they're identical. Same CPU, same features. So whatever you develop for the Nordic DK board should run on the Rigado module. And you can use the same Nordic SDK. If you have the BMD-350, just set up the SDK to build for the Nordic NRF52-DK board, and the code you get should work on it.

    The one difference would be what you choose to include in your design. You didn't say exactly what your design is, but let's say you want to have a temperature sensor connected to the nRF52 chip. The development kit boards don't come with a temperature sensor. For prototyping purposes, you can wire one up to the breakout headers though, and once you're sure it works, then you can build your production board that's wired the same way. If you build the production board first though, then you'll be able to test that your software at least boots up on the CPU using just the DK board, but you won't be able to test the temperature sensor until you flash your code onto one of your production units.

    Regarding the debug port, yes the SWD interface is mainly just two wires. You should include some pullup resistors for them though. Also, you can download the schematics for the Nordic DK reference boards from the Nordic web site for guidance on how to wire these kinds of things up.

    -Bill

Reply
  • The nRF52 DK is a development kit board. It includes an nRF52832 chip (or nRF52840 chip if you buy that version of the board) along with an integrated J-Link debugger. It doesn't emulate your code, it *runs* the code.

    The DK board has a USB port on it. When you plug this into your host computer, you'll see three virtual USB devices:

    - a serial port

    - a JTAG/SWD interface

    - a virtual mass storage device

    The serial port is connected to the UART pins on the nRF52 chip so that you can see the debug output. To flash the chip, you can do one of two things:

    - Use the Segger J-Link software to talk to the JTAG/SWD interface and flash it directly

    - Copy your firmware image file to the virtual mass storage device, and the J-Link firmware on the board will flash it into the nRF52 chip

    I prefer to use the JTAG/SWD port. Having the on-board Segger J-Link debugger is indispensable for development: aside from flashing, it allows you to single-step through your code and examine memory and the CPU state so you can debug crashes.

    Also, if you have a separate SWD debugger and you want to bypass the on-board Segger J-Link debugger, you can: there's a separate 10-pin plug where you can connect your off-board debugger to take control of the chip. (The UART will still be routed through the USB connector.)

    Note: Rigado also sells a development kit board. It looks like this (boards for both nRF52832 and nRF52840 shown):

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-300-EVAL/1604-1007-ND/5958042

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-350-EVAL/1604-1014-ND/6679827

    https://www.digikey.com/product-detail/en/rigado-inc/BMD-340-EVAL/1604-1027-ND/8676236

    Meanwhile, these are the Nordic DK boards:

    https://www.digikey.com/product-detail/en/nordic-semiconductor-asa/NRF52-DK/1490-1053-ND/5773879

    https://www.digikey.com/product-detail/en/nordic-semiconductor-asa/NRF52840-DK/1490-1072-ND/8593726

    You'll note the Rigado and Nordic boards look almost the same (same headers, same layout, same peripherals, same Segger J-Link debug chip), except that the Rigado boards have the Rigado BMD-300/BMD-340 modules mounted on them while the Nordic boards have just the bare nRF52832/nRF52840 chips mounted on them.

    Nordic doesn't really have an equivalent to the BMD-350 board, but the BMD-350 module contains the same nRF52832 chip as the BMD-300 and has the same functionality. They just made the module smaller.

    But from a software programming/development perspective they're identical. Same CPU, same features. So whatever you develop for the Nordic DK board should run on the Rigado module. And you can use the same Nordic SDK. If you have the BMD-350, just set up the SDK to build for the Nordic NRF52-DK board, and the code you get should work on it.

    The one difference would be what you choose to include in your design. You didn't say exactly what your design is, but let's say you want to have a temperature sensor connected to the nRF52 chip. The development kit boards don't come with a temperature sensor. For prototyping purposes, you can wire one up to the breakout headers though, and once you're sure it works, then you can build your production board that's wired the same way. If you build the production board first though, then you'll be able to test that your software at least boots up on the CPU using just the DK board, but you won't be able to test the temperature sensor until you flash your code onto one of your production units.

    Regarding the debug port, yes the SWD interface is mainly just two wires. You should include some pullup resistors for them though. Also, you can download the schematics for the Nordic DK reference boards from the Nordic web site for guidance on how to wire these kinds of things up.

    -Bill

Children
No Data
Related