zoompilot
a Mazda-optimized fork of sunnypilot.
Created to give you the best openpilot experience on your Mazda. This fork unlocks full steering performance and adds features like curve speed control, speed-limit assist, and experimental longitudinal modes.
46G machine gray
01
steering improvements
Using a data-driven approach, I reverse-engineered the steering hardware to utilize the EPS to its full potential.
- Speed-dependent torque
- We encode the full torque curve, giving you more confident steering in neighborhoods and fewer wobbles on the highway.
- Speed-dependent tuning
- Instead of one lateral acceleration factor for all speeds, zoompilot learns across seven distinct speed ranges to match non-linear EPS behavior.
- Rate-matched commands
- We ask for the EPS’s maximum 12 units per frame (up from stock openpilot’s 10), so torque ramps up faster.
- Factory-matched specs
- Steering ratio, mass, wheelbase, and lag are set to Mazda’s real figures and refined against thousands of miles of driving data.
02
radar cruise enhancements
I entirely rewrote sunnypilot’s cruise systems for Mazda. Instead of independent features fighting for control, one unified system manages your set speed.
- Intelligent-Cruise-Button-Management (ICBM)
- The core system that allows zoompilot to safely manage your cruise set speed.
- Speed-Limit-Assist (SLA)
- Automatically adjusts your cruise speed when passing a sign (using nav SD or OpenStreetMap data) with optional +/- offsets.
- Smart Cruise
- Automatically reduces your speed before a curve and resumes afterward using vision or map data.
- Deceleration Overshoot (Alpha)
- Compensates for slow MRCC response times by dropping the requested speed faster before a turn.
03
fix annoyances
- Place hands on wheel alert
- Analyzed logs proved that LKAS_BLOCK does not disengage steering on 2022+ models, so I disabled this false alert while keeping real faults active.
- Steering override hysteresis
- Added the same override filter used by Tesla and Rivian to prevent potholes or rough patches from tripping phantom takeovers.
04
wire up sensors
Your CX-5 ships with sensors the stock port ignores. We wire them in.
- Forward radar
- Reads distance, angle, and closing speed for up to four cars ahead.
- Blind-spot monitors
- Feeds blind-spot data into openpilot for optional automatic lane-change safety checks.
- Speed-limit signs
- Reads speed signs via the LKAS camera (requires a nav SD card) to power Speed-Limit-Assist.
05
alpha longitudinal WIP
openpilot takes full control of the gas and brakes instead of Mazda’s stock radar cruise.
warning · safety features disabled
If Alpha Longitudinal is enabled the car’s radar is turned off. Automatic Emergency Braking (AEB) and Forward Collision Alerts are DISABLED when alpha longitudinal is on.
- Experimental mode
- Uses the openpilot model end-to-end and enables stop sign/light braking. Experimental models do not often accelerate to the set speed.
- Expect dash errors and safety issues
- If your dash throws cruise, LKAS, or radar errors, turn the car completely off for 15 minutes to reset.
Credit: Alex Frutkin (@yummydirt) did the heavy lifting on the reverse engineering and implementation for this feature.
06
additional Mazdas covered
- EPS swaps
- Supports older Mazdas equipped with swapped 2022+ CX-5 EPS hardware, allowing steering down to zero mph.
- CX-9
- Fully supported with accurate factory specs, though speed-dependent torque requires more learning time since starting seeds are CX-5 based.
07
recommended setup
You can manage almost everything directly on the device.
-
Factory-reset before installing. Clear out stale settings from previous forks.
-
Pick a driving model. I run Firehose. DTRv6 is a favorite, and CD210 works well with alpha longitudinal.
-
Enable self-tune. Ensure torque control, self-tune, and speed-dependent self-tune are on.
-
Leave custom tune off. Keep custom tune and manual real-time off.
08
install
custom software url
enter for custom install URL
This is experimental software. You drive the car, follow the law, and carry all the risk.
09
changelog
393a506e61 · 2026-08-25-
2026.08.25-8
- Fingerprint Mazdas on VIN and EPS. Supports more Mazda models more reliably by using the VIN for fingerprinting. EPS fingerprinting determines whether an EPS-swapped car can steer to zero. By @mzdnick.
- zoompilot branding in the UI. By @mzdnick.
- Speed-limit assist on metric cars. Fixed reading speed limits on cars set to km/h.
- Updated speed-dependent torque seeds. Refreshed the seeds using my latest learned values. Self-tune may converge a little faster now.
- Comma 4 toggles for new sunnypilot features. Screensaver and road edge lane change.
-
Synced sunnypilot as of
2026-08-24.
See the
sunnypilot docs.
- Block lane changes at road edge. Prevents a lane change from activating when the road’s edge is detected.
- Jerk-aware steering. A torque controller that tries to solve for jerky steering. This doesn’t seem to improve anything for Mazdas; it hurts performance because speed-dependent torque already solves for this.
- Support for comma’s chestnut eGPU.
- The driving path changes color with what the car is doing and keeps its width when you override with gas or steering.
- The “openpilot unavailable” flash at startup is fixed.
- New screensaver function.
- Switching models no longer asks to reset calibration.
- AGNOS 19.6.
-
Alpha longitudinal only.
- Improved stop and go, but not totally fixed. Cruise may disengage after stopping for a lead car.
- The bogus “Cruise Fault: Restart the Car” on a cold start is gone. The fault alert now only fires when the radar genuinely drops out mid-drive.
- Fixed canceling cruise whilst braking. Thank you @mzdnick.
- Alpha longitudinal enabled on EPS-swapped models (CX-9).
-
2026.08.02-5Alpha longitudinal handoff More reliable handoff when you override acceleration with the pedal, and more reliable stop and hold.
-
2026.08.01-4First release on the zoompilot channel zoompilot has its own home, its own build, and the biggest batch of changes yet.
-
New home, new install URL. The fork
lives at zoompilot/zoompilot and installs
from
zoompilot/main. If you are already running zoompilot you don’t need to do anything: your device repoints itself on its next start. - Prebuilt releases. Every release is built ahead of time on a real comma device, so installing no longer means sitting through the better part of an hour of compiling.
- Alpha longitudinal on the CX-5. openpilot can drive the gas and brakes on the 2022+ CX-5. Read section 05 first: it shuts the stock radar down, which takes automatic emergency braking and forward collision alerts with it.
- Torque control out of the box. Fresh installs on 22+ EPS Mazdas arrive with torque control, self-tune, and speed-dependent self-tune already on.
- Fresher steering seeds. The CX-5 2022 starting values come straight off my car’s learned data, so a new install steers like a tuned car much sooner.
- Cruise buttons, rebuilt. The speed you set is the speed you get back after every curve and speed zone, down to the exact number. Confirming a speed limit is one tap and the answer sticks. Press a button mid-adjustment and zoompilot hands control straight back. Big changes hold the button down the way you would.
- Cruise features under one roof. Speed-limit assist and smart cruise now work the same way whether the stock radar or openpilot has the gas and brakes, and a speed limit prompt no longer nudges your set speed while you are still deciding.
- Latest sunnypilot and openpilot. New alert sounds and softer driver monitoring nags. Lane changes arm right away if your blinker is already on. Map-based curve slowdowns are more accurate, map hiccups no longer trip false warnings, the false NO PANDA flash on screen wake is gone, and you can switch software branches from the device screen.
- Leaner install. Setup no longer downloads a 1.8GB driving model the device never uses.
-
New home, new install URL. The fork
lives at zoompilot/zoompilot and installs
from
-
Smart cruise and EPS swaps Curve slowdowns get usable, and older Mazdas with a 2022+ rack join in.
- Smart cruise decel overshoot. New alpha toggle. The Mazda ECU is slow to obey a lower set speed, so this asks for more than the model wants and gets the deceleration the curve needs.
- ICBM fixes. Fixed set-speed desync with the stock ECU and the target-chasing oscillation. Button presses are suppressed while you press yours, and pacing adapts to how far the target is.
- EPS swap support. 2022+ racks in older Mazdas fingerprint by the rack’s firmware and steer to a stop.
- Upstream sync. Merged sunnypilot master and the opendbc upstream into zoompilot.