This section features open-source firmware projects based on hardware platforms such as ESP32-S3. They can be compiled and run directly on ZECTRIX e-paper devices.
Data collected: May 31, 2026 (ranking stars last updated at 16:54 on May 31, 2026)
Additional updates: vibecoding-plus added on July 7, 2026; TransitInk OS added on July 23, 2026; xiaozhi-zectrix added on July 27, 2026; Today Is Friday? and TRMNL Firmware added on July 29, 2026Model notice: NOTE4 uses a 400 × 300 monochrome e-paper panel, while NOTE4C uses a 400 × 300 four-color panel. Their display drivers and firmware images are not interchangeable. Before flashing, verify the device model, branch, and build target, and back up the factory flash. Projects that support both models are listed in both indexes.
| No. | Project | Developer | Stars | Language | Category | Link |
|---|---|---|---|---|---|---|
| 1 | vibecoding-voice | mac20777 | 21 | C | Voice-driven coding remote | GitHub |
| 2 | Vocabulary Trainer | li-wendian | - | C | Vocabulary trainer firmware | GitHub |
| 3 | Household Ledger | quellogs (anonysoul) | 5 | C | Household accounting firmware | GitHub |
| 4 | Slate · Ink Note | qiujun8023 | 4 | C | Full-stack e-paper framework | GitHub |
| 5 | vibecoding-plus | MaydayV | 0 | C / Swift | Voice-driven AI coding assistant | GitHub |
| 6 | TransitInk OS | Zerie55699 | 1 | C++ / Python | Hong Kong transit arrival dashboard | GitHub |
| 7 | xiaozhi-zectrix | cattei | 0 | C++ | XiaoZhi AI voice-assistant firmware | GitHub |
| 8 | TRMNL Firmware | LitoMore / TRMNL | 0 | C++ | TRMNL e-paper client (experimental port) | GitHub |
| No. | Project | Developer | Stars | Language | Category | Link |
|---|---|---|---|---|---|---|
| 1 | Today Is Friday? | eyaeya | 1 | C | Low-power novelty calendar | GitHub |
| 2 | TRMNL Firmware | LitoMore / TRMNL | 0 | C++ | TRMNL e-paper client (experimental port) | GitHub |
Author: mac20777
Last updated: 2026-05-06
Link: https://github.com/mac20777/vibecoding-voice
A voice-driven AI coding remote based on an ESP32 e-paper device. Press a button and speak to control Codex or Claude Code without competing for the microphone or interrupting keyboard input.
Original post: https://x.com/mac20777/status/2038541419691028735
![]()
![]()
Author: li-wendian
Last updated: N/A
Link: https://github.com/danleegle/egga-word-machine-offline
This is an ESP-IDF firmware project for the ZECTRIX S3 4.2-inch e-paper vocabulary trainer. The repository root is the directly compilable firmware project and does not include the locally organized files from its former parent directory.
The current firmware includes a built-in vocabulary list for China's postgraduate English entrance examination. Its main screen presents flashcards and supports sequential or random study, a daily goal, saved study progress, and an NFC entry link. The code retains the foundation for Wi-Fi provisioning and OTA-related configuration, but its current primary use is offline vocabulary study.
Preview
Author: quellogs (anonysoul) · Quellog
Last updated: 2026-05-26
Client firmware: https://github.com/quellogs/quellog-eink
Household accounting firmware and a self-hosted server for the ZECTRIX S3 4.2-inch e-paper display.
The firmware uses a layered architecture (Board / Display / Application / UiPage) and includes three pages: a statistics dashboard, recent entries, and device settings. It supports SoftAP web-based Wi-Fi provisioning. Source Han Sans is built in, so Chinese text renders smoothly without a separate font partition. Data is retrieved from the self-hosted server through the device API, with all monetary values represented in cents.
The server uses Fastify + Vue 3 + Postgres and provides dashboard statistics (monthly, quarterly, and yearly) plus transaction-detail APIs. It also integrates a WeChat Bot for conversational bookkeeping and LLM-based automatic categorization using OpenAI or DeepSeek. One-command deployment is supported through docker-compose; all data remains under your control, with no dependency on cloud services.
Preview
Author: qiujun8023 JUN QIU
Last updated: 2026-05-31
Project repository: https://github.com/qiujun8023/slate
It is already close to being a full alternative to the current official version, making it a good choice for users who prioritize privacy or want to use their own LLM API.
Slate is an open-source photo frame, information dashboard, and voice-toy project for 400 × 300 black-and-white e-paper devices. The repository contains device firmware, a backend API, a web management interface, and schemas shared between the frontend and backend.
Current architecture:
firmware/: ESP-IDF 5.5.x firmware targeting ZECTRIX Note4 V1.0 (ESP32-S3 + 4.2" EPD + ES8311 audio + buttons + battery).
backend/: Bun + NestJS 11 + Fastify + Prisma 7 + MySQL 8, responsible for accounts, devices, content groups, content, dynamic frame rendering, audio transcoding, and the device synchronization protocol.
frontend/: React 19 + Vite 8 + Tailwind v4 web management interface.
shared/: zod schemas, dynamic-content configuration, dithering, and pure image-preprocessing functions shared by the frontend and backend.
Preview
Author: MaydayV
Last updated: 2026-07-05
Project repository: https://github.com/MaydayV/vibecoding-plus
vibecoding-plus is a LAN-based voice coding assistant for ZECTRIX S3 4.2-inch e-paper devices. It turns the device into a physical voice remote for AI coding tools such as Codex and Claude Code.
The project includes ESP32 firmware and a native macOS client. The device handles button detection, PCM recording, WebSocket audio upload, and e-paper status display. The macOS client handles speech transcription, text insertion, device management, to-do management, and service configuration. In a typical workflow, you hold the BOOT button and speak; the audio is uploaded to the client over the LAN and, once transcribed, automatically entered at the current cursor position. It can also be sent to Codex CLI or Claude Code CLI.
The firmware supports LAN UDP discovery, WebSocket communication, optional HMAC-SHA256 authentication, Wi-Fi provisioning, heartbeats, automatic reconnection, Wi-Fi recovery, and power-saving deep sleep. The client supports OpenAI Whisper-compatible APIs, Volcengine ASR, Qwen ASR, local transcription with whisper.cpp, and two-way synchronization with Apple Reminders.
It is suitable for developers who want to combine voice input for AI coding, to-do management, and e-paper status display. It also serves as a secondary-development reference for ZECTRIX Note4 / S3 e-paper devices.
Preview
Author: Zerie55699
Last updated: 2026-07-23
Project repository: https://github.com/Zerie55699/transitink-os
Browser installer: https://zerie55699.github.io/transitink-os/
TransitInk OS is an ESP32-S3 public-transit arrival dashboard firmware developed for the ZECTRIX Note 4 hardware profile and its 400 × 300 monochrome e-paper display. The device can show four independently configured widgets and includes an on-device Traditional Chinese settings portal.
It supports arrival times for KMB, Long Win Bus, Citybus, Hong Kong Island, Kowloon, and New Territories Green Minibuses, MTR heavy rail and Light Rail, as well as Transport Department journey-time indicators. On first boot, the device creates a password-protected Wi-Fi access point so users can configure the network and four widget slots in a browser. It also provides an optional daily awake window, scheduled low-power sleep, an offline route directory, and a browser installer for release firmware.
The default PlatformIO environment is zectrix_note4, using an SSD1683-style 400 × 300 display profile. Before flashing, users should verify the device model, flash size, and serial port, then back up the original 16 MiB flash. The project includes backup, flashing, and restore scripts.
License notice: This is an independent source-available project and is not affiliated with or endorsed by ZECTRIX. Its original source code is licensed under the PolyForm Noncommercial License 1.0.0 for noncommercial use only. Commercial use requires separate written permission, while third-party fonts, components, and transport data remain subject to their own terms.
Preview
Author: cattei
Last updated: 2026-07-27
Project branch: https://github.com/cattei/xiaozhi-zectrix/tree/zectrix
xiaozhi-zectrix is a ZECTRIX adaptation branch of the XiaoZhi AI chatbot firmware. The zectrix branch adds the zectrix-s3-epaper-4.2 board profile for an ESP32-S3 device with a 4.2-inch 400 × 300 monochrome e-paper display, ES8311 audio, buttons, battery and charging status, power management, a PCF8563 RTC, and NFC.
The project retains XiaoZhi's voice-interaction stack, including offline voice wake-up with ESP-SR, WebSocket and MQTT + UDP communication, Opus audio streaming, ASR + LLM + TTS and Realtime voice models, plus device-side and cloud-side MCP extensions. The firmware can connect to the official XiaoZhi service by default or to a compatible service configured according to the upstream documentation.
This adaptation adds a dual-firmware switching mechanism. Holding the Up and Down buttons together for about 500 ms during early startup attempts to switch the boot target to the other OTA partition and restart, allowing users to move between XiaoZhi and ZECTRIX firmware. This requires a matching dual-OTA partition and firmware layout, so verify the partition scheme and back up the original firmware before flashing.
The current mainline recommends ESP-IDF 6.0.2, and the board build name is zectrix-s3-epaper-4.2. The project uses the MIT License and can be used for learning, modification, and commercial work. Development should follow the latest code and documentation on the zectrix branch.
MCP architecture
Author: eyaeya
Last updated: 2026-07-29
Project repository: https://github.com/eyaeya/today-is-friday
Latest release: https://github.com/eyaeya/today-is-friday/releases/latest
Today Is Friday? is an ESP32-S3 novelty calendar firmware created specifically for the four-color ZECTRIX NOTE4C. It targets the 4.2-inch 400 × 300 SSD2683 BWRY e-paper panel and shows a short answer based on the day of the week and time period. It includes nine phrase pools with 450 Chinese phrases in total; each pool uses a persistent shuffle bag so a phrase is not repeated before the current round is exhausted. A short press of BOOT selects another phrase, and the interface uses only black, white, red, and yellow.
On first boot, the device creates an open setup access point and Captive Portal so the user can configure 2.4 GHz Wi-Fi and initialize the time from a phone. The firmware keeps time offline with a PCF8563 RTC, wakes automatically at date or time-period boundaries, refreshes the screen, and returns to deep sleep. Holding Down reopens setup. The device does not stay online during normal display operation; it attempts an online time synchronization when entering Thursday.
The current v0.1.1 release includes a single merged image written at 0x0, an app-only image written at 0x20000, a four-segment recovery package, and SHA-256 checksums. The v0.1.1 app-only upgrade, normal screen, and BOOT short press have passed smoke testing on a physical NOTE4C. The merged image structure and its component segments have been verified, but the complete merged combination has not yet been reflashed to the test device.
Device preview
Flashing warning: This project is only for the four-color NOTE4C and must not be installed on a monochrome NOTE4.
merged-offset-0x0.binmust be written at0x0;app.binmay only be written at0x20000on a compatible partition layout. Never mix the files and offsets. Before a first installation, or whenever the current partition layout is uncertain, back up the complete 16 MiB flash and follow the repository README and release notes.The project is published under the MIT License and is based on the
2bpbranch ofLazyYoun/youn-ink-fourcolor-firmware.
zectrix branch)Author: LitoMore / TRMNL
Last updated: 2026-07-29
Project branch: https://github.com/LitoMore/trmnl-firmware/tree/zectrix
Zectrix build notes: https://github.com/LitoMore/trmnl-firmware/blob/zectrix/docs/zectrix.md
This branch adds an initial Zectrix NOTE4 and NOTE4C port to the open-source TRMNL e-paper client. It provides two independent PlatformIO targets: NOTE4 uses zectrix_note4 with the EP42B_400x300 monochrome profile, while NOTE4C uses zectrix_note4c with the EP42YR_400x300 four-color profile. Both targets are built for ESP32-S3 N16R8 hardware and add Zectrix-specific mappings for e-paper power, the GPIO17 board-power hold, Home / OK button wake-up, battery voltage, and charging status.
Once connected to the TRMNL service, the device can use its captive setup flow to join Wi-Fi, retrieve and display 400 × 300 TRMNL custom-screen content, and then enter timed sleep. Each target produces a normal application image and a merged_firmware.bin that starts at 0x0. The Zectrix targets currently need to be built from source; upstream TRMNL OTA and the factory QA flow for official TRMNL hardware are deliberately disabled.
Device preview
Experimental warning: The repository currently confirms that both targets compile, but the display controller, waveform, and deep-sleep paths still require validation on the corresponding NOTE4 / NOTE4C hardware batches. Back up the complete 16 MiB factory flash before the first test. The NOTE4C four-color driver in particular must be checked against the actual panel. If the device loses power on its first boot, keep the physical power button held, re-enter download mode, and be ready to restore the backup.
The project uses the GPL-3.0 License. This repository is a fork of
usetrmnl/trmnl-firmware; use thezectrixbranch anddocs/zectrix.mdas the source of truth for the Zectrix port.