You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**CAN termination**| — | 2×60Ω resistors in series (= 120Ω) with 100nF capacitor to GND, per CAN bus standard |
109
+
|**Power input**| Terminal block 2-pin | PWR_5V input with power switch (SW_PWR_STM); 3.3V and 5V indicator LEDs onboard |
100
110
101
111
### Communication Topology
102
112
103
113
```
104
114
[Main Computer]
105
115
|
106
116
[STM32H755]
107
-
| (CAN via TJA1051)
108
-
+——[ODrive S1 #1 — Front Left]
109
-
+——[ODrive S1 #2 — Front Right]
110
-
+——[ODrive S1 #3 — Rear Left]
111
-
+——[ODrive S1 #4 — Rear Right]
112
-
113
-
+ [BNO055] (I2C/UART — IMU)
114
-
+ [BLE Module] (UART — Gamepad)
117
+
| (CAN via TJA1051 — CANH/CANL)
118
+
+——[ODrive S1 #1] ← CANH, CANL, PWM, ENCA, ENCB
119
+
+——[ODrive S1 #2] ← CANH, CANL, PWM, ENCA, ENCB
120
+
+——[ODrive S1 #3] ← CANH, CANL, PWM, ENCA, ENCB
121
+
+——[ODrive S1 #4] ← CANH, CANL, PWM, ENCA, ENCB
122
+
[120Ω + 100nF termination]
123
+
124
+
+ [BNO055] (I2C — SCL/SDA)
125
+
+ [BLE Module] (UART — BLE_RXD/BLE_TXD)
115
126
```
116
127
117
-
The STM32H755 acts as the bridge between the high-level computer (running ROS 2) and the low-level motor controllers. It sends velocity/torque commands over CAN to each ODrive S1, reads back encoder data for odometry, and fuses IMU data from the BNO055 for more accurate pose estimation.
128
+
The STM32H755 acts as the bridge between the high-level computer (running ROS 2) and the low-level motor controllers. It sends velocity/torque commands over CAN to each ODrive S1, and also routes PWM and encoder signals (ENCA/ENCB) per motor. IMU data from the BNO055 is read over I2C for odometry fusion.
129
+
130
+
The PCB was designed in **EasyEDA (V1.0)** by Ximena Trejo, created and updated on 2026-03-09/10.
0 commit comments