v2026.10.01: storage for power cuts, quiet mode, fanless, prebuilt setup
Our Jetson Orin Nano Super vision coprocessor as running on 2026-10-01, rebuilt from scratch after its first SSD died. Built from commit ae5d2f1; everything here can be rebuilt from this tag with the repo's scripts.
New since v2026.09.24.2
-
Storage built for power cuts. The first SSD (a DRAM-less budget drive) lost data after 21 power cuts and stopped booting. The SSD is now split three ways:
- a 64 GB system partition, read-only before competition (
ro-root.sh on, NVIDIA's own overlay); - a settings partition, written only when a setting changes;
- a scratch partition for Rewind and logs.
If either data partition is damaged, the Jetson still boots and runs the match: on the last-good settings, or with recording paused and logs in RAM. Nothing is wiped automatically. The health check reports the SSD's own media-error count.
- a 64 GB system partition, read-only before competition (
-
Quiet mode (
photonvision-56). After a match ends, or 60 s disabled, the Jetson stops writing to the SSD. Any enable ends it about 80 ms later, and vision never waits on it. A requested recording (field calibration, Record now, robot code) always wins. -
Fanless mode (
FAN=off,photonvision-57): for a heatsink plate. The fan stays off; at 95 °C every camera is capped at 60 fps until the chip cools. On our plate, matches from a hot idle peaked at 86–88 °C. -
One-command setup.
scripts/host/prestage-rootfs.sh, then flash.scripts/host/setup-jetson.sh --prebuilt, which uses this release and takes about 35 minutes, unattended.
Team values live in
config.env. -
Since the last release, also:
- Match Ready page;
- settings snapshots;
- idle at 30 fps while disabled;
- event pipeline when the field connects;
- Switch all and Start from;
- far-tag search (1.8× range);
- tag contrast readout;
- camera-clock timestamps, and 1.2 ms lower latency from the camera driver;
- five cameras at 122 fps;
- a browser test suite.
Details: README.
Files
| File | What it is |
|---|---|
spectrum-jetson-prebuilt-v2026.10.01-ae5d2f1.tar.gz |
What the slow setup steps compile, for JetPack 6.2.3 / L4T 36.5.2, CUDA 12.6 only. See the list below. |
….tar.gz.sha256 |
Its checksum. install.sh --prebuilt checks it, then checks every file against the bundle's MANIFEST (repo commit, L4T, CUDA, patch list, SHA-256 per file), and refuses a mismatched L4T or CUDA. |
What's in the bundle:
- the CUDA AprilTag detector (
lib971apriltag.so), with ourbos-*patches; - our JPEG-hardware and TensorRT libraries;
- the field-calibration tool;
- the three allwpilib libraries the detector needs at runtime;
- our PhotonVision jar, with patches 00–57.
Use it with scripts/host/setup-jetson.sh --prebuilt (newest release), or scripts/jetson/install.sh --prebuilt <bundle> on the Jetson. The camera driver is still compiled on the Jetson, for its exact kernel (41 s).
Licenses
NOTICES.md in the bundle lists where every file comes from:
- PhotonVision and our code: GPL-3.0;
- WPILib allwpilib: BSD-3-Clause;
- the CUDA AprilTag detector by Austin Schuh and FRC 971: Apache-2.0, as published in RealtimeRoboticsGroup/aos.
The copy we build from (frc971/bos) has no license file of its own. If the authors would like this handled differently, open an issue and we'll change it.
Not included
- Game-piece models: not ours to redistribute (see
docs/GAME-PIECE-MODELS.md). - PhotonVision settings and SSD images: team-specific, and the images contain Wi-Fi and SSH credentials.