Tools & testing¶
You can develop most of a script without touching a radio. Pick the environment that suits the job:
| Tool | Install | Best for |
|---|---|---|
| Web simulator | Nothing, it runs in Chrome | Quick tries, sharing a reproducible setup, loading a script zip |
| FrSky Suite | FrSky's desktop app | Simulator with a real folder on disk, installing scripts on a radio, backups |
| VS Code project template | VS Code, the Ethos extension, Python | Ready-made project: ▶ deploy to simulator or USB radio, live print() output, i18n, release zips from git tags |
| VS Code deployments | How that tooling works: USB HID, drive discovery, safe copying | |
ethos-tools + an AI agent |
Node.js + a clone or Claude Code plugin | Letting Claude (or another agent) boot a radio, deploy your script, screenshot and drive it, and read its errors |
Whatever you use, read Debugging for how to see print output and Lua errors.
A typical loop¶
- Edit
scripts/<yourscript>/main.luain your editor. - Copy the folder into the simulator's radio directory. Delete any stale
main.luacin it, because Ethos compilesmain.luaon load. - Restart the simulator. Scripts only load at boot, and cached modules stay cached until a restart.
- Watch the console for errors, then exercise the script.
- When it behaves, test on the smallest screen you support (an X18 is 480×320), then on a real radio.