Skip to content

Flash guide · Method 5 of 5

Build from source with PlatformIO

~30–45 min Developer For contributors

This method is for contributors and developers who want to modify firmware, build a custom fork, or run unreleased code. If you just want to install CrossPoint, use the web flasher instead — it's much faster.

Prerequisites

  • PlatformIO IDE or PlatformIO Core (CLI) installed
  • Python 3.x
  • Git with submodule support
  • USB-C data cable and an unlocked device

Steps

  1. 1

    Clone the repository with submodules. The --recursive flag is required to pull submodules.

    git clone --recursive <repo-url>
  2. 2

    Open the project in VS Code with the PlatformIO extension, or run the following to build and flash in one step from the terminal.

    pio run --target upload
  3. 3

    Monitor serial output to see boot logs and debug output.

    pio device monitor
  4. 4

    Note: This is the required build path for Microreader, and how every fork is compiled before release.

Troubleshooting

Build fails with missing dependencies
Run pio pkg update to update libraries. Check you're using a compatible PlatformIO version (see each project's README for the required version).
git submodule errors
Run inside the cloned directory:git submodule update --init --recursive
Upload fails after build
Follow the same esptool port troubleshooting: check the serial port, cable, and device wake state. PlatformIO uses esptool internally.
Build takes very long
Normal on first run — PlatformIO downloads toolchains. Subsequent builds are faster.

Still stuck, or hit a different error? Browse every fix in the Xteink firmware help & FAQ — searchable by problem.

Most users don't need this

Just want to install CrossPoint?

The web flasher installs CrossPoint in about a minute — no terminal, no Python, no build tools required.