The SparkFun Pro nRF52840 Mini is a breakout and development board for Nordic Semiconductor’s nRF52840 – a powerful combination of ARM Cortex-M4 CPU and 2.4GHz Bluetooth radio. With the nRF52840 at the heart of your project, you’ll be presented with a seemingly endless list of project-possibilities in an incredibly small package.
Our mini development board for the nRF52840 breaks out most of the critical I/O pins including GPIO and those needed for power while maintaining a small footprint that nearly matches that of the Arduino Pro Mini (except those covered by the Qwiic Connector). It features a USB interface (using the nRF52840’s native USB support), which can be used to program, power, and communicate with the chip making it able to be used for any purpose (UART, I2C, SPI) that those of the Arduino Pro Mini could. The Pro nRF52840 Mini features a Raytac MDBT50Q-P1M module. This module connects the nRF52840 to a trace antenna, fits the IC into an FCC-approved footprint, and also includes a lot of the decoupling and timing mechanisms that would otherwise be required for a bare nRF52840 design. Also included onboard is a LiPo battery charger, a Qwiic connector, an on/off switch, a reset switch, and a user LED/button.
The board comes pre-programmed with a USB bootloader. You can develop programs for the nRF52840’s Cortex-M4 using either Arduino, Circuit Python, or C (using Nordic’s nRF5 SDK), and load that compiled code using a USB serial or mass-storage interface.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
Based on 1 ratings:
nrf52840 (I use the nRFconnect SDK, so I get Zephyr RTOS) usb, battery and a quic connector. perfect dev board for my current project, maybe even for the initial photo run.
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Log in or register to post comments.
Check your boards. I ordered 2 and one had a trace between VIN and the outside adjacent GND. Was able to cut, but the board had already burnt out.
Hello, I would like if I can have the precompiled bootloader for this card. I used segger embedded studio to program my card and I would like to revert the changes . Thank you very much.
Problem fixed by flashing the bootloader with Nordic DK and NrfConnect( Desktop.) with the programmer tool. I used feather_nrf52840_express_bootloader-0.4.1_express_bootloader-0.4.1_s140_6.1.1.hex
Hello, I bought the SparkFun Pro nRF52840 Mini - Bluetooth Development Board and tried to connect it to my laptop (serial communication). I succeed in connecting this board to my Galaxy S6 (using an android app -nRF connect- however I could not find a way to connect it with my laptop (serial communication). How can I connect this board to my laptop? I need to check dataflows using a serial monitor. (Putty...)
Do I need to buy a dongle for serial communication between "SparkFun Pro nRF52840 Mini - Bluetooth Development Board" and my laptop?
Thank you very much!
Jeong Jae Han
Hi! does this board support ZigBee?
Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.
That being said, since this is not a ZigBee module... I doubt that they are compatible.
-Tank you! i know this is not a ZigBee module, however i´ve read that nRF52840 supports it, that´s why i asked
Well, you know more about it than I do at this point. Doing a quick "Google" search, it seems like you have to use the SDK among other things to get that working. Unfortunately, we don't cover that information, so you will need to figure that on your own or reach out to Nordic. Additionally, there is probably a high chance that you will also need a JTAG programmer to get that working.
Good, thank you for your help! if i find something usefull i´ll update it here then
I managed to implement a zigbee illuminance sensor with it. So, yes, it works with zigbee!
The nRF52840 supports the Thread protocol. Are there any libraries available for Arduino or Circuit Python for Thread communication?
In the hookup guide linked under the Documents tab (it is under the product pricing and on the same line as the Description tab... it is kind of hidden with the white-on-white), there is a link to a followup guide for using Arduino and CircuitPython. It is also listed in the Tutorials tab listed above.
Not sure why I cannot run any of my Arduino scripts on the custom board we built using the schematics of the Sparkfun nrf52840 mini breakout board using the Arduino IDE!
Note I am testing both, our custom board and the breakout board form Sparkfun. For both of the boards I am facing the same problem. The bootloader (feather_nrf52840_express_bootloader-0.2.10_s140_6.1.1.zip) uploads on both the boards without any errors. I am following the exact steps I see on several tutorials online to upload the bootloader (for example: https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader). Arduino IDE detects the board too but then the code does not work! Not even a simple blink LED code. Also, the boards keep getting detected as USB drives all the time. Whenever I press the RESET button the board gets detected as USB drive a new window pops up. Most of the time I do not press anything and a new window pops up showing the board detected as a USB drive. This seems strange to me. Am I in a wrong mode of the board? Have I not uploaded the correct bootloader version or the bootloader itself?
Other than the Arduino code not working I also have one more problem. I cannot get the Sparkfun board to get into the bootloader mode, how it normally should work when you press the RESET button or do the trick with the RESET button and the PIN13 button after which the blue LED7 starts blinking.
Please assist if you know what's going on or have faced similar issues in the past. A prompt response is much appreciated!
Thank you for reading.
I down graded to "0.2.9" version of the bootloader. Both the boards, Sparkfun Pro nrf52840 Mini and our custom board work now! Yayy! I can successfully run the bluetooth example which is on the tutorial page.
Currently, I am trying to read the I2C buses, because that's where additional sensors are attached which we wish to read through the I2C port on the boards. If my understanding is correct the Wire library from Arduino can be used out of the box to do this, right? I do not need a special library to communicate with the I2C buses on the nrf boards? I am uploading this https://gist.github.com/tfeldmann/5411375 example on the nrf board to scan for I2C devices but no luck! Any suggestions??
The Wire.h library built in Arduino works! I had the I2C pins connected wrongly. Solved!
I'm having trouble getting this board to work.
Context: my app needs the latest version (at least SDK 15.3) from Nordic, which so far the current Adafruit bootloader doesn't support, so far as I know. (I can update later to show the message when trying to program softdevice using the current bootloader on the Sparkfun nRF52840 Mini.)
More Context: I am old school, being used to programming an nRF52840 with a JLink debugger and the SWD header.
So I already attached a header to the back of this SparkFun Pro nRF52840 Mini, and JLink was happy to flash both Softdevice and the app (made sure to use the new customized CFLAGS += -DBOARD_SPARKFUN_NRF52840_MINI in the Makefile).
But, nothing happens and the DFU loader is wiped.
There are two courses of action I suppose.
What would be recommended?
Update: Compiling and flashing the usual Blinky, flashed using normal nrfjprog (with no Softdevice) does work - the LED blinks. Also an example using USB serial works. So the toolchain seems sound.
Second Update. I got the Adafruit bootloader source to compile, but when I specified sparkfun_nrf52840_mini for the board, there were errors such as "at least two buttons required in the BSP" - possibly the unmodified github code is not aware of the two-button trick for this Sparkfun mini? I guess there would be a different branch or some other way to deal with this? Any pointers on what/where that might be?
For assistance with troubleshooting your board, please head over to our new forums to post a topic. We will do what we can to help.
Can I compile the examples with 8.2.1 gcc? I am seeing some linker library issues like libintl3.dll missing.
The bootloader doesn't seem to work for the latest softdevice version (which I need for my application). The adafruit conversion of nrfutil may be outdated and the notes on nrfutil suggest that a newer bootloader might be needed for new versions of softdevice (due to size). Is there a procedure to update the bootloader?
In the schematic it shows two unpopulated caps for the NFC interface. does this mean that if I place these, the NFC interface would work?
From the datasheet, I think that is the case, but I am not sure. Unfortunately, the engineer on this board has moved on to another company. For additional help, please head over to our new forums to post a topic for assistance. That being said, we don't really support that functionality, so you might be on your own to get that working.
Will this unit allow you to charge the lith battery while the on/off button is set to on and plugged into a pc or recharger? Thank you.
yes if on
So are we out of luck if we would like to control this from a microcontroller's UART (to create BLE HID device)? I've tried other HID solutions, both classic and BLE, and they are, um, lacking.
Hey curious why you are saying that. I've bought this to build a HID BLE keyboard by connecting it to an I2C I/O expander. Have you tried the nRF5 SDK HID over GATT example ?
Worked really well; had it running the SF sketch in a matter of a half an hour. I only wish the Raytak module was available on it's own. They don't have any stock on any of the major distributor sites.
"Real-time clock" is a bit of a stretch -- it's actually a "Real-time counter" that counts pulses from the 32.768 kHz crystal, rather than a full-blown Real Time Clock Calendar which has hardware that translates the 32.768 kHz crystal oscillations into seconds-minutes-hours-days-months (and usually years), and usually a CPU chip that has a RTCC has provision for keeping power to the RTCC (and the 32.768 kHz oscillator) from something like a "watch battery" even when all other power is off.
The Nordic Semiconductor data sheet (available here) (551 pages!) is really pretty clear about it being a "real-time counter".
Although it has modes that draw less than 20 uA, if you're relying on a 500 mAh LiPo, how long the counter will "keep time" depends on the state of charge of the LiPo when it goes into "deep sleep" and can also be limited by the self-discharge of the LiPo.
I was hoping this board would be supported by the Zephyr Project. Is there any effort being put in to adding this board to the 300+ boards that are supported by Zephyr?
It looks like it's the same as the Nordic dongle: https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle which is supported by Zephyr. Can anyone confirm that it's a software equivalent?