[PR #310] Add support for the Nordic nRF52840 Dongle (PCA10059) #279

Open
opened 2026-10-22 05:08:37 +00:00 by roman · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/safijari/openpuck/pull/310
Author: @tmwebste
Created: 10/10/2026
Status: 🔄 Open

Base: main ← Head: pca10059-dongle


📝 Commits (1)

  • 76833c4 Add support for the Nordic nRF52840 Dongle (PCA10059)

📊 Changes

6 files changed (+316 additions, -7 deletions)

View changed files

📝 Makefile (+61 -0)
📝 OpenPuck/board_config.h (+11 -1)
📝 OpenPuck/fault_diag.cpp (+2 -2)
📝 OpenPuck/status_led.cpp (+9 -4)
📝 docs/BUILD_AND_DEPLOY.md (+35 -0)
➕ docs/NRF52840_DONGLE.md (+198 -0)

📄 Description

The Dongle ships with Nordic's Open DFU bootloader at 0xE0000+ and no SoftDevice. It only accepts signed bootloader updates, so it can't be swapped for the Adafruit UF2 bootloader without SWD. The Adafruit core's InternalFS (0xED000) and the fault black-box page (0xE8000) both land inside that bootloader region.

  • build-pca10059 compiles against a copy of the core's InternalFileSystem moved to 0xD9000-0xDFFFF, with its write guard lowered to 0xE0000, and caps the app below the black-box page at 0xD8000.
  • package-pca10059 optionally bundles S140 6.1.1 so a fresh Dongle is provisioned in one flash; flash-/deploy-pca10059 use nrfutil Open DFU.
  • The black-box address moves into board_config.h; the wake LED is the Dongle's green LD1 (P0.06).

Pro Micro and Raytac builds produce byte-identical hex before and after.

Heavy lifting by Claude


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/safijari/openpuck/pull/310 **Author:** [@tmwebste](https://github.com/tmwebste) **Created:** 10/10/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `pca10059-dongle` --- ### 📝 Commits (1) - [`76833c4`](https://github.com/safijari/openpuck/commit/76833c4b54f06caf955a8e1e0c2fd7cb669b086f) Add support for the Nordic nRF52840 Dongle (PCA10059) ### 📊 Changes **6 files changed** (+316 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `Makefile` (+61 -0) 📝 `OpenPuck/board_config.h` (+11 -1) 📝 `OpenPuck/fault_diag.cpp` (+2 -2) 📝 `OpenPuck/status_led.cpp` (+9 -4) 📝 `docs/BUILD_AND_DEPLOY.md` (+35 -0) ➕ `docs/NRF52840_DONGLE.md` (+198 -0) </details> ### 📄 Description The Dongle ships with Nordic's Open DFU bootloader at 0xE0000+ and no SoftDevice. It only accepts signed bootloader updates, so it can't be swapped for the Adafruit UF2 bootloader without SWD. The Adafruit core's InternalFS (0xED000) and the fault black-box page (0xE8000) both land inside that bootloader region. - build-pca10059 compiles against a copy of the core's InternalFileSystem moved to 0xD9000-0xDFFFF, with its write guard lowered to 0xE0000, and caps the app below the black-box page at 0xD8000. - package-pca10059 optionally bundles S140 6.1.1 so a fresh Dongle is provisioned in one flash; flash-/deploy-pca10059 use nrfutil Open DFU. - The black-box address moves into board_config.h; the wake LED is the Dongle's green LD1 (P0.06). Pro Micro and Raytac builds produce byte-identical hex before and after. Heavy lifting by Claude --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
safijari/openpuck#279
No description provided.