This guide will take you through the process of building/compiling CircuitPython for the nRF52840 bluetooth LE chipset. Note that CircuitPython for nRF52840 isn't even alpha, its pre-alpha! So this is for bleeding-edge development and experimentation!

Expect things to change, break, and not work as planned.

This guide is not for beginners - Experts only! We make many assumptions about software and skills in this guide!

Required Hardware

This guide will work for the following boards:

  • nRF52840-DK - don't use the PDK, it has a pre-release silicon that will not work!

New as of April 2019

Adafruit has created to be a resource for CircuitPython software for both Adafruit and non-Adafruit boards. .bin and .uf2 files for loading CircuitPython will be available for compatible boards on that site. 

If you only need the .bin or the .uf2 for a particular version of CircuitPython, consider looking on

Nordic SDK (DK PCA10056)

You can click the green button below to go to the page for the Nordic nRF52840-DK (PCA10056).

Particle nRF52840 based boards

Go to to look for support for Particle boards such as the Boron, Argon, amd Xenon.

Other Boards

Scroll through to see new boards that might be based on the nRF52840. 

To be listed, the developer of the board (or someone else) must have created the correct pin definition files which would allow CircuitPython to know what resources are available on the board. A pull request should be made to the CircuitPython GitHub repo to have support considered for addition. No board will be listed on without the appropriate pull request accepted by

This guide was first published on Aug 29, 2018. It was last updated on Mar 08, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.