The Adafruit Feather nRF52840 Express is the new Feather family member with Bluetooth Low Energy and native USB support featuring the nRF52840! It is Adafruit’s take on an ‘all-in-one’ Bluetooth Low Energy device with built in USB plus battery charging. With native USB it’s part of the CircuitPython party.
This chip has twice the flash, and four times the SRAM of its 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.
This is Adafruit’s 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 the Python interpreter. The massive RAM and speedy Cortex M4F chip makes this a good match.
It’s got tons of 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.
Some other upgrades 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.
Comes pre-programed the chip with a UF2 bootloader, which can use either command line UART programming with nrfutil 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 command line tools with your favorite editor and toolchain. If you want to use an SWD programmer/debugger (for even more advanced usage), use a standard 2x5 0.05” connector.
Have some info to add for this board? Edit the source for this page here.
This is the latest stable release of CircuitPython that will work with the Feather nRF52840 Express.
Start here if you are new to CircuitPython.
Built-in modules available: _bleio, _pixelbuf, aesio, analogio, audiobusio, audiocore, audiomixer, audiomp3, audiopwmio, bitbangio, board, busio, digitalio, displayio, framebufferio, gamepad, math, microcontroller, msgpack, neopixel_write, nvm, os, pulseio, pwmio, random, rgbmatrix, rotaryio, rtc, sdcardio, sharpdisplay, storage, struct, supervisor, terminalio, time, touchio, ulab, usb_hid, usb_midi, vectorio, watchdog
This is the latest unstable release of CircuitPython that will work with the Feather nRF52840 Express.
Unstable builds have the latest features but are more likely to have critical bugs.
Built-in modules available: _bleio, _pixelbuf, aesio, analogio, audiobusio, audiocore, audiomixer, audiomp3, audiopwmio, binascii, bitbangio, bitmaptools, board, busio, digitalio, displayio, errno, framebufferio, gamepad, json, math, microcontroller, msgpack, neopixel_write, nvm, os, pulseio, pwmio, random, re, rgbmatrix, rotaryio, rtc, sdcardio, sharpdisplay, storage, struct, supervisor, terminalio, time, touchio, ulab, usb_hid, usb_midi, vectorio, watchdog
Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.
All previous releases are listed on GitHub, with release notes, and are available for download from Amazon S3. They are handy for testing, but otherwise we recommend using the latest stable release. Some older GitHub release pages include the same binaries for downloading. But we have discontinued including binaries as assets on newer release pages because of the large number of files for each release.
Latest version: 0.3.2
The bootloader allows you to load CircuitPython, Makecode, and Arduino programs. The bootloader is not CircuitPython. You can check the current version of your bootloader by looking in the INFO_UF2.TXT file when the BOOT drive is visible (FEATHERBOOT, CPLAYBOOT, etc.).
Updating the bootloader on nRF52840 boards is an involved process right now. Follow the instructions in this README. It is not necessary to update on each release if your bootloader is working fine. Read the release notes on GitHub to see what has been changed.
After you update, check INFO_UF2.TXT to verify that the bootloader version has been updated. Then you will need to reload CircuitPython.