- Join our Discord
- Read Before Installing
- Highlight Features
- Driving Enhancement
- Branch Definitions
- Recommended Branches
- Installation
- How-Tos
- Donate
- Pull Requests
- Special Thanks
Join sunnyhaibin's openpilot server!
It is recommended to read this entire page before proceeding. This will ensure that you are selecting the right branch for your car to have the best driving experience.
This fork is recommended to be used for Hyundai/Kia/Genesis (HKG), Honda, Toyota, and Subaru cars. It is a fork of comma.ai's openpilot. By installing this software, you accept all responsibility for anything that might occur while you use it. All contributors to this fork are not liable. Use at your own risk.
- Modified Assistive Driving Safety (MADS) - openpilot Automatic Lane Centering (ALC) and Adaptive Cruise Control (ACC) / Smart Cruise Control (SCC) can be engaged independently of each other
- Dynamic Lane Profile (DLP) - dynamically switch lane profile base on lane recognition confidence
- Quiet Drive 🤫 - Toggle to mute all notification sounds (excluding driver safety warnings)
- Force Car Recognition (FCR) - Use a selector to force your car to be recognized by openpilot
- OpenStreetMap (OSM) Speed Limit Control - Utilizes data from OpenStreetMap to achieve dynamic speed limit control without user's intervention. Only available to openpilot longitudinal capable cars
The goal of Modified Assistive Driving Safety (MADS) is to enhance the user driving experience with modified behaviors of openpilot engagements. This feature complies with comma.ai's safety rules as accurately as possible with the following changes:
- openpilot ALC and ACC/SCC can be engaged independently of each other
- Dedicated button to toggle openpilot ALC:
LFA
button: Newer HKG carsCRUISE (MAIN)
button: Most HKG cars, Subaru (Global and Pre Global)LKAS
button: Honda, Toyota
SET-
button enables ACC/SCCCANCEL
button only disables ACC/SCCCRUISE (MAIN)
button disables openpilot completely whenOFF
(strictly enforced in panda safety code)BRAKE pedal
press will pause openpilot ALC;BRAKE pedal
release will resume openpilot ALC;BRAKE pedal
release will NOT resume ACC/SCC without an explicit entryGAS pedal
press will not disengage openpilot ALC or ACC/SCCTURN SIGNALS
(Left
orRight
) will pause openpilot ALC if the vehicle speed is below the threshold for openpilot Automatic Lane Change- Event audible alerts are more relaxed to match manufacturer's stock behavior
Dynamic Lane Profile (DLP) aims to provide the best driving experience with staying within the lane confidently. Dynamic Lane Profile allows openpilot to dynamically switch between lane profiles base on lane recognition confidence level on road.
There are 3 modes to select on the onroad camera screen:
- Auto Lane: openpilot dynamically chooses between
Laneline
orLaneless
model - Laneline: openpilot uses Laneline model only.
- Laneless: openpilot uses Laneless model only.
To use Dynamic Lane Profile, do the following:
1. openpilot Settings -> Toggles -> Disable use of lanelines -> ON toggle
2. Reboot.
3. Before driving, on the onroad camera screen, toggle between the 3 modes by pressing on the button.
4. Drive.
OpenStreetMap (OSM) allows openpilot-longitudinal-capable cars to dynamically adjust the longitudinal plan based on the fetched map data. Big thanks to the Move Fast team for the amazing implementation!
Certain features are only available with an active data connection, via:
- comma Prime - Intuitive service provided directly by comma, or;
- Personal Hotspot - From your mobile device, or a dedicated hotspot from a cellular carrier.
Features:
- [Vision-based Turn Control]: Use vision path predictions to estimate the appropriate speed to drive through turns ahead - i.e., slowing down for curves
- [Map-Data-based Turn Control]: Use curvature information from map data to define speed limits to take turns ahead - i.e., slowing down for curves
- Note: Require data connection
- [Speed Limit Control]: Use speed limit signs information from map data and car interface to automatically adapt cruise speed to road limits
- Note: Require data connection
- [Speed Limit Offset]: When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive
- Note: Require data connection
- [Speed Limit Offset]: When Speed Limit Control is enabled, set speed limit slightly higher than the actual speed limit for a more natural drive
- Note: Require data connection
- [Hands on Wheel Monitoring]" Monitor and alert when driver is not keeping the hands on the steering wheel
Instruction (WIP)
prod
: Production branches. Include features that are tested by users and ready to use. ✅staging
: Staging branches. Include new features that are not tested by users. No stability guaranteed. 🚨feature
: Feature branches. Represent new features being added to the system. No stability guaranteed. 🚨test
: Test branches. For experimenting with concepts that might not get used in the project. No stability guaranteed. 🚨develop
: Development branches. All features are gathered in respective versions. Reviewed features will be committed todevelop
. No stability guaranteed. 🚨full
: Full Feature branches.personal
: sunnyhaibin's personal branches, on top of Full Feature.hkg
: Hyundai/Kia/Genesis(HKG)-specific branches. Only for HKG cars.honda
: Honda-specific branches. Only for Honda cars.toyota
: Toyota-specific branches. Only for Toyota cars.subaru
: Subaru-specific branches. Only for Subaru cars.
Example:
0.8.12-prod-full-honda
: 0.8.12-based, Production, Full Feature, Honda branch0.8.12-prod-personal-hkg
: 0.8.12-based, Production, sunnyhaibin's personal Full Feature, Hyundai/Kia/Genesis branch
prod-full-<car_brand>
: Contains all features supported by this fork, such as Modified Assistive Driving Safety (MADS), Dynamic Lane Profile (DLP), etc.prod-personal-<car_brand>
: sunnyhaibin's everyday use branch, contains changes and good stuff for my personal use and quality-of-life features.- Hyundai: Sonata N Line 2021
To install sunnyhaibin's fork, simply use the Smiskol URL (thanks Shane!) on the setup screen for "Custom Software" after you factory reset or uninstalled openpilot from a previous install:
https://smiskol.com/fork/sunnyhaibin/<insert_branch_name>
For example, if you would like to install the branch for HKG:
-
https://smiskol.com/fork/sunnyhaibin/0.8.12-prod-full-hkg
-
https://smiskol.com/fork/sunnyhaibin/0.8.12-prod-personal-hkg
If you are looking to install sunnyhaibin's fork via SSH, run the following command in an SSH terminal after connecting to your device:
-
cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-full-hkg --depth 1 --single-branch --recurse-submodules --shallow-submodules https://github.com/sunnyhaibin/openpilot.git openpilot; cd openpilot; pkill -f thermald; rm -f prebuilt; reboot; sudo reboot
-
cd /data; rm -rf ./openpilot; git clone -b 0.8.12-prod-personal-hkg --depth 1 --single-branch --recurse-submodules --shallow-submodules https://github.com/sunnyhaibin/openpilot.git openpilot; cd openpilot; pkill -f thermald; rm -f prebuilt; reboot; sudo reboot
After running the command to install the desired branch, reboot the comma device to ensure to take the change in effect:
- C3:
sudo reboot
- C2 or EON:
reboot
How-To instructions can be found in HOW-TOS.md.
If you find any of the features useful, feel free to donate to support for future feature development.
Thank you for your continuous love and support! Enjoy 🥰
PayPal:
PayPal QR Code:
We welcome both pull requests and issues on GitHub. Bug fixes are encouraged.
Pull requests should be against the most current prod-full
branch.