-
Notifications
You must be signed in to change notification settings - Fork 0
Project Overview
Alex Tants edited this page Aug 2, 2026
·
1 revision
TinyPanel Studio combines four parts in one local development workflow:
- A Node.js application runtime and Canvas renderer.
- A TCP display server that streams RGB565 updates.
- A browser-based Device Studio for editing, previewing, configuring, and debugging.
- ESP32 firmware that receives commands and writes them to a physical display.
Applications stay on the host computer. The ESP32 firmware remains small and generic, reconnects over Wi-Fi, receives frames, draws them over SPI, and acknowledges each completed frame.
- Root-level application library under
apps/ - CodeMirror 6 JavaScript editor with themes, syntax highlighting, folding, search, color tools, manual Ctrl+S mode, and fullscreen workspace
- Per-app JSDoc metadata, logical screen size, orientation, and target FPS
- Native Canvas 2D rendering with TinyPanel helper methods
- RGB565 framebuffer conversion and dirty rectangle transport
- Browser preview built from the exact bytes sent to the ESP32
- Coordinate rulers around the preview
- App errors, app logs, serial monitor, and firmware logs in docked tabs
- Hardware Setup for controller, panel driver, bus, pins, dimensions, rotation, color order, SPI frequency, and Wi-Fi
- PlatformIO build and flash from Studio
- JPEG transport for video and photographic frames
- Built-in Blank Canvas, Crypto Tracker, and Synthwave applications
- Thin client: display logic stays on the host; firmware focuses on transport and drawing.
- One frame in flight: frame-level ACK prevents an unbounded stale-frame queue.
- Exact preview: Studio replays the transport bytes instead of independently rerendering the app.
- Bounded state: the server keeps current framebuffers and bounded logs, not frame history.
- Familiar API: app authors use JavaScript and Canvas-style calls.
- Hardware configuration is explicit: changing a physical target generates firmware configuration and requires a rebuild.
- The validated hardware path is ESP32-C3 Super Mini with ST7735S 160×128.
- Current firmware display rotation commands support the two landscape orientations.
- Apps execute on the host and require the server for normal streaming.
- The JavaScript runtime is a Node VM context, not JavaScript compiled for or executed on the ESP32.
- One physical display has been the primary validation target; multi-device internals exist, but broader UI workflows remain future work.
- Full offline app packages, OTA-managed runtime updates, capability handshake, authentication, and a no-code settings schema are roadmap items.
See the repository Roadmap for planned offline packages, device management, packaging, and production hardening.