Add Muzi Base board support (Duo + Uno + SuperIO) - #3108
Conversation
|
👍 Awesome thank you. |
|
I want to add that I have tested these scenarios: Companion
Repeater
I have not tested room servers, but I assume they will operate fine based on the performance/results of testing repeaters |
|
+1 again, rebased to the 0.17.1 tag with one minor merge conflict that was easy to follow and built new firmware.zip and loaded successfully via https://apps.meshamerica.com/ |
One nRF52840 variant shared across both radios, picked per env: Duo runs the LR1121, Uno the SX1262. Same PCB, only the radio and its DIO1 pin change. SuperIO adds the SH1107 OLED, GPS, buzzer and joystick. GPS is driven by the 3-position mode switch (Mode 2 = on), polled live the way thinknode_m1 does it. Five quick user-button presses power the unit off; a press wakes it back on (arms the button as an nRF52 GPIO SENSE source before SYSTEMOFF). Consolidates meshcore-dev#2054 and andyshinn's shared-base/uno work, rebased on dev. Co-authored-by: lbibass <ewdries02@gmail.com> Co-authored-by: Andy Shinn <andys@andyshinn.as>
|
@liamcottle just an FYI, as I notice you added the "New Hardware Support" label to #2054 , this PR should supersede that one. It's more complete, and more thoroughly tested across the devices and roles it supports. Thank you. |
liamcottle
left a comment
There was a problem hiding this comment.
Hey there! Thanks for the PR, since it was mentioned that this PR should supersede the original, I have done my review on this one.
- rename the board class and files to MuziBaseBoard
- uppercase the build flags (MUZI_BASE, MUZI_BASE_SUPERIO)
- name the superIO envs muzi_base_{duo,uno}_superIO_companion_radio_ble so
build.sh picks them up
- set MAX_CONTACTS to 350 like the other variants
- move the pin setup from initVariant() into MuziBaseBoard::begin()
|
Looks good, thanks for all the requested changes. I don't have any of these devices, but I'm happy to merge as is if you're all happy that it's working as expected. Only one other note I had was that I see you're defining Wondering if users would prefer the further BLE range. But I do see that we have |
Several of us have been testing the variants for a few months. I've been using one as as daily for two months.I haven't heard any complaints in some time, so I am happy to merge as is.
To be honest, I'd hesitate to reduce the power. My real world experience is that it needs what it's currently using. |
Sorry, I meant that this PR intentionally uses less power for bluetooth than all the other firmwares. Removing that build flag would give it more bluetooth transmit power, likely leading to more range. But if it's working fine as is, I can merge... |
Drop BLE_TX_POWER=0 from the companion envs so they use the default of 4 dBm, like most other variants. The lower power was carried over from the original Base Duo PR and real-world range is better at the default.
Hah, I see what you meant. Sorry, very early here! Yes, I agree, the BLE is probably too low. I will push another commit to set it to the default. |
|
There's some extra discussion here. Looks like it was introduced to save a bit of extra battery life on the t1000e. So my guess is this muzi variant copied some of those build flags over. Will merge in, thanks to all that have contributed! |
Adds board support for the Muzi Base (muzi.works).
It's one nRF52840 variant shared by both radio flavors, selected per build env: the Duo uses an LR1121, the Uno an SX1262. They're the same PCB apart from the radio module and its DIO1 pin.
The SuperIO add-on brings the SH1107 OLED, GPS, buzzer and joystick. GPS is switched on and off by the 3-position mode switch ("Mode 2"), polled live the way thinknode_m1 already does it. Five quick presses of the user button power the unit off, and a press wakes it back on. Tested on Duo and Uno with SuperIO.
Build envs, per radio:
repeater,room_server,companion_radiousb/ble, andcompanion_radioble superIO.Pin map was cross-checked against the Meshtastic muzi_base variant.
This consolidates #2054 (base duo, @lbibass) with @andyshinn's shared-base + uno work, rebased onto current dev, so it supersedes #2054. Original authorship is kept via co-author trailers on the commit.
Closes #2779