Skip to content

CaptainFrito/community-sdk

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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 open-x4-sdk

Then 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/EpdScreenController

Then 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.

🀝 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)

  1. Keep modules self-contained
  2. Prefer zero-dependency solutions where practical
  3. Document your additions
  4. Use clear naming and consistent structure
  5. 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%