[PR #268] Add Makerdiary MDK USB Dongle support #269

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

📋 Pull Request Information

Original PR: https://github.com/safijari/openpuck/pull/268
Author: @ixelyth
Created: 9/3/2026
Status: 🔄 Open

Base: main ← Head: makerdiary-mdk


📝 Commits (1)

  • 0d1b378 Add Makerdiary MDK USB Dongle support

📊 Changes

15 files changed (+870 additions, -9 deletions)

View changed files

📝 .github/workflows/build.yml (+30 -1)
📝 .github/workflows/release.yml (+40 -1)
📝 Makefile (+39 -2)
📝 OpenPuck/OpenPuck.ino (+23 -0)
📝 OpenPuck/board_config.h (+5 -1)
📝 OpenPuck/fault_diag.cpp (+12 -0)
📝 OpenPuck/status_led.cpp (+28 -3)
➕ bootloader/makerdiary/0001-Makerdiary-reset-UICR.patch (+75 -0)
➕ bootloader/makerdiary/0002-OpenPuck-app-handoff.patch (+15 -0)
➕ bootloader/makerdiary/README.md (+72 -0)
➕ bootloader/makerdiary/build_mdk_bootloader.sh (+127 -0)
➕ bootloader/makerdiary/flash_mdk_bootloader.sh (+36 -0)
📝 docs/index.html (+1 -1)
➕ tools/make_mdk_first_install.py (+181 -0)
➕ tools/verify_mdk_bootloader_hex.py (+186 -0)

📄 Description

Resolves #181

Adds support for the Makerdiary nRF52840 MDK USB Dongle.

This includes application build support, board-specific reset/LED behavior, bootloader support, first-install tooling, and CI/release integration.

Fully tested with the actual dongle -- no issues on my end.

Changes:

  • Adds Makerdiary bootloader build/flash support and first-install image generation.
  • Adds an explicit Makerdiary MDK application build target.
  • Adds the OPK_BOARD_MDK_USB_DONGLE board target.
  • Supports the MDK dongle's P0.16-to-P0.18 hardware-reset wiring. (Credit to @stickman-dev)
  • Adds active-low RGB status LED handling for the MDK board.
  • Preserves WebUSB and Adafruit DFU behavior.
  • Preserves the required USB interface ordering for normal and Debug CDC configurations.
  • Allows Debug CDC to be used with WebUSB functional at the same time.

Massive credit to @stickman-dev for their MDK work.


🔄 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/268 **Author:** [@ixelyth](https://github.com/ixelyth) **Created:** 9/3/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `makerdiary-mdk` --- ### 📝 Commits (1) - [`0d1b378`](https://github.com/safijari/openpuck/commit/0d1b378e9e75c52b6ea119e685257f4c3c1ac17e) Add Makerdiary MDK USB Dongle support ### 📊 Changes **15 files changed** (+870 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yml` (+30 -1) 📝 `.github/workflows/release.yml` (+40 -1) 📝 `Makefile` (+39 -2) 📝 `OpenPuck/OpenPuck.ino` (+23 -0) 📝 `OpenPuck/board_config.h` (+5 -1) 📝 `OpenPuck/fault_diag.cpp` (+12 -0) 📝 `OpenPuck/status_led.cpp` (+28 -3) ➕ `bootloader/makerdiary/0001-Makerdiary-reset-UICR.patch` (+75 -0) ➕ `bootloader/makerdiary/0002-OpenPuck-app-handoff.patch` (+15 -0) ➕ `bootloader/makerdiary/README.md` (+72 -0) ➕ `bootloader/makerdiary/build_mdk_bootloader.sh` (+127 -0) ➕ `bootloader/makerdiary/flash_mdk_bootloader.sh` (+36 -0) 📝 `docs/index.html` (+1 -1) ➕ `tools/make_mdk_first_install.py` (+181 -0) ➕ `tools/verify_mdk_bootloader_hex.py` (+186 -0) </details> ### 📄 Description Resolves #181 Adds support for the Makerdiary nRF52840 MDK USB Dongle. This includes application build support, board-specific reset/LED behavior, bootloader support, first-install tooling, and CI/release integration. Fully tested with the actual dongle -- no issues on my end. **Changes:** - Adds Makerdiary bootloader build/flash support and first-install image generation. - Adds an explicit Makerdiary MDK application build target. - Adds the OPK_BOARD_MDK_USB_DONGLE board target. - Supports the MDK dongle's P0.16-to-P0.18 hardware-reset wiring. (Credit to @stickman-dev) - Adds active-low RGB status LED handling for the MDK board. - Preserves WebUSB and Adafruit DFU behavior. - Preserves the required USB interface ordering for normal and Debug CDC configurations. - Allows Debug CDC to be used with WebUSB functional at the same time. Massive credit to @stickman-dev for their MDK work. --- <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#269
No description provided.