Overview

The Adafruit Feather nRF52840 Express is the new Feather family member with Bluetooth Low Energy and native USB support featuring the nRF52840!  It's our take on an 'all-in-one' Arduino-compatible + Bluetooth Low Energy with built in USB plus battery charging. With native USB it's even ready to join the CircuitPython party. We have other boards in the Feather family, check'em out here.

This chip has twice the flash, and four times the SRAM of it's earlier sibling, the nRF52832 - 1 MB of FLASH and 256KB of SRAM. Compared to the nRF51, this board has 4-8 times more of everything.

For this chip, we've added Arduino IDE support - you can program the nRF52840 chip directly to take full advantage of the Cortex-M4 processor, and then calling into the Nordic SoftDevice radio stack when you need to communicate over BLE. Since the underlying API and peripherals are the same for the '832 and '840, you can supercharge your older nRF52832 projects with the same exact code, with a single recompile!

We've also chosen this chip for our first BLE-friendly CircuitPython board! CircuitPython works best with disk drive access, and this is the only BLE-plus-USB-native chip that has the memory to handle running a the little Python interpreter. The massive RAM and speedy Cortex M4F chip makes this a good match.

Please note at this time we only have BLE stack support in Arduino. CircuitPython BLE stack support is still a work-in-progress!

It's got tons of awesome peripherals: plenty of GPIO, analog inputs, PWM, timers, etc. Best of all, it's got that native USB! Finally, no need for a separate USB serial chip like CP2104 or FT232. Serial is handled as a USB CDC descriptor, and the chip can act like a keyboard, mouse, MIDI device or even disk drive. (Note that we don't have support for anything but CDC for Arduino at this time)

Some other upgrades we've tossed in are an extra 'USER' switch that could be used to trigger OTA updates (or whatever you choose), a NeoPixel LED for status updates, 2 MB of QSPI Flash for storing CircuitPython files, and a SWD connector.

We have quite a few BTLE-capable Feathers (it's a popular protocol!) so check out our BT Feather guide for some comparison information.

We pre-programed the chip with our UF2 bootloader, which can use either commandline UART programming with nrfutil (we use this for Arduino) or drag-n-drop mass storage, for CircuitPython installation and also because mass-storage-drive bootloaders make updating firmware so easy. Want to program the chip directly? You can use our command line tools with your favorite editor and toolchain. If you want to use an SWD programmer/debugger (for even more advanced usage), we have a standard 2x5 0.05" connector.

Best of all, we've done all the heavy lifting of getting the low level BLE stack into shape so you can focus on your project from day one! The example code works great with our existing iOS and Android app.

Features:

  • ARM Cortex M4F (with HW floating point acceleration) running at 64MHz
  • 1MB flash and 256KB SRAM
  • Native Open Source USB stack - pre-programmed with UF2 bootloader
  • Bluetooth Low Energy compatible 2.4GHz radio (Details available in the nRF52840 product specification)
  • FCC / IC / TELEC certified module
  • Up to +8dBm output power
  • 1.7v to 3.3v operation with internal linear and DC/DC voltage regulators
  • 21 GPIO, 6 x 12-bit ADC pins, up to 12 PWM outputs (3 PWM modules with 4 outputs each)
  • Pin #3 red LED for general purpose blinking, NeoPixel for colorful feedback
  • Power/enable pin
  • Measures 2.0" x 0.9" x 0.28" (51mm x 23mm x 7.2mm) without headers soldered in
  • Light as a (large?) feather - 6 grams
  • 4 mounting holes
  • Reset button
  • SWD connector for debugging
  • Works out of the box with all of our Adafruit FeatherWings! (Even the UART-using ones like the GPS FeatherWing)

Bluetooth Low Energy is the hottest new low-power, 2.4GHz spectrum wireless protocol. In particular, it's the only wireless protocol that you can use with iOS without needing special certification, and it's supported by all modern smart phones. This makes it excellent for use in portable projects that will make use of an iOS or Android phone or tablet. It also is supported in Mac OS X and Windows 8+.

To make it easy to use for portable projects, we added a connector for any of our 3.7V Lithium polymer batteries and built in battery charging. You don't need a battery because it will run just fine straight from the micro USB connector. But, if you do have a battery, you can take it on the go, then plug in the USB to recharge. The Feather will automatically switch over to USB power when it's available. We also tied the battery thru a divider to an analog pin, so you can measure and monitor the battery voltage to detect when you need a recharge.

The Power of Bluefruit LE

The Bluefruit LE module is an nRF52840 chipset from Nordic, which can be used as both a main microcontroller and a bluetooth low energy interface. For most people, they'll be very happy to use the standard Nordic UART RX/TX connection profile - code is provided! In this profile, the Bluefruit acts as a data pipe, that can 'transparently' transmit back and forth from your iOS or Android device. You can use our iOS App or Android App, or write your own to communicate with the UART service.

The board is capable of much more than just sending strings over the air!  Thanks to an Arduino wrapper library, you have full control over how the device behaves, including the ability to define and manipulate your own GATT Services and Characteristics, or change the way that the device advertises itself for other Bluetooth Low Energy devices to see.

 

Use the Bluefruit App to get your project started

Using our Bluefruit iOS App or Android App, you can quickly get your project prototyped by using your iOS or Android phone/tablet as a controller. We have a color picker, quaternion/accelerometer/gyro/magnetometer or location (GPS), and an 8-button control game pad. This data can be read over BLE and processed directly by the nRF52 microcontroller

Comes fully assembled and tested, with a USB bootloader that lets you quickly use it with the Arduino IDE or to install CircuitPython. We also toss in some header so you can solder it in and plug into a solderless breadboard. Lipoly battery and MicroUSB cable not included (but we do have lots of options in the shop if you'd like!)

This guide was first published on Jan 02, 2019. It was last updated on Jan 02, 2019. This page (Overview) was last updated on Sep 23, 2019.