Skip to content

Releases: DevMicroCore/fOS

Bugfix -V2.2.1

24 May 17:05

Choose a tag to compare

fOS v2.2.0 Release Notes

Release date: 2026-05-24

Highlights

fOS 2.2.0 introduces a full SD-staged OTA and dedicated recovery architecture:

  • main system in app0
  • minimal recovery system in app1
  • update staging in /system/update/
  • automatic boot fallback logic for failed update boots

Added

  • Full OTA + recovery pipeline for CrowPanel ESP32-S3:
    • OTA list fetch from GitHub
    • selected OTA image download to /system/update/update.bin
    • recovery image download to /system/update/recovery.bin
    • flash recovery into app1
    • set boot partition to app1 and reboot
  • Recovery runtime:
    • validates staged update image
    • flashes staged update to app0
    • switches boot partition back to app0
    • restarts device
  • Boot protection and self-healing state:
    • pending_update
    • boot_attempt_counter
    • automatic fallback to recovery after repeated failed boots
  • Display settings persistence:
    • brightness saved via display settings page
    • minimum brightness clamped to 5%
    • value stored in /system/display/brightness.txt
    • value restored at boot
  • System update folder management:
    • auto-create /system/update during SD initialization

Changed

  • OTA file lookup is now asynchronous:
    • moved from blocking UI path into a background FreeRTOS task
    • update screen remains responsive while OTA file list is loading
  • OTA/Recovery staging paths moved from root SD to:
    • /system/update/update.bin
    • /system/update/recovery.bin
  • Update install flow now keeps stronger error traces in serial logs ([OTA] ERROR: ...) for every failing step.

Fixed

  • Fixed UI freeze during OTA file search after Wi-Fi connection.
  • Improved OTA listing/download robustness with retries, longer timeouts, and recovery RAW fallback names when GitHub API listing fails.

Compatibility Notes

  • Existing SD app format remains supported:
    • type=ui|text|button|calculator|radio|clock|weather
  • This release uses the dedicated app0/app1 partition model (see partitions.csv).
  • SD card format recommendation remains FAT32 (MBR preferred).

Known Limitations

  • Recovery uses a minimal display output path and can still show visible RGB artifacts on some panels while flash operations are running.
  • Internet-dependent features (OTA listing/download, weather, web radio) still depend on network quality and remote endpoint availability.

Ota and Display Update - V2.2.0

24 May 16:46

Choose a tag to compare

fOS v2.2.0 Release Notes

Release date: 2026-05-24

Highlights

fOS 2.2.0 introduces a full SD-staged OTA and dedicated recovery architecture:

  • main system in app0
  • minimal recovery system in app1
  • update staging in /system/update/
  • automatic boot fallback logic for failed update boots

Added

  • Full OTA + recovery pipeline for CrowPanel ESP32-S3:
    • OTA list fetch from GitHub
    • selected OTA image download to /system/update/update.bin
    • recovery image download to /system/update/recovery.bin
    • flash recovery into app1
    • set boot partition to app1 and reboot
  • Recovery runtime:
    • validates staged update image
    • flashes staged update to app0
    • switches boot partition back to app0
    • restarts device
  • Boot protection and self-healing state:
    • pending_update
    • boot_attempt_counter
    • automatic fallback to recovery after repeated failed boots
  • Display settings persistence:
    • brightness saved via display settings page
    • minimum brightness clamped to 5%
    • value stored in /system/display/brightness.txt
    • value restored at boot
  • System update folder management:
    • auto-create /system/update during SD initialization

Changed

  • OTA file lookup is now asynchronous:
    • moved from blocking UI path into a background FreeRTOS task
    • update screen remains responsive while OTA file list is loading
  • OTA/Recovery staging paths moved from root SD to:
    • /system/update/update.bin
    • /system/update/recovery.bin
  • Update install flow now keeps stronger error traces in serial logs ([OTA] ERROR: ...) for every failing step.

Fixed

  • Fixed UI freeze during OTA file search after Wi-Fi connection.
  • Improved OTA listing/download robustness with retries, longer timeouts, and recovery RAW fallback names when GitHub API listing fails.

Compatibility Notes

  • Existing SD app format remains supported:
    • type=ui|text|button|calculator|radio|clock|weather
  • This release uses the dedicated app0/app1 partition model (see partitions.csv).
  • SD card format recommendation remains FAT32 (MBR preferred).

Known Limitations

  • Recovery uses a minimal display output path and can still show visible RGB artifacts on some panels while flash operations are running.
  • Internet-dependent features (OTA listing/download, weather, web radio) still depend on network quality and remote endpoint availability.

Support for the Text, Clock and Weather app - V2.1.0

17 May 14:58

Choose a tag to compare

fOS v2.1.0 Release Notes

Release date: 2026-05-17

Highlights

fOS 2.1.0 extends the SD app runtime with new app types and major runtime decoupling:

  • new clock and weather SD app types in AppContent
  • SD text editor app no longer depends on legacy ui_ScreenText runtime
  • upgraded radio, clock, and weather app UX in the shared app runtime

Added

  • New app type: clock
    • Current Time and Stopwatch tabs
    • calendar view with current day highlight
    • current month opened by default
    • stopwatch controls (Reset, Start/Pause)
  • New app type: weather
    • weather UI rendered in AppContent
    • IP-based location detection
    • current temperature and humidity
    • current weather phenomenon and detected location
    • 7-day weather forecast in roller
  • New weather data pipeline:
    • geolocation via ip-api.com
    • weather data via open-meteo.com
  • New SD example app entries:
    • clock_demo
    • weather_demo
    • text (AppContent-based text editor app)

Changed

  • type=text app in folder /apps/text now opens as the full editor UI inside AppContent (independent runtime path).
  • Radio runtime UI redesigned to match the new visual system:
    • tabs: File Player and Web Radio
    • centered play/pause control (> / ||)
    • updated dark panel/roller styling
  • Clock runtime behavior updates:
    • stopwatch does not auto-start on app open
    • auto-sync to current calendar month once system time becomes valid
  • UnloadApp() now also clears clock/weather runtime state.

Fixed

  • Clock app startup stability improved (reduced object pressure and guarded UI creation paths).
  • Weather app data-fetch reliability improved by replacing unstable provider path that returned server/client errors in field testing.

SD App Metadata (Current)

Supported app.cfg keys in 2.1.0:

  • name
  • icon
  • type=ui|text|button|calculator|radio|clock|weather
  • scrollable
  • layout (for type=ui)
  • content (for type=text)
  • button_text, button_message (for type=button)

Compatibility Notes

  • Existing SD app formats remain supported.
  • For web radio, station lines must be Sender|URL in /music/webradio/webradio.txt.
  • Weather app requires active internet connectivity for ip-api.com and api.open-meteo.com.
  • Recommended Arduino board options:
    • Partition Scheme: Huge APP
    • PSRAM: OPI PSRAM
  • Recommended SD format remains FAT32 (MBR preferred).

Known Limitations

  • App launcher renders up to 6 app directories from /apps (first 6 discovered).
  • Internet-dependent apps (radio streams, weather) depend on network quality and endpoint availability.

A major update to the app system - V2.0.0

08 May 17:39

Choose a tag to compare

fOS v2.0.0 Release Notes

Release date: 2026-05-08

Highlights

fOS 2.0.0 is a major app-system upgrade:

  • dynamic SD apps on 6 launcher tiles
  • unloadable app runtime to reduce memory pressure
  • new built-in app types: calculator and radio
  • root-based storage navigation with parent-folder support

Added

  • SD App Launcher capacity increased to 6 apps (AppL1 to AppL6).
  • New app type: calculator
    • +, -, *, /
    • decimal comma input
    • Math Error on division by zero
  • New app type: radio
    • local file playback from /music/files/
    • web radio playback from /music/webradio/webradio.txt
    • Start/Stop toggle button
  • New filesystem navigation flow in Storage Manager:
    • starts at /
    • folder enter via StorageManagerSelect()
    • .. to go to parent folder
  • New and updated example app package entries:
    • hello_fos
    • button_demo
    • ebook_demo
    • ui_demo
    • calculator_demo
    • radio_demo

Changed

  • App content now runs as a dedicated runtime scene in uic_AppContentArea.
  • UnloadApp() now actively clears app runtime objects and reloads launcher state.
  • SD app default type is now ui (with layout.ui support).
  • Launcher tiles now support optional icon= metadata in app.cfg.
  • SD init now ensures /music/webradio exists.

Removed / Reworked

  • Legacy fixed UI handlers tied to old calculator/weather/radio screens were removed or replaced by app-runtime implementations.
  • App rendering is now centered around SD app metadata and app type dispatch.

SD App Metadata (Current)

Supported app.cfg keys in 2.0.0:

  • name
  • icon
  • type=ui|text|button|calculator|radio
  • scrollable
  • layout (for type=ui)
  • content (for type=text)
  • button_text, button_message (for type=button)

Compatibility Notes

  • Existing type=text and type=button SD apps remain supported.
  • For web radio, station lines must be Sender|URL in /music/webradio/webradio.txt.
  • Recommended SD format remains FAT32 (MBR preferred).

Known Limitations

  • App launcher renders up to 6 app directories from /apps (first 6 discovered).
  • Stream reliability depends on station format/codec and network quality.
  • No in-app persisted calculator history in this release.

1.5.0

02 May 11:08

Choose a tag to compare

fOS v1.5.0 Release Notes

Release date: 2026-05-02

Highlights

fOS 1.5.0 introduces an SD-based App Launcher workflow with dedicated app content rendering, plus stability work for long-running UI usage.

Added

  • SD App Launcher support via /apps (max 4 apps loaded).
  • AppContent screen workflow for opening selected SD apps.
  • Configurable SD app metadata via app.cfg:
    • name
    • type=text|button
    • content (text app)
    • button_text, button_message (button app)
  • Example app bundle in example app/:
    • create_example_app.sh
    • hello_fos
    • button_demo
    • ebook_demo

Changed

  • App Launcher now refreshes app entries only when StartAppLauncher() is opened.
  • Launcher tiles now show app names (icon-less SD app list style).
  • App content text rendering switched to static buffer usage to reduce dynamic heap churn.
  • Wi-Fi reconnect changed to a persistent worker-task model (notify-driven) instead of repeated task create/delete.

Fixed

  • Multiple SD directory-iteration paths now explicitly close file handles.
  • AppContent view stability improved for repeated enter/exit cycles.
  • Additional heap instrumentation added for debugging (free, min, largest).

SD Card Requirements

  • Required format: FAT32 (MBR recommended)
  • Avoid: exFAT, NTFS

Known Limitation

  • Device stability can decrease as more SD apps are loaded and used over time.
  • In practice: the more apps are loaded, opened, and switched repeatedly, the higher the chance of freezes on this hardware/runtime setup.

Calculator has been added - V1.4.0

01 May 15:21

Choose a tag to compare

fOS v1.4.0 Release Notes

Release date: 2026-05-01

Highlights

fOS 1.4.0 introduces a significantly improved calculator engine with better expression handling, precision, and UX.

Added

  • New evaluate_expression(const char * expr) parser in fOS1.0.ino.
  • Support for multi-operator expressions with correct precedence (* and / before + and -).
  • Full decimal-number support in calculator expressions.

Changed

  • Calculator logic moved out of ui_events.c/.h into fOS1.0.ino data handlers.
  • ui_events.c now keeps only event forwarding for calculator actions.
  • Calculator keyboard handling improved for , , <, and > behavior.

Fixed

  • Division by zero now returns a clear calculator output: Math Error.
  • Calculator textarea now shows a cursor immediately by auto-focusing the input field.

SD Card Requirements

  • Required format: FAT32 (MBR recommended)
  • Avoid: exFAT, NTFS

Bugs have been fixed - V1.3.1

26 Apr 12:28

Choose a tag to compare

fOS v1.3.1 Release Notes

Release date: 2026-04-26

Highlights

fOS 1.3.1 improves weather forecasting and fixes a Wi-Fi stability issue.

Changed

  • Weather forecast extended from 5 days to 7 days.
  • Improved behavior when no Wi-Fi networks are found.

Fixed

  • Fixed an issue where the device could freeze when no Wi-Fi network was found.

SD Card Requirements

  • Required format: FAT32 (MBR recommended)
  • Avoid: exFAT, NTFS

Weather app update - V1.3.0

26 Apr 12:03

Choose a tag to compare

fOS v1.3.0 Release Notes

Release date: 2026-04-26

Highlights

fOS 1.3.0 focuses on turning the UI into a complete daily-use firmware with improved connectivity, weather integration, better media support, and stronger SD-based persistence.

Added

  • Weather app with:
    • Automatic location detection (IP geolocation)
    • Current temperature + humidity display
    • Multi-day forecast roller
  • Weather requests now support HTTPS with HTTP fallback handling.

Improvements

  • Better runtime UI state handling for unavailable data (SD, Wi-Fi, weather).
  • More robust startup sequence with staged initialization feedback.

SD Card Requirements

  • Ensure your SD card follows the new/expected folder layout.
  • Required format: FAT32 (MBR recommended)
  • Unsupported/recommended to avoid: exFAT, NTFS

Stopwatch

21 Apr 19:39

Choose a tag to compare

  • A stopwatch has been added.

Date and Time

21 Apr 19:36

Choose a tag to compare

  • A few bugs have been fixed
  • date and time have been added.