Skip to content

Serial interface

Pirata edited this page Aug 21, 2026 · 1 revision

Serial interface

Launcher exposes a command console over the device's serial port. It was added so devices without a keyboard or touchscreen — the StickC Plus 2, headless builds, and similar — can still be configured, and it is also convenient for scripting and debugging on any board.

Connecting

Connect to the device's USB serial port with any serial monitor, for example the PlatformIO or Arduino serial monitor, screen, putty, or pio device monitor. Type a command and press Enter.

Start with:

help

The help output only lists the commands the current build actually supports. Touch calibration commands appear only on resistive touch devices, and SDIO commands only on boards with a second SDIO bus.

General

Command What it does
help List the available commands
version Print the Launcher version
whoami Print the device name of this build
reboot Restart the device

Navigation

Injects a button press, so you can drive the whole UI from the serial port.

nav <NextPress|PrevPress|SelPress|EscPress>

next, prev, sel, and esc are accepted as short forms, and UpPress/up and DownPress/down are available on devices with those buttons.

WiFi

Command What it does
wifi scan List the networks in range
wifi connect <SSID> [PWD] Connect now, without saving
wifi disconnect Disconnect from the current network
wifi add <SSID> <PWD> Save a network to the credential list
wifi del <SSID> Remove a saved network
wifi list List saved networks
wifi clear Remove all saved networks
wifi auto Connect to the first known network in range
wifi hosted retry Re-arm the WiFi co-processor bring-up, on boards that use one

Example, the common case for a device with no input hardware:

wifi add MyNetworkSSID MyN37w0rkPWD

Saved passwords are encrypted before being written to NVS and config.conf.

Partitions

Command What it does
partitions Print the current partition table
partition delete <label> Delete one partition
partition deleteall Delete all non-protected partitions
partition edit <label> <offset> <size> Move or resize a partition
partition create <type> <subtype> <label> <size> Create a partition

type is app or data. For app, the subtype is ota. For data, the subtype is fat, spiffs, or littlefs.

These commands write to the real partition table. Deleting or moving a partition can destroy its data — back up anything important first, and prefer PMan or the WebUI when you want staged changes you can discard.

Flashing

flash firmware <name> <size>

Starts a firmware transfer of the given size over the serial port.

Settings

Command What it does
settings get Print the current settings as JSON
settings set <json> Apply settings from a JSON document

Touch calibration

Available on devices with a resistive touchscreen, such as CYD, Marauder, Phantom, and T-HMI boards.

Command What it does
calibrate Run the interactive calibration routine
calibrate show Print the stored calibration values
calibrate set <Xmax> <Xmin> <Ymax> <Ymin> <rot> Write calibration values directly
calibrate mirror <X/Y> Mirror one axis
calibrate swapXY Swap the X and Y axes

This is the recovery path when a touchscreen is calibrated so badly that you cannot reach CFG > Calibrate Touch on the device itself.

SDIO pins

Available on boards that expose a second SDIO bus.

Command What it does
sdio show Print the configured pins
sdio set <clk> <cmd> <d0> <d1> <d2> <d3> <rst> Set the pins
sdio reset Restore the board defaults

Notes

  • Commands are case-insensitive.
  • An unrecognised command answers ERR unknown command, type 'help' for command list.
  • The console runs alongside the normal UI, so a nav command and a physical button press do the same thing.

Clone this wiki locally