Releases: AlphaStudioDE/SnapScreen
Release list
SnapScreen_0.6.1_firmware
SnapScreen 0.6.1
A sharper and more stable visual update
SnapScreen 0.6.1 refines the new interface introduced in 0.6.0. This release
focuses on a cleaner appearance system, a completely redesigned four-tool
temperature widget and additional runtime safeguards for everyday printing.
Five focused appearance styles
- Refined the appearance collection to five distinct styles: Signature,
Precision, Signal, Workbench and Contrast. - Each style continues to support independent Light and Dark modes.
- Retired experimental styles and their unused artwork to keep future visual
development focused and reduce firmware growth.
New four-tool temperature widget
- Added a purpose-built graphical temperature widget for all four U1 toolheads.
- Toolheads are presented as 1 through 4 while retaining the correct internal
mapping to T0 through T3. - Current temperatures use compact integer values, with
--when no valid
reading is available. - Heater rings progressively warm toward red as nozzle temperature increases.
- Dedicated side illumination follows the filament color assigned to each
loaded tool instead of showing placeholder colors for empty toolheads. - The active tool uses an opposite-brightness graphical readout panel and
automatically switches text contrast for readability. - Added native 5x3 and 7x4 artwork for both Standard and XL displays. No runtime
upscaling is required. - Removed the old card background and frame so the artwork can use the complete
widget area. - Added transparent rounded corners while preserving smooth lighting and color
transitions in all dynamic image layers.
Printing and UI stability
- Hardened Print Controls against stale LVGL object references during screen and
print-state transitions. - Pause, Resume, Stop and Cancel presentation now updates only when the actual
printer state changes, reducing repeated UI work. - Added transition diagnostics for print controls to make field reports easier
to investigate. - Corrected the LVGL 9.5 performance monitor integration so the on-screen CPU
indicator reports changing UI workload instead of remaining at 100%. - Preserved decoded visual resources in PSRAM to avoid unnecessary repeated
decoding and CPU load.
Validation
- Standard and XL firmware builds completed successfully.
- The release was flashed and boot-tested on both physical SnapScreen variants.
- Project regression checks and native temperature-widget asset checks passed.
- Captured startup logs showed no panic, watchdog or image-decoding failure.
Downloads
| Asset | Purpose |
|---|---|
firmware.bin |
Standard / normal SnapScreen hardware |
firmwarexl.bin |
SnapScreen XL hardware |
version.json |
OTA manifest shared by both variants |
Choose the firmware matching your hardware. Existing installations will select
the correct image automatically through OTA.
CFS Nano support remains experimental. Physical protocol validation continues
separately and is not presented as production-ready in this release.
SnapScreen_0.6.0_firmware
SnapScreen 0.6.0
A new visual system for SnapScreen
SnapScreen 0.6.0 rebuilds the interface around a more expressive, legible and
consistent visual system. It is not just a new color palette: widgets, controls,
navigation and data presentation have been redesigned while preserving the
established screen geometry and touch areas.
The release also moves the interface to LVGL 9.5.0 and introduces a reusable
bitmap-art pipeline designed for the ESP32-P4 and its PSRAM.
12 interface styles, each with Light and Dark modes
- Added 12 distinct interface styles, for a total of 24 appearance modes.
- Every style defines its own surface treatment, borders, control language,
progress presentation, navigation emphasis and chart treatment. - Added independent Light / Dark selection for every style.
- Appearance selection is stored in NVS and restored after restart.
- Changing appearance does not reset dashboard layouts, printer settings or
other user data. - Added layout and rendering tests across both 800x480 and 1024x600 displays.
Raster artwork and PSRAM caching
- Added a curated library of 105 transparent 40x40 bitmap icons.
- Replaced many generic font symbols with purpose-made artwork for printer
status, temperatures, movement, files, CFS, macros, settings and print actions. - Icons inherit the accent color of the selected appearance while retaining
neutral shading and semantic warning colors. - Bitmap data is decoded and tinted lazily, then retained in PSRAM across screen
changes to avoid repeated CPU work. - The complete reusable icon cache occupies approximately 672 KiB, leaving
ample PSRAM for camera frames, thumbnails and 3D models. - Added a deterministic artwork generator and a consistency test covering icon
ordering, dimensions, generated pixel maps and build registration.
Redesigned widgets
- Rebuilt Status widgets with clearer hierarchy for printer state, active file,
temperatures, progress, Smart ETA and connection status. - Reworked print controls with dedicated Pause, Resume, Stop, Cancel and Tune
artwork and stronger active, disabled and danger states. - Rebuilt temperature widgets with visual heater identities, more useful value
hierarchy, cleaner target controls and a substantially improved chart. - Added dedicated visual treatment for speed, flow, fan, heater state and thermal
delta information. - Reworked movement controls with clear directional, homing, extrusion and
Z-offset artwork. - Improved Files placeholders, loading states, selected-file presentation and
empty-folder feedback. - Improved Macro, Notes, CFS and printing-screen presentation.
- Removed redundant widget headings where the function is already visually
obvious, using the recovered space for data and controls. - Filament spool artwork remains programmatically tintable for real filament
colors rather than relying on a fixed set of colored images.
Navigation and fixed screens
- Replaced navigation and top-bar glyphs with raster artwork for Settings,
Camera, Bed Mesh, Terminal, G-code Viewer, Wi-Fi and screenshots. - Preserved the size, location and touch area of protected top-bar and navigation
controls. - Camera, Bed Mesh, Terminal and G-code Viewer retain their established panel and
viewport geometry while adopting the new visual language. - Screenshot feedback now uses the same state artwork as the rest of the system.
LVGL 9.5.0 migration
- Upgraded the interface runtime from LVGL 9.2.2 to LVGL 9.5.0.
- Updated cache and rendering integration for the new LVGL APIs.
- Added host-side smoke tests for image decoding, cache replacement, screen
rendering and style geometry. - Tested decorative style elements against different widget sizes to ensure they
cannot escape card boundaries or disturb flex layouts.
Downloads
| Asset | Purpose |
|---|---|
firmware.bin |
Standard / normal SnapScreen hardware |
firmwarexl.bin |
SnapScreen XL hardware |
version.json |
OTA version manifest shared by both variants |
Choose the firmware for your hardware variant. OTA uses the variant selected
by the installed firmware. The manifest version for this release is 0.6.0.
Validation and hardware testing
- 37 project regression scripts passed.
- LVGL host smoke tests passed for component bounds, caching and rendering.
- Appearance tests covered 7,680 progress layouts and generated 48 reference
renders across all styles, themes and display sizes. - Standard and XL firmware builds completed successfully with approximately
33% of each application partition still free. - Firmware 0.6.0 was flashed to both physical variants and their boot logs were
captured for 800x480 and 1024x600 operation. - Both devices reported more than 26 MB of free PSRAM on the Status screen.
- No panic, watchdog, heap-corruption or bitmap-allocation failure was found in
the captured startup logs.
CFS Nano support remains experimental. This release preserves the safety
and separation work introduced in 0.5.0, but physical changer behavior still
requires protocol and hardware validation.
When reporting a visual issue, please include the hardware variant, selected
style and Light/Dark mode, firmware version, a photo or screenshot, and the
steps needed to reproduce it.
SnapScreen_0.5.0_firmware
SnapScreen 0.5.0
A stronger foundation for every screen
This release focuses on the everyday experience: opening files, switching views,
watching the camera, inspecting G-code and controlling the printer. Behind those
screens, we have reviewed and strengthened connection handling, background tasks,
memory use and the checks that protect printer operations.
The highlights: more reliable screen transitions, better-behaved camera and
preview loading, more accurate G-code interpretation, and substantial work on
the experimental CFS Nano integration.
Interface and everyday controls
- Files and Macros: fixed background-loading and dialog ownership problems
when moving between the main screen and customizable side panels. Closing an
old screen no longer invalidates the newly opened panel's data. - File thumbnails: improved loading around the visible list, retries for
individual failed thumbnails, and protection against outdated results appearing
after navigation or a selection change. - Printing: controls now recheck the current print session and connection
state. Cancel confirmation belongs to the job it was opened for, and repeated
taps are limited to prevent immediate duplicate requests. - Automatic print-screen navigation: improved session tracking, including
starting another print with the same filename. - Temperature and Tune: nozzle controls explicitly target the active
extruder. Partial temperature updates no longer replace its readings with
another heater's values. - Flow: now follows the printer's reported extrusion multiplier, including
a genuine zero value instead of incorrectly displaying 100%. - Settings: failed settings writes are reported rather than treated as
successful changes. Maintenance actions recheck printer readiness before
interrupting a connection or changing stored configuration. - Screenshots: incomplete captures are rejected instead of silently saving
an image with missing overlay content.
Camera and previews
- Switching camera sources no longer starts competing background workers.
- Entering fullscreen preserves the camera source and session while updating
the output size, with zoom handled relative to the source crop. - Camera frames and status updates are checked before publication so results
from an old source cannot overwrite the current view. - Removed an extra HD image copy, saving approximately 4 MB of working memory.
- Improved thumbnail publication and temporary-file handling. Incomplete
downloads no longer replace a previously valid preview.
G-code Viewer
- Corrected coordinate-reset handling (
G92) to avoid artificial jumps in
rendered geometry. - Improved arc interpretation, including supported circular and helical moves,
plane selection and absolute/relative arc-center modes. - Invalid or unsupported arcs are reported rather than drawn as misleading
straight extrusion paths. - Improved layer counting to avoid counting Z-hop moves or duplicate layer markers.
- Lightweight rendering samples the elements that remain visible after filtering.
- Added clipping before line rasterization to handle extreme off-screen geometry.
- Corrected progress calculations for large G-code files.
- Oversized commands and incomplete streams are rejected rather than presented
as a successfully loaded, complete model. - Introduced a shared PSRAM budget for 3D geometry, leaving room for the rest of
the interface. Reaching a model limit is explicitly reported as a partial preview.
Printer operations and calibration
- Manual movement preserves and restores G-code parsing state; manual extrusion
explicitly uses relative extrusion mode. - Homing, motor controls, offset saving and calibration check current printer
state before proceeding. - Bed Mesh calibration and live screw leveling share operation ownership,
preventing overlapping procedures within SnapScreen. - Improved cancellation and heating/soak timeouts. An unconfirmed stop remains
visibly unresolved instead of immediately allowing another calibration. - Invalid, incomplete or non-finite mesh data is rejected instead of being
displayed as a valid bed surface. - Manual filament-change confirmations are tied to their print session and
request. Normal Resume requires a fresh, affirmative sensor reading; Force
does not bypass print-session checks.
Terminal, connectivity and OTA
- Terminal SD loading and log export run in the background. Failed queue
submission keeps the user's input, and oversized commands are rejected in full. - Existing command files are preserved when empty or unreadable rather than
overwritten with defaults. - Centralized WebSocket ownership and bounded command queues reduce conflicts
between the interface and connection lifecycle. - Outdated queued commands are discarded when their connection context changes;
movement commands are not automatically replayed after reconnect. - Shared printer-state snapshots give screens a consistent view of telemetry.
- HTTP downloads now check response completeness before accepting files or metadata.
- Improved coordination between OTA and Moonraker, and restored TLS hostname
verification alongside certificate validation.
CFS Nano and NightOwl
CFS Nano remains experimental. This release strengthens its software
integration, but full physical protocol and filament-handling validation is
still pending. It is not a declaration of production-ready changer support.
- Fixed the stack-protection panic encountered when opening the CFS screen.
- Strengthened separation between CFS Nano and NightOwl, including backend
selection and Auto/Manual/Off checks. - Command results are retained independently of heartbeat updates and UI selection.
- Missing acknowledgements no longer trigger automatic repetition of filament
feed or retract commands. - Cancellation invalidates pending CFS work. If physical stopping cannot be
confirmed, the interface reports that uncertainty explicitly. - Added stricter sensor freshness checks and correlated script responses.
- Numbered change requests help reject duplicate or out-of-order markers within
a print session. - Readiness checks focus on the units actually required by the operation.
- Improved protection against conflicting file-processing/upload jobs and
incomplete local writes. - NightOwl unload failures no longer masquerade as a completed change followed
by an automatic resume.
Downloads
| Asset | Purpose |
|---|---|
firmware.bin |
Standard / normal SnapScreen hardware |
firmwarexl.bin |
SnapScreen XL hardware |
version.json |
OTA version manifest shared by both variants |
Choose the firmware for your hardware variant. OTA uses the variant selected
in the installed firmware. The manifest version for this release is 0.5.0.
Validation and testing notes
- 34 regression scripts passed.
- Standard and XL builds completed successfully.
- The earlier CFS screen-entry fix was verified on both devices without the
previously observed stack panic. The final Files/Macros side-panel changes
have regression/build coverage but still need on-device interaction testing. - Factory C6 firmware and XL panel-rotation settings remain unchanged.
- Physical CFS behavior, delayed acknowledgements, stop/runout scenarios and
hardware-specific display behavior still require testing. This release does
not claim to eliminate every possible display flash or rendering stall.
When reporting a problem, please include your hardware variant, firmware
version, steps to reproduce, and serial logs if available. For camera
or 3D-viewer issues, also include the selected source or a reproducible G-code file.
SnapScreen_0.3.3_firmware
SnapScreen 0.3.3
Frame the print with touch
This release develops the camera into an interactive inspection view: zoom into
the source image and move the crop to the part of the print you want to see.
Camera zoom and pan
- Apply digital zoom by cropping the high-resolution source before scaling it
to the camera viewport. - Calculate crop limits for the standard and XL display sizes.
- Adjust zoom using an on-image slider with minus and plus controls.
- Drag the image to pan in both axes, including diagonal movement.
- Reuse a decoded frame in PSRAM to make local crop adjustments more responsive.
- Offer X/Y direction-inversion controls and a Home control to center the crop.
- Place fullscreen access at the lower-right corner of the camera image.
- Separate the zoom-control touch area from image-drag handling.
- Add more visible outlines to the camera-overlay controls and an English touch hint.
Print-file browsing
- Introduce compact 48 x 48 list thumbnails, with a larger preview in Selected File.
- Remove the redundant G-code extension from displayed file names.
- Use Moonraker metadata for file details without parsing the entire G-code file.
- Develop viewport-based thumbnail loading: visible items plus nearby entries,
paced requests and cleanup outside the active range. - Refine Selected File information placement and reduce unnecessary widget space.
Scope
Camera zoom and pan operate locally in SnapScreen. This release does not add
working stock-U1 camera brightness or contrast commands. It also predates the
subsequent fix for zoom-slider behavior when switching to fullscreen.
Historical release note
These expanded notes were reconstructed from the development conversations and
version-bump milestones. They describe the work leading up to this test release,
not a new update to its firmware assets or a claim of exhaustive hardware validation.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.3.2_firmware
SnapScreen 0.3.2
A dedicated G-code Viewer on SnapScreen
Move beyond the dashboard miniature: select a G-code file from the printer and
inspect its paths in a dedicated viewing workspace.
Files and workspace
- Browse printer files in a Files popup, with a 2D thumbnail and file information.
- Load the selected file into the main viewer without keeping the file list beside it.
- Show or hide G-code information, including parsed layers, moves, extrusion
statistics and model bounds. - Arrange information, tool selectors, the model viewport and feature filters
into separate areas.
Inspect what the printer will do
- Display extrusion paths and travel moves, including auxiliary paths that the
compact model preview normally hides. - Filter path categories such as walls, infill, support, custom and purge/wipe moves.
- Select tools using numbered color chips populated from the G-code.
- Support tool-color markers from standard slicer output and the Rainbow5/Rainbow16 workflow.
Navigate the 3D view
- Rotate, pan and zoom, with a Reset View control.
- Keep viewport gestures separate from the application's screen-swipe navigation.
- Use a 270 mm build-volume reference and a subtle bed grid without an opaque backdrop.
- Use a lighter rendering mode during rotation and panning.
- Control the preview-style one-, two- or three-light setup and its intensity
directly in the viewer.
Dashboard preview refinements
- Refine travel-versus-extrusion handling and filtering of non-model preparation paths.
- Improve the balance of the virtual lights to preserve surface contrast.
- Enlarge the 2D/3D and lighting controls for easier touch interaction.
Historical release note
These expanded notes were reconstructed from the development conversations and
version-bump milestones. They describe the work leading up to this test release,
not a new update to its firmware assets or a claim of exhaustive hardware validation.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.3.0_firmware
SnapScreen 0.3.0
Improving OTA updates
A maintenance release focused on the firmware-download and update experience.
What changed
- Included an OTA update fix.
- Focused on update problems reported during testing, including downloads that failed and required another attempt.
Historical test release. This summary describes the development focus of the release; it does not imply that all related issues were resolved.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.2.1_firmware
SnapScreen 0.2.1
From a thumbnail to an interactive model
This experimental release brings a G-code-based 3D print preview to the dashboard,
with a 2D thumbnail available alongside it.
Interactive 3D preview
- Switch the preview widget between 2D and 3D.
- Build the miniature from the print's extrusion paths rather than requiring an STL.
- Rotate the view to inspect the model from different angles.
- Use a lighter rendering mode during interaction to improve responsiveness.
- Render filament colors from G-code; standard Orca Slicer black-filament output
was explicitly confirmed working during development.
Lighting and presentation
- Choose one-, two- or three-light setups, with lighting fixed relative to the view.
- Adjust light intensity with minus and plus controls.
- Display the model over the dashboard without an opaque black background,
while retaining the bed-outline reference. - Refine model framing, centering and proportions through successive preview tests.
Loading and continuity
- Prioritize the Moonraker PNG thumbnail and show it while the 3D preview is loading.
- Keep a loading message visible until the 3D model is ready.
- Provide SPIFFS storage fallback for the PNG preview when an SD card is unavailable.
- Retain preview data across screen changes and brief reconnects rather than
fetching the same model again on each visit. - Refine automatic navigation to the Printing screen around print-session changes.
Historical release note
These expanded notes were reconstructed from the development conversations and
version-bump milestones. They describe the work leading up to this test release,
not a new update to its firmware assets or a claim of exhaustive hardware validation.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.2.0_firmware
SnapScreen 0.2.0
A terminal at your fingertips
Added a console/terminal interface to SnapScreen.
What changed
- Introduced the console/terminal screen for testing.
- Expanded the interface beyond the existing dashboard, camera and bed-mesh views with a terminal-focused workflow.
Historical test release. This summary describes the development focus of the release; it does not imply that all related issues were resolved.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.1.9_firmware
SnapScreen 0.1.9
Live bed-leveling feedback
The bed-mesh work moved into testing live bed-leveling behavior.
What changed
- Added a live bed-leveling test milestone.
- Extended the preceding mesh-focused work toward following the leveling process on SnapScreen.
Historical test release. This summary describes the development focus of the release; it does not imply that all related issues were resolved.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.
SnapScreen_0.1.8_firmware
SnapScreen 0.1.8
Refining the bed-mesh algorithm
Built on the preceding bed-mesh test with another iteration of the underlying algorithm.
What changed
- Updated the bed-mesh algorithm for further testing.
- Continued refining how bed-mesh data is handled for the on-screen view.
Historical test release. This summary describes the development focus of the release; it does not imply that all related issues were resolved.
Downloads
firmware.bin: standard / normal SnapScreen firmware.firmwarexl.bin: SnapScreen XL firmware.version.json: OTA version manifest.