Zing Forum

Reading

FastJsonRenderer: A Web-Based Visual Design Tool for E-Ink Screens

FastJsonRenderer is a web-based visual design tool for FastJsonDL, built with React and Symfony. It supports drag-and-drop interface design, real-time JSON preview, and export for ESP32 devices, providing an efficient graphical solution for e-ink screen development.

电子墨水屏可视化设计FastJsonDLReactSymfonyESP32物联网Web工具
Published 2026-05-23 19:43Recent activity 2026-05-23 19:50Estimated read 4 min
FastJsonRenderer: A Web-Based Visual Design Tool for E-Ink Screens
1

Section 01

FastJsonRenderer: Web-Based Visual Design Tool for E-Ink Screens

FastJsonRenderer is a web-based visual design tool for FastJsonDL, built with React and Symfony. It simplifies e-ink screen development by supporting drag-and-drop interface design, real-time JSON preview, and ESP32 device export, providing an efficient graphical solution for e-ink projects.

2

Section 02

Background & Problem Statement

E-ink screens are widely used in IoT devices, electronic tags, and smart meters due to their low power consumption and sun-readable characteristics. However, traditional e-ink interface design requires manual coding or complex image conversion, creating a high barrier for non-professional developers. FastJsonRenderer addresses this pain point by enabling intuitive visual operations.

3

Section 03

Technical Architecture & Development Environment

The project uses a modern full-stack architecture:

  • Backend: Symfony 7 framework (PHP 8.3), Doctrine ORM for database operations, MariaDB for storage.
  • Frontend: React 18 for UI, Webpack Encore for resource packaging.
  • Dev environment: DDEV containerization, allowing quick setup with Docker/DDEV (no manual dependency configuration), ensuring consistent development/production environments.
4

Section 04

Core Design Features

Core design features:

  • 1:1 canvas for ED052TC4 (1280×780, 4-bit grayscale) with drag-and-drop element adjustment.
  • Supported elements: text (with fonts like Ubuntu40, Monospace12), filled rectangle, bordered rectangle, line, filled circle, bordered circle.
  • 16-level grayscale (0=black,15=white) matching e-ink display characteristics.
5

Section 05

Real-time Preview & Export Capabilities

Key functional highlights:

  • Real-time JSON preview: Updates as you design, with a draggable dark-themed panel and one-click copy to clipboard.
  • Export options: Save as a .json file or get ESP32-ready configuration via the /api/screens/{id}/export endpoint (includes a clear flag for direct POST to devices).
6

Section 06

Application Scenarios & Target Users

Target users: IoT developers, e-ink application designers, embedded engineers, and students. Use cases: Electronic shelf labels (batch updates via JSON), smart meeting signs, industrial dashboards, and education (lowering the entry barrier for embedded/IoT learning).

7

Section 07

Limitations & Future Roadmap

Current limitations (planned features):

  • SVG import (reuse vector graphics).
  • Undo/redo history (better design fault tolerance).
  • Copy-paste elements, grid alignment (improved efficiency).
  • Custom display resolution (support more e-ink models).
  • User accounts (collaboration), MQTT real-time preview (see physical device updates instantly).