Skip to content

SnapScreen_0.6.0_firmware

Choose a tag to compare

@AlphaStudioDE AlphaStudioDE released this 09 Sep 08:19
· 6 commits to main since this release

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.