Skip to content

feat: port M5Stack Unit C6L support from v1.14.1 fork to v1.15.0 - #1

Closed
vistalba wants to merge 123 commits into
TheRealHaoLiu:main-m5stack-unit-c6lfrom
vistalba:main-m5stack-unit-c6l
Closed

feat: port M5Stack Unit C6L support from v1.14.1 fork to v1.15.0#1
vistalba wants to merge 123 commits into
TheRealHaoLiu:main-m5stack-unit-c6lfrom
vistalba:main-m5stack-unit-c6l

Conversation

@vistalba

Copy link
Copy Markdown

This PR ports the M5Stack Unit C6L (ESP32-C6, SX1262, SSD1306 64x48)
variant from TheRealHaoLiu's fork (based on MeshCore ~v1.14.1) to the
current upstream mainline (v1.15.0).

Changes compared to the original fork:

Hardware configuration:

  • ESP32-C6 @ 160MHz, 16MB flash (DIO mode), PSRAM
  • SX1262 LoRa on SPI (SCLK=20, MISO=22, MOSI=21, NSS=23, BUSY=19, DIO1=7)
  • SSD1306 64x48 OLED on shared SPI (CS=6, DC=18, RST=15), lazy-initialized
  • PI4IO I2C expander (addr 0x43) for LNA, antenna switch, LoRa reset
  • NeoPixel TX indicator on pin 2, buzzer on pin 11
  • I2C: SDA=10, SCL=8

Core changes (src/helpers/):

  • Added MarqueeScroller struct to DisplayDriver.h for small displays
  • Added SSD1306SPIDisplay driver for SPI-bus-sharing OLEDs
  • Fixed SerialBLEInterface.cpp include path

CI:

  • Added build-m5stack-c6l-firmwares.yml: C6L-specific builds
  • Replaced per-example workflows with single build-all-firmwares.yml

Environments:

  • m5stack_unit_c6l_companion_radio_usb
  • m5stack_unit_c6l_companion_radio_ble
  • m5stack_unit_c6l_repeater
  • m5stack_unit_c6l_room_server

Thomas Abbott and others added 30 commits January 29, 2026 16:55
Support for R1 Neo hardware. New variant and baseboard class.
* Known issues:
  - power management is not currently supported
  - power off via long button press is not implemented

Add support for Epson Seiko RX8130CE I2C Real-time clock.
We translate to af internally, it's easier to store and doesn't break
stored prefs. Made get/set af command show deprecated, but it still
works fine.
Co-authored-by: ViezeVingertjes <michael.overhorst@gmail.com>
Allow for platformio.ini files to override the default values for the
following INA3221 related macros:

  TELEM_INA3221_ADDRESS
  TELEM_INA3221_SHUNT_VALUE
  TELEM_INA3221_NUM_CHANNELS

Signed-off-by: Paul Moore <paul@paul-moore.com>
We translate to af internally, it's easier to store and doesn't break
stored prefs. Made get/set af command show deprecated, but it still
works fine.
Co-authored-by: ViezeVingertjes <michael.overhorst@gmail.com>
Fix typo for ThinkNode M5 room server environment
…or changes

- Add multi byte FAQ
- Reword amped radio output setting numbers
- Clarify repeater ID collision including distance, supercede meshcore-dev#1478
- Reference awesome meshcore for community projects. Supercede meshcore-dev#1893
Removed "see note" from RAK 4631 entry in FAQ.
ripplebiz and others added 29 commits April 17, 2026 16:30
…n-dfu-from-mt

Add support for Companion BLE OTA updates on nRF devices
…companion-usb

feat: add USB Companion Radio env for Heltec Wireless Paper
docs: add radio.rxgain command reference
SDK3.x: Fix OTA includes, bump Async version
fix: remove sensors from xiao c3 companion because of bootloops
# Conflicts:
#	docs/faq.md
Removed links to outdated resources and links
Removed links to outdated resources and links
Update script link in FAQ 4.7 to the repo of the fork
…oard-support

Add LilyGo T-ETH Elite SX1262 board support
Include the 'ver' command for retrieving the firmware version
Update cli_commands.md to include 'ver'
…ening

fix(mesh): widen TRACE offset to uint16 to avoid narrowing
Change MeshCore intro video link to The Comms Channel's MC intro playlist
Add variant configuration for M5Stack Unit C6L (ESP32-C6, SX1262 LoRa,
SSD1306 64x48 SPI display). Includes:
- Board class with PI4IO I/O expander for LoRa RF control
- DIO flash mode fix for ESP32-C6 bootloader compatibility
- SSD1306 SPI display with custom minimal UITask for 64x48
- CustomSerialBLEInterface fix for correct BLE Connected status
- All 4 firmware environments: companion (USB/BLE), repeater, room server
Replace per-example workflows (companion, repeater, room server) with:
- build-all-firmwares.yml: builds all variants for all example types
- build-m5stack-c6l-firmwares.yml: C6L-specific builds (all 4 envs)
@vistalba vistalba closed this by deleting the head repository Aug 2, 2026
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.