max 0304f1428f
Rust / Clippy, Rustfmt, Tests (push) Waiting to run
Rust / Linux-x64 build (push) Blocked by required conditions
Rust / GitHub release (push) Blocked by required conditions
Add system utilization metrics to aster web UI
2026-06-09 20:55:14 +02:00
2025-09-17 21:23:11 +02:00
2025-09-17 21:29:36 +02:00
2025-09-17 21:29:36 +02:00
2025-08-28 09:03:30 +02:00
2025-08-31 21:32:15 +02:00
2025-07-25 17:31:37 +02:00
2025-07-25 17:31:37 +02:00

AOOSTAR WTR MAX / GEM12+ PRO Screen Control

Reverse engineering the AOOSTAR WTR MAX display protocol, with a proof-of-concept application written in Rust.
It has only been tested on the WTR MAX, but should also support the GEM12+ PRO device.

Check out the User Guide for a list of features and installation and usage information.

Features

  • Control the AOOSTAR WTR MAX and GEM12+ PRO second screen from Linux.
  • Switch the display on or off.
  • Display images (with automatic scaling and partial update support).
  • Render dynamic sensor panels defined from the AOOSTAR-X software.
    • Update sensor values from simple text files.
    • Rotate through multiple panels in a defined interval.
  • USB device/serial port selection.

Experimental Web UI

This fork also contains an experimental aster-webui crate for managing custom panel images and Monitor3.json through a browser.

Current scope:

  • upload source images through the browser
  • normalize them to AOOSTAR-safe 960x376 JPG files
  • manage rotation order and switch interval
  • enable or disable custom panels without the vendor web UI
  • drive the AOOSTAR LCD directly through the native aoostar-rs serial implementation

Start it from the workspace root:

cargo run -p aster-webui -- --config-dir /config --bind 0.0.0.0:8080

Important:

  • the current web UI writes compatible Monitor3.json and /config/img/* assets
  • animated GIF uploads currently use the first frame only
  • the native display loop runs automatically and uses the default AOOSTAR USB UART unless --device, --usb, --simulate, or --disable-display is specified
  • the native path currently targets custom image panels; built-in vendor sensor themes are not yet reimplemented in the web UI

Native Container Variant

This fork also ships a separate containerized Unraid-friendly variant based purely on aoostar-rs.

Files:

  • container/Dockerfile
  • container/entrypoint.sh
  • container/unraid/aoostar-rs-webui.xml

Build locally from the repository root:

docker build -f container/Dockerfile -t aoostar-rs-webui:latest .

Example run:

docker run -d \
  --name aoostar-rs-webui \
  --device /dev/ttyACM0:/dev/ttyACM0 \
  -p 8080:8080 \
  -v /mnt/user/appdata/aoostar-rs/config:/config \
  aoostar-rs-webui:latest

The container starts only the native Rust stack:

  • aster-webui on port 8080
  • direct LCD rotation through aoostar-rs
  • no vendor binary and no _MEI*/sys_img runtime sync

Disclaimer

I take no responsibility for the use of this software.
There is no official documentation available; all display control commands have been reverse engineered from the original AOOSTAR-X software.

Even though this software works fine for me, I cannot guarantee that it is risk-free:

  • It may or may not work.
  • It could crash the display firmware, requiring a power cycle.
  • It could even brick the display firmware.
  • You have been warned!

The risk remains until the manufacturer provides official documentation, and the protocol can be reviewed. Note: Multiple attempts to contact the manufacturer for documentation have received no response.

With that out of the way, on to the fun stuff!

  • Browse the source code or read the User Guide
  • See releases for binary Linux x64 releases. A Debian package for easy installation is planned for the future!

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please note that this software is currently in its initial development and will have major changes until the mentioned goals above are reached!

License

Licensed under either of

at your option.

S
Description
Fork of aoostar-rs with experimental web UI for AOOSTAR screen control
Readme 7.6 MiB
Languages
Rust 96.7%
Shell 2.8%
Dockerfile 0.5%