Skip to content
@photon-circus

Photon Circus

A playground for deterministic bare-metal firmware and reusable embedded systems—powering audiovisual art, interactive devices, and curious hardware.

Photon Circus

Deterministic, bare-metal software for embedded systems, instruments, and strange machines.

Photon Circus is an open engineering workshop for embedded Rust, narrowly scoped peripheral drivers, reusable MCU primitives, and the tooling needed to make their behavior measurable.

We favor predictable execution, explicit memory and timing costs, honest hardware evidence, and APIs that expose important failure modes instead of hiding them. Experiments are welcome, but supported components have bounded responsibilities and documented proof for the claims they make.

Featured projects

  • ph-eventing — stack-allocated no_std ring buffers with explicit overwrite and backpressure semantics, verified with Miri and Loom.
  • ph-curves — deterministic embedded curves, calibrated transfer functions, temporal filters, and tickless scheduling without allocation.
  • ph-esp32-mac — bare-metal ESP32 Ethernet MAC support with LAN8720A, smoltcp, Embassy, and esp-hal integration.
  • ph-qmi8658-imu — an async no_std driver for the QMI8658 six-axis IMU.

How we work

  • A repository owns one bounded responsibility and the invariants needed to make it truthful.
  • Device behavior stays in drivers; board resources, scheduling, and application policy stay in integration.
  • Determinism, memory use, code size, concurrency, and physical behavior are measured when claimed.
  • Private development relies on authoritative local verification; released public software adds bounded contributor-facing CI.
  • New organization-owned repositories and packages use the ph- prefix. Existing names remain stable.

Read the adopted Photon Circus Repository Standards v0.1 for lifecycle, naming, documentation, licensing, contribution, CI, branch, and release policy.

Contributing

Public projects carry repository-specific contribution and security guidance. Bug reports with exact hardware, target, toolchain, configuration, and evidence are especially valuable.

MIT is the default license. Some projects use Apache-2.0 when upstream provenance or compatibility calls for it.

Pinned Loading

  1. ph-eventing ph-eventing Public

    Stack-allocated ring buffers for no-std embedded targets: single-owner, lock-free lossy SPSC, and backpressure SPSC. Zero dependencies, no heap, verified with Miri and Loom.

    Rust

  2. ph-esp32-mac ph-esp32-mac Public

    Bare-metal no_std/no_alloc Rust driver for ESP32 Ethernet MAC (EMAC) with LAN8720A PHY, smoltcp, embassy-net, and esp-hal integration

    Rust 2

Repositories

Showing 6 of 6 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…