Wollemi is a fully open, modular small-satellite platform and its first mission: a science-first 12U CubeSat with a tiered 50-year survival design, generated end to end from configuration files and checked by an automated regression on every change.
Drag to orbit; click once to enable scroll-to-zoom -- this is the real parametric CAD model, not a picture.
No slideware: every render, drawing and number on this page comes from one real, checked model -- change it, and the page changes with it.
Wollemi is an open, modular, long-life 12U science observatory and reference platform. It produces multi-decade space-weather, radiation and Earth-observation data, demonstrates robust electronics and software in orbit, and publishes the design, data and tools for anyone to reuse.
Long-record data: magnetic field, energetic particles, solar X-ray/UV, total solar irradiance, radiation dose, plasma, VLF, gamma-ray bursts.
5 m class imaging telescope, hyperspectral scenes sharing the same optics, thermal infrared, wide-field night imagery.
Radiation behaviour of three different compute families and of flash memory types over years, with the error data published openly.
The bus, cell grid, backplane, protocol and tooling are designed once and reused: a new mission is a configuration change plus new cards, not a redesign.
Hardware under CERN-OHL-S-2.0, software under Apache-2.0, documents under CC-BY-4.0 -- published and REUSE-compliant alongside the rest of the design.
A tiered survival architecture: the beacon and supervisor are designed to outlive the batteries, which are designed to outlive the heavy compute -- graceful degradation, not a single point of failure.
Every image below is rendered directly from the real parametric CAD model (mechanical/wollemi_cad.py, build123d/OpenCascade), not a concept sketch -- the same model that the mass, interference and structural checks run against.
The spacecraft is the real CAD geometry (`mechanical/wollemi_cad.py`), rendered with a real path tracer (Blender/Cycles) using an actual NASA Blue Marble Earth photograph; the solar-cell and MLI-foil surface materials are illustrative, and the starfield is procedural, but the lighting and geometry are physically simulated, not hand-drawn.
A schematic illustration of the wings unfolding from the stowed launch configuration to fully deployed. The hinge/accordion mechanism itself is not yet designed (see the open items below), so this animation interpolates each panel's stowed and deployed footprint rather than simulating a real mechanism -- it exists to communicate the concept, not to validate it.
Each wing carries three double-sided panels (cells on both faces, needed because the preferred dawn-dusk orbit keeps the sun on the wing-normal axis rather than always on one side). Six hold-down posts per stack keep the launch-configuration vibration mode comfortably above the rideshare minimum.
| Deployed span | about 2.1 m tip to tip |
|---|---|
| Panel count | 2 wings × 3 panels, double-sided |
| Stowed protrusion | within the CubeSat Design Specification rail envelope |
| Release mechanism | burn-wire, three independent inhibits |
| Form | 12U CubeSat envelope, 2×2×3 cell grid around a central spine, notched 100×100 mm cards |
|---|---|
| Mass / power | about 16.8 of 24 kg budget; 58 W sun-biased, 28 W tumbling, 3 W safe-mode load |
| Science payload | ~26 instruments: 5 m class telescope + hyperspectral (shared optics), thermal IR, magnetometer, particle spectrometer, X-ray/UV monitor, total solar irradiance, VLF/ELF, gamma-ray burst counter, radiation dosimetry, SEU/flash experiments |
| Compute | MSP430FR supervisor, 2×STM32H7 flight controllers, mass memory unit (8×128 GB, 6+2 erasure coding), Raspberry Pi CM5, NVIDIA Jetson Orin Nano |
| Power | two independent LiFePO4 chains (A/B) plus a fully independent survival chain, hardware-only protection (no MCU in the trip path) |
| Propulsion | iodine electric gridded-ion thruster on the centre line, canted through the centre of mass; ~570 m/s available delta-v, drag sail as passive backup |
| Comms | UHF/LoRa beacon and commanding, S-band science downlink (250 kbps–2 Mbps adaptive), CCSDS Space Packets with Ed25519-signed telecommands |
| Orbit (preferred) | dawn-dusk sun-synchronous, about 700 km -- removes eclipse cycling, favoured for thermal and battery-life reasons |
| Verification | 47 requirements traced; most checked automatically on every run; 29 planned physical tests |
The spacecraft is built as a card cage: identical 100×100 mm cards slide into a passive backplane, one column per instrument/subsystem group. Every board below is a real KiCad file in the repo ( electronics/kicad/), DRC-clean, generated from the same card_pinout.toml connector definition the interface document is built from -- these are floor plans (component placement proven to fit), not yet routed schematics.
Every card shares one connector pair: WL-P (2×30, power and control -- dual battery-bus rails, redundant CAN-FD, PPS/SYNC timing, a hardware KILL_N line the supervisor can assert with no software in the path, and an SWD header so any card can be reprogrammed without removing it) and WL-D (2×15, Ethernet/high-speed lanes, populated only on data-plane cards). Connector pitch is 1.27 mm on purpose -- an earlier 0.8 mm pitch could not be routed on the backplane without the power chains blocking each other.
Every subsystem is generated from the same configuration files the checks run against, so a design change and its documentation can never quietly drift apart.
| Subsystem | Architecture |
|---|---|
| Structure | An aluminium frame built around a 40 mm central spine in a 2×2×3 cell grid (226.3×226.3×340.5 mm envelope). Every card in the spacecraft shares one 100×100 mm outline with a 20×20 mm spine notch and an 8 mm rail relief -- a format invented for this project because standard 90/100 mm boards don't clear the spine. Six hold-down posts per wing stack, not just the corners, push the stowed first mode to about 137 Hz; an earlier corners-only analysis found only 99 Hz. |
| Power | Two independent MPPT/battery chains (A, B) plus a fully independent survival chain (C) with its own dedicated body-mounted solar string; per-card eFuse and a hardware KILL_N line, with no software anywhere in the protection path. |
| Thermal | Fully passive. Analysis found the spacecraft runs cold rather than hot -- the real fight is a -27 °C eclipse case and a -40 °C safe-mode case, held off by splitting roughly half the surface between the solar cells and dedicated MLI/low-e patches. The telescope column gets its own low-α/low-ε coating and an 8 W thermostatic heater (14-17 °C setpoint); the battery vault is isolated (0.1 W/K) with a 6 W heater, and the survival string has its own 2 W heater so it never drops below -20 °C. |
| Attitude & propulsion | Three reaction wheels (30 mN·m·s each), magnetorquers and a star tracker (5 arcsec, ~17 m ground error) close a 90° slew in about 120 s with 3x+ margin on torque and momentum. Propulsion is electric (iodine gridded-ion/Hall-class) rather than a water resistojet for the specific impulse: 0.5 kg of iodine buys ~570 m/s against ~45 m/s from 0.8 kg of water -- enough for 50-year drag makeup, collision avoidance and a controlled deorbit from one tank. The thruster sits on the centre line, canted a few degrees through the centre of mass; an earlier in-column placement produced enough off-axis torque to saturate a wheel in seven minutes. A drag sail is the passive backup. |
| Compute | A five-tier hierarchy, deliberately over-provisioned at the bottom: an MSP430FR supervisor and dual hot-standby STM32H7 flight controllers are rated for the full 50-year mission, because the long-record space-weather science has to keep running long after the Linux side is expected to have failed. A Raspberry Pi CM5 (always on) and an NVIDIA Jetson Orin Nano (imaging, heavy compute) sit above that with 10-15 year design lives. The mass memory unit holds 8×128 GB with 6+2 erasure coding, BLAKE2 hashing and periodic scrubbing. |
| Data & comms | 27 CCSDS message types, every telecommand Ed25519-signed with a counter and validity window (the link itself is unencrypted, as amateur-band rules require). The control plane is dual CAN-FD (1 Mbps/5 Mbps) for redundancy; a gigabit Ethernet plane carries payload data. Downlink is UHF/LoRa housekeeping (~0.5 MB/day) plus an adaptive S-band science link (250 kbps-2 Mbps) -- from the Pamukkale reference station alone, roughly 28 minutes of contact and ~134 MB/day across 3-4 passes. |
| Payload | 26 instruments split cleanly by lifetime. Long-record space-weather/geophysics science (three-axis magnetometer, total-solar-irradiance radiometer, radiation dosimeter, a 16-electron/16-proton particle spectrometer, an X-ray/UV monitor, a CsI+SiPM gamma-ray-burst detector, a chip-scale atomic clock) is acquired directly by the flight controllers, never the Linux nodes. Imaging -- an 85 mm Cassegrain telescope at roughly 5 m ground sample distance, a ~50-band hyperspectral channel sharing the same optics, a thermal-IR microbolometer and a wide-field star/context camera -- runs on the Pi/Jetson side. Every instrument number above is a design target verified so far only by analysis, not by a built and tested instrument. |
| Ground & operations | Two published ground-segment tiers: a $30-80 UHF/LoRa listener anyone can build to receive the beacon, and a ~$2,200-4,500 S-band science station (1.2 m dish, SPID BIG-RAS rotator) for the full downlink. All 27 protocol messages already have a compiled, verified Kaitai Struct decoder, with SatNOGS DB/Decoder integration planned so any station can decode the telemetry without touching this repo. A second anchor ground station is proposed but not yet arranged, and frequency coordination/licensing hasn't started. |
Fifty years is longer than most satellite operators last. The supervisor and beacon are built to still be signalling long after everyone who wrote this code has moved on.
The design is complete at analysis level. Everything below is checked automatically by python tools/check_all.py on every change -- nothing here is a one-off claim.