Remap CAN driver from CAN2/PB12-13 to CAN1/PB8-9 for Mamba F722S MK2 #676

Closed
opened 2026-03-17 20:30:25 -04:00 by seb · 0 comments
Owner

Context

The Mamba F722S MK2 (2022B) does not expose PB12/PB13 as accessible solder pads — they are internally connected to the MAX7456 OSD chip only.

The GY-BME280 was previously wired to TX3/RX3 (PB10/PB11 = I2C2), so I2C1 pads (SCL=PB8, SDA=PB9) are free.

The Waveshare CAN module is now wired:

  • SCL (PB8) → CRX
  • SDA (PB9) → CTX
  • 3.3V → VCC, GND → GND
  • CANH/CANL → shared CAN bus (VESCs + CANable on Orin)

Required Change

In sl-firmware/issue-597-can-driver branch, remap CAN driver from:

  • CAN2, PB12 (RX), PB13 (TX), AF9

To:

  • CAN1, PB8 (RX), PB9 (TX), AF9

Update can_driver_init() in src/can_driver.c and include/can_driver.h accordingly.

Hardware ready

FC is installed on the robot and USB-connected for DFU flashing via mbpm4 (/dev/cu.usbmodem*). Ready to flash as soon as build is updated.

Note

I2C1 is defined in config.h as BARO_SCL/SDA (PB8/PB9) — the baro (BMP280/DPS310) is disabled on balance bot, so no conflict. The BME280 uses I2C2 (TX3/RX3 = PB10/PB11).

## Context The Mamba F722S MK2 (2022B) does not expose PB12/PB13 as accessible solder pads — they are internally connected to the MAX7456 OSD chip only. The GY-BME280 was previously wired to TX3/RX3 (PB10/PB11 = I2C2), so I2C1 pads (SCL=PB8, SDA=PB9) are free. The Waveshare CAN module is now wired: - **SCL (PB8)** → CRX - **SDA (PB9)** → CTX - 3.3V → VCC, GND → GND - CANH/CANL → shared CAN bus (VESCs + CANable on Orin) ## Required Change In `sl-firmware/issue-597-can-driver` branch, remap CAN driver from: - CAN2, PB12 (RX), PB13 (TX), AF9 To: - **CAN1**, PB8 (RX), PB9 (TX), AF9 Update `can_driver_init()` in `src/can_driver.c` and `include/can_driver.h` accordingly. ## Hardware ready FC is installed on the robot and USB-connected for DFU flashing via mbpm4 (`/dev/cu.usbmodem*`). Ready to flash as soon as build is updated. ## Note I2C1 is defined in config.h as BARO_SCL/SDA (PB8/PB9) — the baro (BMP280/DPS310) is disabled on balance bot, so no conflict. The BME280 uses I2C2 (TX3/RX3 = PB10/PB11).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#676
No description provided.