A community-maintained SDK for building firmware and tools for the Xteink X4 device. This repository is designed to be included as a Git submodule inside PlatformIO projects, providing a shared set of libraries, utilities, and development workflows that make working with the X4 simple and consistent.
The OpenX4 E-Paper Community SDK provides:
- Common PlatformIO-friendly components for the Xteink X4
- Reusable libraries for display control, graphics, hardware helpers, utilities, etc.
- Tools to support flashing, packaging, testing, and device workflows
- A central place for community contributions, improvements, and shared knowledge
The SDK is intentionally modular - bring it into your project and use only what you need.
community-sdk/
βββ libs/ # Reusable components for X4 firmware
β βββ display/ # E-paper helpers & drivers
β βββ graphics/ # Drawing, fonts, UI utilities
β βββ hardware/ # GPIO, power, sensors, timings, etc.
β βββ ... # Add new modules here!
β
βββ tools/ # Dev tools for X4
βββ flash/ # Flash helpers, scripts, workflows
βββ assets/ # Conversion tools for images/fonts
βββ ... # Community-contributed utilities
Each lib aims to be self-contained, documented, and PlatformIO-friendly.
Libs should be categorized under libs/ based on functionality, and then contained within a directory under that root.
Add this repository as a submodule:
git submodule add https://github.com/open-x4-epaper/community-sdk.git open-x4-sdkThen add each lib you need into your platformio.ini file as lib_deps:
lib_deps =
BatteryMonitor=symlink://open-x4-sdk/libs/hardware/BatteryMonitor
EpdScreenController=symlink://open-x4-sdk/libs/display/EpdScreenControllerThen you can include the libraries in your project as usual:
#include <BatteryMonitor.h>
#include <EpdScreenController.h>Or load tools from the tools/ directory as needed.
This is a community-driven project - contributions are not only welcome but encouraged!
Ways you can help:
- Improve or extend existing libraries
- Add new modules to
libs/ - Build utilities for the
tools/directory - Report issues, propose features, or help refine the API
- Improve documentation
- Keep modules self-contained
- Prefer zero-dependency solutions where practical
- Document your additions
- Use clear naming and consistent structure
- Be friendly and constructive in PR conversations
A full contributing guide will be added as the project grows.
This SDK is released under an open-source MIT license. To keep things simple, all contributions and code must also fall under this license.
Feel free to open GitHub issues for support, improvements, or discussion around the Xteink X4 ecosystem. Join the discord here: https://discord.gg/2cdKUbWRE8