3.0 KiB
OpenX4 E-Paper Community SDK
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.
✨ What is this?
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.
📁 Repository Structure
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.
📦 Adding to Your PlatformIO Project
Add this repository as a submodule:
git submodule add https://github.com/open-x4-epaper/community-sdk.git lib/openx4
Then include any library you want in your code:
#include <openx4/display/BufferedEinkDisplay/BufferedEinkDisplay.h>
#include <openx4/graphics/Canvas/Canvas.h>
Or load tools from the tools/ directory as needed.
🤝 Contributing
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
Contribution guidelines (short version)
- 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.
📝 License
This SDK is released under an open-source MIT license. To keep things simple, all contributions and code must also fall under this license.
💬 Community
Feel free to open GitHub issues for support, improvements, or discussion around the Xteink X4 ecosystem. Join the discord here: https://discord.gg/2cdKUbWRE8