circuitpython/ports/nrf
Jeff Epler d5a2293784 nrf52840: allow 12 voices
In my testing, the feather bluefruit can do 12 voices at 48kHz!
This is a simple case (no LFOs, no ring modulation) so other situations might
require a lower sample rate, fewer voices, or both.

The sound is a little artifacty & low-fi but I think that's down to the speaker
& use of PWM instead of I2S.
2023-06-09 11:30:12 -05:00
..
bluetooth remove lib from exludes, fix all remaining typos 2023-03-23 13:59:08 +07:00
boards Merge pull request #8037 from jpconstantineau/fix-PCA10100 2023-06-08 12:56:09 -04:00
common-hal Add memorymap support for the nRF processors. 2023-05-07 15:58:25 +01:00
device/nrf52 more missing-prototypes fixes 2021-11-10 21:00:17 -06:00
freeze run code formatting script 2021-03-15 19:27:36 +05:30
nrfx@3f55e49eb1 update nrfx submodule to v2 2019-12-18 15:39:11 +07:00
peripherals/nrf Use memory fence when disabling cache to avoid -O2 problems 2022-12-29 19:49:40 -05:00
supervisor fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
.gitignore remove redundant port/*/.gitignore; cleanup others 2022-10-01 11:52:36 -04:00
Makefile fetch-port-submodules; fetch-all-submodules 2023-06-05 17:23:34 -04:00
README.md nrf: Facilitate use of freeze manifest. 2021-08-08 23:17:55 +10:00
background.c Fix ticks 2023-04-07 09:49:51 -07:00
background.h Add Bangle.js 2, JDI memory displays and ACeP epd 2023-02-15 15:03:40 -08:00
espruino_dfu_private_key.pem Add Bangle.js 2, JDI memory displays and ACeP epd 2023-02-15 15:03:40 -08:00
gccollect.c run code formatting script 2021-03-15 19:27:36 +05:30
ld_defines.c run code formatting script 2021-03-15 19:27:36 +05:30
mpconfigport.h fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
mpconfigport.mk nrf52840: allow 12 voices 2023-06-09 11:30:12 -05:00
mphalport.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
nrfx_config.h Create first BLE-only board, Micro:Bit v2 2021-07-14 09:55:51 -07:00
nrfx_glue.h nrf/modules/nrf: Add function to enable/disable DCDC. 2021-08-09 14:55:59 +10:00
nrfx_log.h all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
qstrdefsport.h nrf/qstrdefsport.h: Add entries for in-built FS mount points. 2021-08-08 23:17:49 +10:00
sd_mutex.c -Werror=missing-prototypes for nRF 2021-11-10 11:26:54 -06:00
sd_mutex.h run code formatting script 2021-03-15 19:27:36 +05:30

README.md

CircuitPython Port To The Nordic Semiconductor nRF52 Series

This is a port of CircuitPython to the Nordic Semiconductor nRF52 series of chips.

NOTE: There are board-specific READMEs that may be more up to date than the generic board-neutral documentation below.

Flash

Some boards have UF2 bootloaders and can simply be flashed in the normal way, by copying firmware.uf2 to the BOOT drive.

For some boards, you can use the flash target:

make BOARD=pca10056 flash

Segger Targets

Install the necessary tools to flash and debug using Segger:

JLink Download

nrfjprog linux-32bit Download

nrfjprog linux-64bit Download

nrfjprog osx Download

nrfjprog win32 Download

note: On Linux it might be required to link SEGGER's libjlinkarm.so inside nrfjprog's folder.

DFU Targets

run follow command to install adafruit-nrfutil from PyPi

$ pip3 install --user adafruit-nrfutil

make flash and make sd will not work with DFU targets. Hence, dfu-gen and dfu-flash must be used instead.

  • dfu-gen: Generates a Firmware zip to be used by the DFU flash application.
  • dfu-flash: Triggers the DFU flash application to upload the firmware from the generated Firmware zip file.

When enabled you have different options to test it: