eApps — 43 Cross-Platform Applications v2.0.0
Complete suite of C + LVGL apps for embedded, desktop, and web. GUI (touchscreen) and CLI (terminal) modes.
Overview
43 apps in 5 categories. All written in C with LVGL v9.1 for GUI. Cross-compiled to Windows, Linux, macOS, EoS, Web (WASM), FreeBSD, and Android.
🔧 Productivity (12 Apps)
📝 eNote
Text editor: syntax highlighting, tabs, search/replace, auto-save
🧮 eCalc
Scientific calculator: expression parser, history, unit conversion, hex/bin/oct
📅 eCal
Calendar and scheduler: events, reminders, week/month/agenda views
📂 eFiles
File manager: tree view, copy/move/delete, preview, storage stats
🔄 eConverter
Unit converter: length, weight, temp, voltage, frequency, hex/dec/bin
📋 eBuffer
Clipboard manager: history, pinned items, cross-device sync, search
⏰ eClock
World clock, alarm, stopwatch, timer, countdown, time zones
🧹 eCleaner
Storage analyzer: scan temp files, logs, duplicates, free space
🔧 eTools
System info, process list, memory viewer, hex editor
📤 eFTP
File transfer: FTP/SFTP, drag-drop, progress bar, resume
🎨 ePaint
Drawing editor: brushes, layers, shapes, color picker, PNG export
📦 eZip
Archive manager: ZIP, TAR, GZ, BZ2. Create, extract, browse
🎬 Media (5 Apps)
🎵 eMusic
Audio player: playlist, equalizer, album art, gapless playback
🎬 eVideo
Video player: HW decoding, subtitles, playlist, fullscreen
🖼 eGallery
Image viewer: thumbnails, slideshow, zoom/pan, EXIF
📄 ePDF
PDF viewer: page nav, zoom, text search, bookmarks
▶ ePlay
Unified media center: music, video, gallery in one hub
🎮 Games (11 Apps)
🐍 Snake
Classic snake: speed progression, score, touch/keyboard
⬛ Tetris
Falling blocks: rotation, line clear, levels, next-piece
💣 Minesweeper
Mine-clearing: flags, timer, 3 difficulty grids
🎲 Dice
Dice roller: 1-10 dice, custom sides, history, stats
♟ eChess
Chess: AI opponent (minimax), history, undo, themes
🏃 eRunner
Endless runner: obstacles, power-ups, parallax
🍬 eCrush
Match-3 puzzle: combos, special tiles, levels
🐦 eBirds
Physics launcher: destructible environments, projectiles
🧱 eBlocks
Block-breaker: paddle, power-ups, ball physics
🍉 eSlice
Swipe-to-slice: fruits, bombs, combos, gestures
🦠 eVirusTower
Tower defense: virus waves, upgrades, strategy
🌐 Connectivity (7 Apps)
💬 eChat
Messaging: EIPC transport, groups, file sharing, encryption
🔌 eSSH
SSH terminal: tabs, key auth, session save, SFTP
🖥 eVNC
VNC remote desktop: encodings, clipboard, scaling
🌐 eWeb
Browser: HTML rendering, bookmarks, tabs, downloads
📡 eSerial
Serial monitor: baud config, hex view, logging, macros
🔒 eVPN
VPN: WireGuard/OpenVPN, server list, kill switch
🚇 eTunnel
SSH tunneling: local/remote/dynamic SOCKS proxy
🛡 Security and System (3 Apps)
🛡 eGuard
Firewall: rule editor, connection monitor, IP block/allow
🎯 Suite
App launcher hub: search, favorites, categories
🤖 eBot
AI chat client: EAI LLM, tool calls, model switching
CLI vs GUI Comparison
| # | App | GUI | CLI | What GUI Adds |
|---|---|---|---|---|
| 1 | eNote | ✅ | ✅ enote file.txt | Syntax highlighting, tabs |
| 2 | eCalc | ✅ | ✅ ecalc "2+3" | Visual buttons, history |
| 3 | eCal | ✅ | ✅ ecal --list | Month grid, drag-create |
| 4 | eFiles | ✅ | ✅ efiles /path | Thumbnails, drag-drop |
| 5 | eConverter | ✅ | ✅ econverter 5 km mi | Visual unit picker |
| 6 | eBuffer | ✅ | ✅ ebuffer --paste | History with preview |
| 7 | eClock | ✅ | ✅ eclock --timer 5m | Analog clock, timer |
| 8 | eCleaner | ✅ | ✅ ecleaner --scan | Storage pie chart |
| 9 | eTools | ✅ | ✅ etools --sysinfo | Live graphs, panels |
| 10 | eFTP | ✅ | ✅ eftp put file.bin | Drag-drop, queue |
| 11 | ePaint | ✅ | ❌ | Requires display |
| 12 | eZip | ✅ | ✅ ezip extract f.zip | Browse contents |
| 13 | eMusic | ✅ | ✅ emusic play s.mp3 | Album art, equalizer |
| 14 | eVideo | ✅ | ✅ evideo play c.mp4 | Seek bar, subtitles |
| 15 | eGallery | ✅ | ✅ egallery --list | Thumbnails, slideshow |
| 16 | ePDF | ✅ | ✅ epdf --text f.pdf | Page rendering, zoom |
| 17 | ePlay | ✅ | ✅ eplay scan /media | Unified media center |
| 18 | Snake | ✅ | ✅ ASCII terminal | Color graphics, touch |
| 19 | Tetris | ✅ | ✅ ASCII terminal | Colorful blocks, touch |
| 20 | Minesweeper | ✅ | ✅ ASCII + coords | Mouse click, flags |
| 21 | Dice | ✅ | ✅ dice roll 2d6 | Animated 3D dice |
| 22 | eChess | ✅ | ✅ echess --ai | Drag-drop pieces |
| 23 | eRunner | ✅ | ❌ | Requires display |
| 24 | eCrush | ✅ | ❌ | Requires display |
| 25 | eBirds | ✅ | ❌ | Requires display |
| 26 | eBlocks | ✅ | ❌ | Requires display |
| 27 | eSlice | ✅ | ❌ | Requires display |
| 28 | eVirusTower | ✅ | ❌ | Requires display |
| 29 | eChat | ✅ | ✅ echat send "hi" | Bubbles, emoji |
| 30 | eSSH | ✅ | ✅ essh user@host | Tabs, split panes |
| 31 | eVNC | ✅ | ❌ | Requires display |
| 32 | eWeb | ✅ | ✅ eweb --dump URL | Rendered HTML, tabs |
| 33 | eSerial | ✅ | ✅ eserial /dev/ttyUSB0 | Hex view pane |
| 34 | eVPN | ✅ | ✅ evpn connect us-1 | Map view |
| 35 | eTunnel | ✅ | ✅ etunnel -L 8080:h:80 | Tunnel diagram |
| 36 | eGuard | ✅ | ✅ eguard --status | Traffic graph |
| 37 | Suite | ✅ | ✅ suite --list | App grid icons |
| 38 | eBot | ✅ | ✅ ebot chat "msg" | Rich chat, tool viz |
Both GUI + CLI: 30 apps. GUI only: 8 apps (ePaint, eRunner, eCrush, eBirds, eBlocks, eSlice, eVirusTower, eVNC)
Platform Matrix
| Category / App | Win | Linux | macOS | EoS | Web | FreeBSD | Android |
|---|---|---|---|---|---|---|---|
| Productivity | |||||||
| eNote, eCalc, eCal, eConverter, eClock, ePaint, eZip | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| eFiles, eTools | ✅ | ✅ | ✅ | ✅ | ⚠ | ✅ | ✅ |
| eBuffer, eCleaner, eFTP | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Media | |||||||
| eMusic, eGallery, ePDF | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| eVideo, ePlay | ✅ | ✅ | ✅ | ✅ | ⚠ | ✅ | ⚠ |
| Games (all 11) | |||||||
| Snake, Tetris, Minesweeper, Dice, eChess, eRunner, eCrush, eBirds, eBlocks, eSlice, eVirusTower | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Connectivity | |||||||
| eChat, eVNC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| eSSH, eWeb, eSerial, eVPN, eTunnel | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Security | |||||||
| Suite, eBot | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| eGuard | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
✅ Full support ⚠ Partial (browser limits) ❌ Not available
Architecture
eApps/
apps/ 43 applications (snake/, ecalc/, enote/, essh/, ebot/ ...)
core/
common/ registry, math, expr parser
ui/ theme, canvas, widgets
storage/ prefs, filesystem helpers
network/ HTTP, FTP, SSH, VPN wrappers
port/
sdl2/ Desktop (Windows, Linux, macOS)
eos/ EoS native (embedded)
web/ Emscripten / WASM
extern/
lvgl/ LVGL graphics libraryBuild Commands
Desktop (SDL2)
git clone https://github.com/embeddedos-org/eApps.git
cd eApps
cmake -B build -DEAPPS_PORT=sdl2
cmake --build build --parallel
./build/eapps_suite # All apps
./build/apps/snake/snake # Just Snake
Web (Emscripten)
source ~/emsdk/emsdk_env.sh
cmake -B build-web -DEAPPS_PORT=web \
-DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
cmake --build build-web --parallel
EoS (Native Embedded)
cmake -B build-eos -DEAPPS_PORT=eos \
-DCMAKE_TOOLCHAIN_FILE=cmake/eos.cmake -DEOS_TARGET=stm32f4
cmake --build build-eos --parallel
Real-World Use Cases
| Scenario | Apps | Description |
|---|---|---|
| Calculator on RPi touchscreen | eCalc | Deploy with LVGL to RPi 7" touchscreen |
| Snake game over SSH | Snake | Play in ASCII mode, no display needed |
| File manager for embedded | eFiles | Browse files on EoS with touch or terminal |
| AI assistant on edge | eBot | Chat with on-device LLM via touch or CLI |
| Remote device management | eSSH + eVNC | Terminal or GUI remote access |
| IoT dashboard | eTools + eGuard | Monitor resources and network traffic |
| Educational kiosk | Suite + Games | Full suite on kiosk for students |
| Serial debugging | eSerial | UART with hex view, logging, macros |