Skip to content

feat: add MuziWorks Base bootloader support - #38

Open
Amoulier wants to merge 7 commits into
meshtastic:masterfrom
Amoulier:contrib/muzi-base-upstream
Open

feat: add MuziWorks Base bootloader support#38
Amoulier wants to merge 7 commits into
meshtastic:masterfrom
Amoulier:contrib/muzi-base-upstream

Conversation

@Amoulier

@Amoulier Amoulier commented Aug 24, 2026

Copy link
Copy Markdown

Checklist

  • PR title specifically describes the change
  • tools/build_all.py passes: 18 succeeded, 0 failed with ARM GCC 12.3.Rel1
  • Tested on real MuziWorks Superbase hardware: the OTAFIX bootloader UF2 installed successfully and the node rebooted into Meshtastic normally
  • Tested a complete BLE OTA application update on real MuziWorks Superbase hardware: transfer, flash, reboot, and application startup completed successfully
  • USB VID/PID and board identity retained from the manufacturer's shipping bootloader definition
  • UF2_BOARD_ID is preserved as muzi-Base-Board, matching the shipping device's INFO_UF2.TXT

Description of Change

Adds OTAFIX bootloader support for MuziWorks Base Uno, Base Duo, and Superbase hardware.

The board definition preserves the manufacturer's original hardware contract:

  • nRF52840 with S140
  • 3.3 V REGOUT0
  • blue LED on P1.04 and green LED on P1.03, active low
  • USB VID/PID 239A:0081
  • UF2 volume muzi-Base
  • UF2 board ID muzi-Base-Board
  • UF2 family 0xADA52840
  • BLE DFU advertising name MUZI_DFU

The generated Muzi artifacts were also checked for approved flash ranges, UICR bootloader/MBR parameter addresses, combined HEX contents, SoftDevice presence, and serial recovery ZIP integrity.

Hardware validation

The shipping device reported bootloader 0.9.2-37-gf7fad14, model muzi Base, board ID muzi-Base-Board, and S140 6.1.1. The OTAFIX build was installed by UF2 on a MuziWorks Superbase; installation completed and the device restarted into the existing Meshtastic application without errors.

After installation, a complete Meshtastic application update was performed over BLE OTA on the same Superbase. The transfer completed, the image was written, and the node rebooted into the updated firmware successfully.

@CLAassistant

CLAassistant commented Aug 24, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: fd460d25-bb4c-4db0-9f28-0e6207d280e3


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 46e643456e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
- Heltec T114 / HT-nRF5262
- LilyGO T-Echo
- Minewsemi MX25LE01
- MuziWorks Base Uno / Base Duo / Superbase

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require the new board's build check

Adding this board directory makes the set-matrix step in .github/workflows/githubci.yml create a new build (muzi_base) context, but master protection uses literal context names. Until a human adds this context, a future PR can merge even when the Muzi build fails; coordinate that protection update with this addition and refresh the documented board/check counts.

AGENTS.md reference: AGENTS.md:L127-L130

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed the documentation portion in commits 97752ad and 2bf1783: the repository now records 18 boards, 19 required contexts (set-matrix + 18 board builds), and 4 of 18 boards with board.cmake. The new workflow run correctly includes the build (muzi_base) context but is currently awaiting maintainer approval (action_required). Adding that literal context to master branch protection requires a repository administrator. Hardware validation was also extended in the PR description: a complete BLE OTA application update succeeded on a physical MuziWorks Superbase, including transfer, flash, reboot, and application startup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants