Roadmap

Where RPCortex is headed. Updated as versions ship and plans solidify.

v0.8.1 — Nebula Shipped

The final stable release of the β8 "Nebula" line. Closed out the beta backlog: unlimited WiFi profiles, manual recovery mode, --help flags, pkg commands, tilde expansion everywhere, password masking, a functional Program_Execution toggle, echo file redirection, and POST .mpy fallback.

v0.9.1 — Pulsar Shipped · Stable

The definitive β9 "Pulsar" release — succeeds v0.8.1 directly. Turns RPCortex from an interactive shell into something you can script, automate, and leave running headlessly. Every previous v0.9.0 goal is included and the scope was expanded to cover shell-power, packages, and the /Pulsar/ storage layout in one shot.

  • Persistent aliases — survive reboots via aliases.cfg
  • Pipescat file | grep ERROR | wc, real output-capture / exit-code convention
  • && / || chainingwifi connect && pkg update
  • Scripting (.rps)set/$vars, if/else, while; run by filename
  • Streamed cp / mv — 1 KB chunks; mv uses instant same-FS rename for zero copy
  • Configurable prompt hostname, date set RTC, du, watch
  • /Pulsar/ storage — registry, logs, and pkg cache moved from /Nebula/; auto-migrated on update
  • Startup tasksstartup add <cmd> runs commands automatically at login
  • Scheduled taskstask add <secs> <cmd> + foreground task run scheduler
  • Unattended modestartup add task run boots straight into a headless scheduler
  • Over-the-air updatesupdate check / update online over WiFi
  • PicoFetch & RPCMark (benchmark, formerly NebulaMark/PulseMark) — real updatable packages
  • NTP built-inntp sync sets the clock; startup add ntp sync -s for silent boot sync
  • New packagescalc, gpio, i2cscan
  • Compiled .mpy packagesmake_pkg.py --compile; loader auto-falls-back to .mpy
  • pkg install multiple names; PicoFetch / NTP user-removable
  • Download progress bars[####----] 47% on wget
  • Extended curl flags-X, -d, -H, -o, -s, -I, --timeout
  • wifi autoconnect — connect to the strongest saved network, no prompts
  • Silent flagsntp sync -s, wifi connect -s (errors only)
  • Owner & timezoneSystem.Owner, System.TZ_Offset
  • Recovery toolsfscheck, diag, logdump, regreset, pkgdisable
  • Faster deploy — single chained mpremote session (~30× faster than per-file)
Shipped as the stable baseline — the current Install / Update default.
v0.9.5 — Pulsar Folded into v1.0

The multitasking exploration — getting uasyncio working alongside the shell safely. It did its job as a stepping stone, so rather than ship a throwaway incremental release it was folded directly into v1.0; v0.9.1 stays the stable v0.9.x. The foundation below is now the v1.0 base.

  • uasyncio integration — background services run while the shell stays interactive
  • Concurrency safety — cooperative model, screen-ownership, crash-isolated services
  • Background tasks — scheduled tasks fire while idle, no foreground blocker
  • Supervised background serviceshttpd --bg, the service manager, services.cfg
v1.0 — Vela Shipped · Stable

The 1.0 milestone — true multitasking. The shell is async by default: a foreground app (e.g. sysmon) runs cooperatively alongside background services (e.g. httpd --bg) on one event loop and one terminal. The classic synchronous shell stays as the crash / recovery fallback so older setups never break. This is the current stable release — the Install and Update default.

  • Cooperative app framework (appkit) — screen ownership + non-blocking read_key; apps yield so services keep ticking
  • Async by default — background services run while you keep using the prompt (asyncmode off returns the classic shell)
  • Full async line editor — history, Tab completion, cursor + word navigation, shared with the classic shell
  • Async networking (Tier 2)ping/wget/curl (incl. HTTPS) yield to the loop, and httpd --bg streams responses without freezing services
  • Cooperative TUIssysmon, settings, and the file managers (files/desktop/ide) plus the editor all run on the loop
  • Opt-in beta updatesupdate channel beta + a separate OTA manifest; stable devices are never auto-moved
v1.0 is the stable release — grab it from the installer, or run update online on any device to move up to it. Hardware-verified on the Pico 2W and ESP32-S3. It is also the last MicroPython release: what comes next is a native rewrite. See the switch to C++.
🔵
v2.0 — Vela II In development

RPCortex is being rewritten in C++, native on the hardware, with no interpreter underneath. Same shell, same commands, same accounts, same package system — the goal is that you cannot tell the codebase changed except that everything is faster and the memory ceiling is gone. There is no v1.1: the effort that would have gone into it goes here instead. The full reasoning is here.

  • Runtime package loader — compiled apps are loaded, relocated and run at runtime, then unloaded cleanly. This was the go/no-go for keeping a package system without an interpreter, and it went
  • The shell — ~50 commands plus v1’s aliases, pipes, && / ||, redirection, quoting
  • Line editing — cursor and word navigation, history, Tab completion over commands and paths
  • Accounts — salted SHA-256, roles, the guided first-run setup, login backoff
  • Filesystem — littlefs, in the same on-disk format a v1 device already uses
  • WiFi — scan, connect, saved networks, autoconnect
  • The console — v1’s tagged output, colours and boot banner, reproduced rather than reinterpreted
  • Package repositorypkg talking to a real index, so packages install over the air the way they do on v1
  • The rest of the command setping, ntp, wget/curl, watch, the editor
  • OTA updates — A/B flash slots with rollback, which the RP2350 bootrom supports natively
  • Nova D1, ported onto the new package system
  • USB HID — BadUSB, U2F, and the composite-device work that needs native USB
  • The Pico 1/1W back in play — without an interpreter, 264 KB is no longer the wall it was
v1.0 keeps working and stays installable — nothing is being taken away. Direction, not a contract; priorities shift with what people actually want.
Package ideas Anytime

Packages install and update independently of the OS, so these don’t gate any release — they can land whenever someone builds them.

ntp · dht · i2cscan · gpio · calc · backup · speedtest · sysmon · ask — plus the built-in picofetch and rpcmark. Browse and one-click install them on the Packages page.

  • httpd — serve a live status page (CPU / RAM / uptime / temp) over WiFi.
  • mqtt — publish / subscribe so RPCortex can talk to Home Assistant, Node-RED, and friends.
  • git — clone / fetch repositories (read-mostly); the heaviest of the set.
Got an idea for a package? Open an issue or drop it in Discord — see the Package Dev guide to build your own.