[PR #217] Enable MakerDiary ConnectKit (and possibly other nosd boards) #242

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

📋 Pull Request Information

Original PR: https://github.com/safijari/openpuck/pull/217
Author: @Jakkumn
Created: 8/4/2026
Status: 🔄 Open

Base: main ← Head: main


📝 Commits (5)

  • bb614c7 Change to nosd for all (leaves sd blob available for bootloaders that require it)
  • 02ab7ed Added vendored settings for makerdiary_connectkit; suggesiton for later: vendor the current, main target
  • 044198b Added notes around makerdiary_connectkit setup/usage
  • a55ffa5 clang-format nosd_flash.cpp to fix the format CI
  • 9c79f53 Merge remote-tracking branch 'upstream/main'

📊 Changes

11 files changed (+539 additions, -2 deletions)

View changed files

📝 Makefile (+34 -2)
➕ OpenPuck/nosd.h (+28 -0)
➕ OpenPuck/nosd_flash.cpp (+83 -0)
📝 README.md (+2 -0)
➕ arduino/hardware/openpuck/nrf52/boards.txt (+65 -0)
➕ arduino/hardware/openpuck/nrf52/platform.txt (+18 -0)
➕ arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/nrf52840_connectkit_nosd.ld (+49 -0)
➕ arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/variant.cpp (+46 -0)
➕ arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/variant.h (+105 -0)
📝 docs/BUILD_AND_DEPLOY.md (+14 -0)
➕ docs/CONNECT_KIT_SETUP.md (+95 -0)

📄 Description

Provides a way to build for nosd boards; tested with makerdiary (https://makerdiary.com/products/nrf52840-connectkit)
Notable changes:

  1. Added a vendored directory to describe the makerdiary
  2. Converted all boards to operate 'like' nosd. For boards that are SoftDevice (sd), the change actually means dropping usage of adafruit's InternalFileSystem and directly reading/writing. The reasoning behind that is that InternalFileSystem expects the S140 sd blob to exist which then will attempt to read/write to a specific section of the stack. On nosd, that place appears to be in text and when the next instruction is read, it blows up. This conversion makes it so both sd and nosd operate the same way with read/writes in an effort to escape this class of problem and unify device operation between bootloader types.

--> This does need someone with a sd device (the suggested device, or similar, in the readme) to test it as I don't personally have one. Please do that before merging!


🔄 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/217 **Author:** [@Jakkumn](https://github.com/Jakkumn) **Created:** 8/4/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (5) - [`bb614c7`](https://github.com/safijari/openpuck/commit/bb614c73bd99b8e2be785f7a4970bd8740722936) Change to nosd for all (leaves sd blob available for bootloaders that require it) - [`02ab7ed`](https://github.com/safijari/openpuck/commit/02ab7ed00bcdbc7bf81ff80f4944f832bc617583) Added vendored settings for makerdiary_connectkit; suggesiton for later: vendor the current, main target - [`044198b`](https://github.com/safijari/openpuck/commit/044198bccd187ee440390b50625188ffa5a938bc) Added notes around makerdiary_connectkit setup/usage - [`a55ffa5`](https://github.com/safijari/openpuck/commit/a55ffa5b0648004ccf24823cea6e6b4d207dea8f) clang-format nosd_flash.cpp to fix the format CI - [`9c79f53`](https://github.com/safijari/openpuck/commit/9c79f533d3d351965cbc3c60ec794d0c2105973f) Merge remote-tracking branch 'upstream/main' ### 📊 Changes **11 files changed** (+539 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `Makefile` (+34 -2) ➕ `OpenPuck/nosd.h` (+28 -0) ➕ `OpenPuck/nosd_flash.cpp` (+83 -0) 📝 `README.md` (+2 -0) ➕ `arduino/hardware/openpuck/nrf52/boards.txt` (+65 -0) ➕ `arduino/hardware/openpuck/nrf52/platform.txt` (+18 -0) ➕ `arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/nrf52840_connectkit_nosd.ld` (+49 -0) ➕ `arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/variant.cpp` (+46 -0) ➕ `arduino/hardware/openpuck/nrf52/variants/makerdiary_connectkit/variant.h` (+105 -0) 📝 `docs/BUILD_AND_DEPLOY.md` (+14 -0) ➕ `docs/CONNECT_KIT_SETUP.md` (+95 -0) </details> ### 📄 Description Provides a way to build for nosd boards; tested with makerdiary (https://makerdiary.com/products/nrf52840-connectkit) Notable changes: 1) Added a vendored directory to describe the makerdiary 2) Converted all boards to operate 'like' nosd. For boards that are SoftDevice (sd), the change actually means dropping usage of adafruit's InternalFileSystem and directly reading/writing. The reasoning behind that is that InternalFileSystem expects the S140 sd blob to exist which then will attempt to read/write to a specific section of the stack. On nosd, that place appears to be in text and when the next instruction is read, it blows up. This conversion makes it so both sd and nosd operate the same way with read/writes in an effort to escape this class of problem and unify device operation between bootloader types. --> This does need someone with a sd device (the suggested device, or similar, in the readme) to test it as I don't personally have one. Please do that before merging! --- <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#242
No description provided.