Repository navigation
EN CANable 2.0 Installation
This guide targets the standard MKS CANable V2.0 / V2.0 S with STM32G431, shown at the top of the photograph. Pro, V1.0 and boards with other MCUs are not validated for this release. No soldering is required; prepare suitable CAN wiring and a terminal screwdriver.

| Label | Purpose | Normal state |
|---|---|---|
| BOOT | Connect the two pins to enter the firmware loader at power-up | Jumper removed, pins not connected |
| 120Ω / 120R | CAN termination | OFF when tapping an already terminated vehicle bus |
| GND / CANH / CANL | Vehicle terminals | Wire by the actual printed labels |
Open the case to reach BOOT if necessary. SWD is not used. BOOT and the termination switch are separate parts. Determine the switch's ON/OFF position from the actual markings or schematic, not photograph orientation alone.
- Windows installer ZIP — recommended for beginners; Python is not required.
- Jetson installer ZIP — use from a Jetson terminal.
- Firmware binary · Complete firmware source
Both install carrot-b1-slcan-2. The tool checks the board's memory layout, backs up the old firmware, programs the image and reads it back for comparison. Moving BOOT and reconnecting USB remain physical steps. Never use an S3 firmware image on CANable.
- Download the Windows ZIP and select Extract All. Do not run inside the ZIP.
- Disconnect both vehicle CAN and USB. Connect the BOOT jumper, then plug the board into the PC.
- Run Install-CANable.exe and press 보드 확인 (check board). Connect only one target board.
- Check the box confirming the pictured standard MKS V2.0 board, then press 설치 시작 (install). Keep USB connected through backup, programming and readback. Wait for 설치·검증 완료 (verified) and note the backup directory.
- Disconnect USB and CAN, remove BOOT, then reconnect USB alone. Press 정상 버전 확인 (verify runtime). Confirm
carrot-b1-slcan-2. - Move the board from the PC to Jetson USB and follow the wiring section.
The loader may appear as STM32 BOOTLOADER or STM Device in DFU Mode. If it is detected but cannot be opened, use official Zadig, enable Options → List All Devices, and install WinUSB only for the BOOT device with USB ID 0483:DF11. Do not select a keyboard, mouse, another USB device, or the normal CANable serial port. Retry the board check afterward.
If the tool rejects the memory layout, stop; do not bypass the check for a similarly named board.
Use a terminal on Jetson or an SSH terminal connected to Jetson. Disconnect CAN and USB, connect BOOT, then connect USB to Jetson. Run these commands in order:
curl -fL https://github.com/ajouatom/openpilot/releases/download/carrot-canable-v2/Carrot-CANable-v2-Jetson.zip -o /tmp/Carrot-CANable-v2.zip
unzip -o /tmp/Carrot-CANable-v2.zip -d /tmp/Carrot-CANable-v2
sudo python3 /tmp/Carrot-CANable-v2/install_canable.py --install --board mks-canable-v2If needed, the tool extracts Jetson's dfu-util package into a separate cache instead of modifying the protected OS. Initial package preparation and download require networking.
After verification, disconnect both USB and CAN, remove BOOT, and reconnect USB first. Before a controller owns the serial port, verify the application with:
sudo python3 /tmp/Carrot-CANable-v2/install_canable.py --verify-runtimeIf the controller already owns the port, the tool skips interfering with it. On the Carrot Jetson image, backups remain in /opt/carrot-jetlink/canable-DATE-…/original.bin.
With power off, use a verified vehicle connection point. If replacing a working PEAK connection, transfer the same bus's H/L after checking the labels.
Jetson USB ---------------- CANable USB
Verified vehicle CAN H ---- CANable CANH
Same bus CAN L ------------ CANable CANL
Verified CAN reference ---- CANable GND
Keep H/L as a short twisted pair and tighten the terminals. GND is the CAN reference. If an existing harness provides only H/L, do not invent another pin: verify the shared reference, including USB power ground, from the wiring documentation. Never connect vehicle 12 V to CANH, CANL or GND.
Keep CANable's 120-ohm termination OFF on an already terminated vehicle bus. A separate bench CAN network needs its own correctly terminated endpoints.
- Git Pull the CANable-enabled carrot-wip release and restart comma and Jetson. The normal Jetson update installs the controller and USB access rule.
- Attach the normal-mode board, with BOOT removed, to Jetson USB. No COM number or MAC address registration is required.
- The first ready S3, PEAK or CANable with matching CAN data owns output. Several attached adapters do not transmit the same command together.
- In P, verify the stock stalk, then the remote's left/right controls and the actual exterior lamps. USB enumeration and board LEDs alone do not prove lamp operation.
The current USB control profile is classic CAN at 500 kbit/s, validated on Ioniq 5 PE. Hardware CAN-FD capability does not make this indicator profile universal. The parked verification recorded exactly three flashes per direction, agreeing between comma and CANable feedback; it is not a long-duration driving reliability claim.
| Symptom | Check |
|---|---|
| Still in DFU after removing BOOT | Disconnect USB and CAN for a full power cycle; reconnect USB first. |
| USB works but lamps do not | Vehicle/profile compatibility, correct bus H/L, bitrate, target messages and selected output owner. |
| S3 and USB both connected | The first ready device owns output; failover includes a short delay. |
| Carrot still requests custom firmware | Git Pull cannot move BOOT; install the CANable image using this tool. |
| Programming/readback failure | Keep BOOT selected, check USB and reinstall; retain the backup and logs. |
문서 기준: ajouatom/openpilot의 carrot-wip 브랜치 · 내용이 현재 화면과 다르면 문서 작성 가이드를 참고해 알려주세요.
- 소개
- 처음 시작하기
- 깜빡이 제어 장치
- 사용 설명서
- CarrotAssist 음성 도우미
-
설정 이해하기
-
전체 설정
- 주행 제어
- 시작·오토
- Tesla 전용
- 버튼·프리셋
- 차량 조향
- ONNX 차선·BSD
- 중앙 보정
- 조향감
- 차로 변경 (자동 턴)
- 레인모드
- 고급 토크
- 토크 계수
- 조향 제한
- 속도·감속
- 과속카메라
- 후면단속 통과 후 유지 거리(m)
- 과속카메라감속 완료 시간(6초)
- 네비게이션감속모드(2)
- 차량 내비 CAN 감속 적용 모드
- 차량 내비 어린이보호구역 30km/h 제한
- 차량 내비 감속 중지 요청
- 감속 중지: 박스형 카메라
- 감속 중지: 이동식 단속 구간
- 감속 중지: 과속방지턱
- 감속 중지: 과속카메라 종류 미탐지 건 [실험]
- 감속 중지: 경고 조기 시작 보정 [실험]
- 차량 내비 구간단속 평균속도 제어
- 차량 수신 과속카메라 감속(항상 적용)
- 차량 과속카메라 가상거리 시간(6.0초)
- 과속카메라 감속율 x0.01m/s^2(120)
- 네비알림 카운트다운 방법
- 과속카메라 제한속도적용율(105)%
- 제한속도
- 방지턱
- 커브·턴
- 신호감지
- 과속카메라
- 크루즈·차간
- 가속 성향
- 정차·재출발
- 가감속 튜닝
- 차간거리
- 당근 크루즈
- 차량·하드웨어
- 현대·기아
- CANFD·HDA
- 레이더
- 운전자 모니터링
- 차량 보조
- 기기 하드웨어
- 화면 표시
- 정보 표시
- 경로 표시
- 밝기·주행화면
- 외부 HUD
- 시스템
- 녹화·전원
- 녹화·전원
- 카메라
- 네트워크·지도
- 사운드
- 소프트웨어
- 녹화·전원
- 주행 제어
- 버튼·프리셋 상세
- 속도·감속 상세
- 크루즈·차간 상세
- 레이더트랙·코너레이더
- 차로 변경 이해하기
-
전체 설정
- Carrot Web
- 튜닝 입문
- 자주 묻는 질문
- 문서 작성 가이드