Cerebri

September 25, 2026 · View on GitHub

Build

See documentation.

Cerebri Roadmap

Fork target: NXP FRDM-A-S32K358 on Zephyr, acting as a hardware-separated safety core between the ROS 2 host and the ODrive/CAN actuators — the same role panda plays in openpilot (host sets intent, MCU enforces limits and can override it independently).

#FeatureStatus
C1ZROS pub/sub coreDone
C2Synapse topic/protobuf layerDone
C3ODrive CAN actuate driverDone
C4VESC CAN / PWM / DShot actuate driversDone
C5Basic safety status publisher (sense/safety) — flags SAFE/not, no polygon logic, no overrideDone (basic)
C6FRDM-A-S32K358 board supportPatches submitted (not yet merged/tested on hardware); several TODOs on pin mapping, memory map and debug probe support
C7GNSS sense task (UBX/NMEA over UART)Not started
C8Geofence monitor & safety task — polygon memory, checks position every tick, direct CAN override/stop to actuatorsNot started
C9Stored ENU polygon memory on MCUNot started
C10Host-side WGS84→ENU mission plannerNot started — likely belongs in feldfreund_devkit_ros, not this repo
C11NTRIP client + RTCM3 pass-throughNot started — same cross-repo note as C10
C12Synapse ROS bridge (protobuf over Ethernet)Partial — MCU side (drivers/synapse) exists, host-side bridge doesn't
C13Safety test suite for the override pathNot started — needed before C8 ships

Notes

Safety and Testing

  • openpilot observes ISO26262 guidelines, see SAFETY.md for more details.
  • openpilot has software-in-the-loop tests that run on every commit.
  • The code enforcing the safety model lives in panda and is written in C, see code rigor for more details.
  • panda has software-in-the-loop safety tests.
  • Internally, we have a hardware-in-the-loop Jenkins test suite that builds and unit tests the various processes.
  • panda has additional hardware-in-the-loop tests.