Skip to content

indecenti/NucleoOS-P4

Repository files navigation

NucleoOS P4

A modern, RAM-frugal, AI-native operating system for the Guition JC1060P420C_I (ESP32-P4 + ESP32-C6, 7" 1024×600 MIPI-DSI touchscreen) — LVGL UI, native + WASM apps, Wi-Fi OTA.

Part of the NucleoOS family; this is the P4 edition (the Cardputer build lives in its own repo).

License: PolyForm Noncommercial 1.0.0 Platform: ESP32-P4 Framework: ESP-IDF v5.5.2

Free for noncommercial use · commercial use requires a paid licenseniki070585@gmail.com

NucleoOS P4 demo — launcher, App Store, System Monitor, Music, Video, ABC 123

Launcher System Monitor App Store
Launcher System Monitor App Store

Live captures from the device (1024×600).

Highlights

  • 🌍 5 languages — Italian, English, Spanish, French, German (full UI localization, live switch)

  • 🔊 Offline voice synthesis — on-device TTS in Italian & English, no cloud

  • 🌐 Web OS companion — a full desktop-like PWA served over Wi-Fi from the board

  • 🎬 Video player — MJPEG (.avi) and MPEG-1 (.mpg), HW-accelerated (JPEG decode + PPA)

  • 🖼️ Photo gallery — hardware JPEG decode + PPA scaling, SD-cached thumbnails

  • 🎮 WASM app store — sandboxed games & tools loaded from SD (ABI v2 gfx surface)

  • 📷 Camera — photo + MJPEG video capture (.avi)

  • 🎵 Music player — WAV/MP3/AAC/FLAC, background playback, USB-audio output

  • 🎙️ Voice recorder · 🗂️ Files · 🧮 Calculator · 📝 Notes · 🖥️ System Monitor

  • 📡 Wi-Fi OTA — the board self-updates over the air

  • Full design / roadmap: PLAN.md

  • Game platform: GAMEDEV.md

  • Stack: ESP-IDF v5.5.2 · C++23 · LVGL 9 · FreeRTOS · WAMR (WASM)

  • AI persona: Anima (on-device assistant)

Web OS companion

The board also serves a full desktop-like PWA over Wi-Fi — open its IP in any browser and you get a windowed OS with ~35 apps (files, spreadsheet, calculator, media, terminal, system monitor, and more), all talking to the device over a small REST API.

NucleoOS P4 web companion — desktop and apps in a browser

Desktop (in a browser) Windowed apps
Web OS desktop Web OS apps

Hardware

  • SoC: ESP32-P4 (+ ESP32-C6 co-processor for Wi-Fi 6 / BLE via esp_hosted)
  • Display: JD9165 7" 1024×600, GT911 capacitive touch
  • Audio: ES8311 codec (I²S) + on-board mic; hot-plug USB-audio (UAC) output
  • Storage: microSD (FATFS)

What's inside

  • LVGL launcher — adaptive grid, folders, wallpaper, smart dock, search
  • Native apps — Settings, Files, Camera (MJPEG), Gallery (HW-JPEG), Music, Video (MJPEG/MPEG-1), Voice Recorder, System Monitor, Anima assistant, web companion
  • WASM runtime (WAMR) — sandboxed games/tools via the ABI v2 gfx surface; C SDK in sdk/
  • OS services — Wi-Fi, clock (RTC + SNTP), NVS config/backup, offline TTS voice, gestures, notifications, i18n (it/en/es/fr/de)
  • Wi-Fi OTA — dual-OTA partitions, manifest-driven auto-update

Build / flash

Requires ESP-IDF v5.5.2.

# one-time per shell (adjust to your ESP-IDF install)
$env:IDF_TOOLS_PATH='D:\esp\tools'; . 'D:\esp\esp-idf-v5.5.2\export.ps1'

idf.py set-target esp32p4
idf.py build
idf.py -p COM5 flash monitor      # flash + serial (device on COM5)

sdkconfig is generated from sdkconfig.defaults* (kept in-tree); component-manager dependencies are pinned by dependencies.lock.

Layout

Path What
main/ boot entry (app_main.cpp)
components/nv_* OS subsystems — hal, ui, kernel, apps, wasm, media, tts, anima, web, …
apps/ WASM app sources (compiled to app.wasm)
sdk/ WASM app C SDK (nucleo_sdk.h)
sd/web web OS companion (PWA served over Wi-Fi)
system/icons UI icon sources (build consumes the generated components/nv_ui/generated/nv_icons.c)
tools/ asset/voice/icon generators, OTA + sync scripts

system/icons/mdi and system/icons/flat-color are third-party icon repos (own git history), not tracked here — re-clone them only if you need to regenerate nv_icons.c.

Rule

Never flash / OTA / sd-sync without an explicit request.

Contributing

PRs welcome — see CONTRIBUTING.md (includes a short contributor agreement so the project can stay dual-licensed). Third-party components and their licenses are listed in THIRD_PARTY.md.

License

PolyForm Noncommercial License 1.0.0 — free for any noncommercial use (personal, study, research, hobby, non-profit, education, government).

Commercial or production use requires a paid commercial license — see COMMERCIAL.md. Want to ship NucleoOS P4 in a product? Get in touch: niki070585@gmail.com.

© 2026 indecenti. All rights reserved.

About

Custom OS for the Guition JC1060P420C (ESP32-P4, 7" touchscreen): LVGL launcher, native + WASM apps, offline TTS, web companion, Wi-Fi OTA.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors