-
-
Notifications
You must be signed in to change notification settings - Fork 0
Hardware targets
This page lists supported boards (matching a checked-in PlatformIO [env:…]) and planned / community bring-up targets. It is not a substitute for release notes: shipped behavior stays documented in the README and CHANGELOG.
Verified “I ran this tub + board” reports still belong on Hardware field notes.
| Board / stack | MCU / flash (typical) | PlatformIO env | Status |
|---|---|---|---|
| Generic ESP32 dev board (tub-side RS485) | ESP32 · varies |
ESP32ota, ESP32prodOta, etc. |
Supported |
| M5 Atom Lite + Atomic RS485 Base | ESP32-PICO-D4 · 4 MB |
M5AtomLite-tub, M5AtomLite-tub-ota
|
Supported (README — M5 section) |
| LilyGo T5 ePaper | ESP32-S3 · varies | ESP32-epd47 |
Supported (remote display; REMOTE_CLIENT + spaEpaper) |
| M5 AtomS3 Lite + (RS485 wiring TBD) | ESP32-S3FN8 · 8 MB | (none yet) | Planned — see below |
Use this when adding or validating hardware. Paste into an Issue or a field-notes row when done.
Board / SKU:
Role (tub-side RS485 / remote client / …):
PlatformIO env name (existing or proposed):
platformio.ini — board =
platformio.ini — extra build_flags (USB CDC, chip define, …):
Partitions: spa_module.csv OK? (resize for larger flash?)
src/config.h — TX485_Rx / TX485_Tx / AUTO_TX:
UART port (default Serial2 in this project):
Optional DE/RE or transceiver wiring notes:
Mechanical stack (e.g. M5 Atom on Atomic RS485 Base): verified compatible? doc link?
Optional RGB / status LED: enabled build flag (e.g. M5_ATOM_LED)? library (M5Atom vs M5Unified vs FastLED only)?
Libraries added to env vs [com]: lib_deps = …
USB upload / bootloader / CDC quirks:
Smoke test: serial log, /status, RS485 counters (/api/rs485):
Firmware version (/api/version):
Tub-side compile-time feature flags used by shipped gateway envs mirror platformio.ini: typically LOCAL_CLIENT, LOCAL_CONNECT, and BRIDGE (plus shared PRODUCTION / logging). The RS485 framing and MQTT stack do not depend on which ESP32 variant you pick; pins, bootloader, partitions, and M5 libs do.
Official hardware docs:
- M5 AtomS3 Lite (ESP32-S3, 8 MB flash, HY2.0 / GPIO layout differs from Atom Lite)
- Compare: M5 Atom Lite (supported tub-side stack today)
-
RS485 UART GPIOs: The supported Atom Lite on Atomic RS485 Base pairing uses firmware
TX485_Rx22 /TX485_Tx19 (seesrc/config-example.h). Do not copy those pins to AtomS3 until M5 documentation (or your own probing) confirms the same stack routes UART to the same lines for the S3 module — HY2.0/header pins differ between products. -
config-example.h: Avoid adding unverified pin blocks there; misleading comments are worse than “TBD on wiki.” -
Optional status LED: Today’s tub-side RGB path is
M5_ATOM_LEDwithm5stack/M5Atomandsrc/led_control.cpp. AtomS3-class boards are typically brought up with M5Unified in M5’s own PlatformIO examples; porting or gating LED code is deferred until a maintainer-owned device is on the bench.
spa_module.csv is 4 MB–oriented (fits Atom Lite). An 8 MB AtomS3 Lite can usually use the same CSV (unused flash at the end). Resizing app or LittleFS is optional future work if you need more on-chip space.
- Add PlatformIO
[env:…]entries (e.g.M5AtomS3-tub/-ota) with an ESP32-S3board, USB CDC flags as needed,lib_depsappropriate for LED choice, and the same tub-sidebuild_flagsasM5AtomLite-tubwhere applicable. -
led_control:#ifdef/split translation unit — M5Unified vs legacy M5Atom, or omitM5_ATOM_LEDuntil ported. -
spa_module.csv: optional larger partitions for 8 MB parts. - Update README,
AGENTS.md, and CHANGELOG when an env merges.
Repo copies under wiki/ sync to GitHub Wiki via CI (see wiki/BOOTSTRAP.md and .github/workflows/publish-wiki.yml).