COMPUTING SOVEREIGNTY ON $50 HARDWARE
Before Pisces Moon OS, every piece of software ever written for the ESP32-S3 hardware class did one thing. A wardriving tool. A mesh radio platform. A game. When you turned on the device, it did its one function and nothing else.
Two inventions that did not exist before this project. The Ghost Engine — a persistent Core 0 process that wardrives, scans BLE, and logs GPS continuously, always, regardless of what the operator is doing on Core 1. You can play a game. Use the AI terminal. Browse files. The Ghost Engine never stops. The SPI Bus Treaty — the first named architectural standard for shared-bus arbitration on the ESP32-S3, the reason the Ghost Engine can run unconditionally. Without it, Core 0 and Core 1 destroy each other over the shared bus. With it, the device is always collecting and the operator is never interrupted. Building an OS complex enough to need both exposed ten engineering problems that had no documented solutions for this platform. Not because the solutions were obscure. Because no previous project was complex enough to trigger them. The SPI Bus Treaty is now a published architectural whitepaper — spi-bus-treaty.html — with a systematic audit of all 54 mutex take sites. The Ghost Engine invariant is enforced, documented, and proven across three hardware targets.
"The forge didn't need VC funding to build the Saturn V. It just needed focus and the right raw materials."
ONE PLATFORM. MULTIPLE DEPLOYMENT TARGETS.
As of May 15, 2026, Pisces Moon OS runs on two LilyGo devices simultaneously in the field. The same firmware. The same Ghost Engine. The same SPI Bus Treaty. Different hardware. One platform. The photo above was taken this morning — both devices wardriving in downtown Los Angeles, session 83.
The Ghost Engine never stops. The SPI Bus Treaty is why. Two devices. Downtown Los Angeles. Session 83. May 15, 2026.
TEN NOVEL PROBLEMS — NONE IN THE LITERATURE BEFORE THIS PROJECT
The first six problems did not exist in prior documentation because no previous ESP32-S3 project was complex enough to trigger them. Problems seven and eight emerged during the T-LoRa Pager port — hardware-variant GPIO collisions and SPI bus state corruption. Problem nine is the Ghost Engine silent failure mode on devices with deferred SD mount. Problem ten is the first hardware-enforced ELF sandbox on the ESP32-S3 for a general-purpose OS. All ten solutions are now the public reference standard for this hardware class. DEVICE ARCHITECTURE REFERENCE →
MicroSD and LoRa radio share the SPI bus. Simultaneous operation under sustained load causes non-deterministic Guru Meditation crashes. Solution: The SPI Bus Treaty — the first named architectural standard for shared-bus arbitration on the ESP32-S3. Not a bug fix. A protocol. A platform contract that every OS component and every third-party developer must follow. The first documented instance of this solution class on this hardware. It now belongs to the public technical literature.
Running wardriving, AI client, BLE scanner, GPS, LoRa, and 60fps UI simultaneously exhausts 320KB internal SRAM. Crashes in different subsystems appeared as different bugs. Solution: PSRAM heap redirection via single compiler flag — first application in a general-purpose OS context.
Core 0 (Ghost Engine) and Core 1 (UI) concurrent SD card access corrupts SdFat linked list data structures. Only manifests at high WiFi network density — invisible in lab, near-certain in downtown Los Angeles. Solution: FreeRTOS mutex + radio state flag. Zero crashes after implementation.
150+ simultaneous BLE advertising devices cause callback stack overflow. GPS timeouts, display corruption, and random reboots were all the same root cause. Cannot be discovered in a lab. Solution: stack sizing, hard scan buffer limit, GPS drain loops — all three required simultaneously.
AES encryption — the standard solution — holds the SPI bus long enough to crash the device. The security requirement and hardware constraint were irreconcilable within the original framing. Solution: reframe the requirement. Metadata deletion renders all Ghost Partition data operationally inaccessible in milliseconds, within Treaty budget. The underlying flash sectors retain data until overwritten — the Nuke provides time-pressure inaccessibility, not forensic destruction.
LilyGO manufactured two production batches with different GPS modules at different baud rates. Undocumented. Silent failure — no error output. Solution: baud rate auto-detection. First documented solution to this hardware variation problem.
OPEN SOURCE — AGPL-3.0
All technical claims are verifiable against the public codebase. Both repositories are licensed under AGPL-3.0. Commercial licensing available for enterprise deployments that cannot comply with copyleft requirements.
python3 pm_bridge.py.BUILD PISCES MOON APPS — NO TOOLCHAIN REQUIRED
Three tools for developers. Try the OS without hardware. Write apps without installing PlatformIO. Flash directly from Chrome. All in the browser.
The full technical and philosophical documentation. Five industry assumptions being disproved. Eleven novel engineering problems documented. Two markets, one platform. All claims verifiable.
MULTI-DEVICE REFERENCE
T-Deck Plus vs T-LoRa Pager — display topology, input abstraction, power management, SPI Bus Treaty differences, boot sequence comparison, and ten common pitfalls when writing cross-device code.