Skip to content

Commit 5818cc4

Browse files
Update omnibase overview with full technical documentation
1 parent 4ac13ec commit 5818cc4

File tree

2 files changed

+30
-17
lines changed

2 files changed

+30
-17
lines changed
239 KB
Binary file not shown.

docs/development/omnibase/overview.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,41 +80,54 @@ The control PCB is the central hub of the omnibase, designed entirely by the tea
8080

8181
### Control PCB
8282

83+
The schematic was designed in EasyEDA (V1.0) by Ximena Trejo. The full schematic can be viewed and downloaded below:
84+
85+
<p align="center">
86+
<iframe src="../../assets/development/omnibase/rev2_baseomni_shield.pdf" width="100%" height="600px" style="border:1px solid #ccc; border-radius:4px;">
87+
<a href="../../assets/development/omnibase/rev2_baseomni_shield.pdf">Download Base Omni Shield Schematic (PDF)</a>
88+
</iframe>
89+
</p>
90+
8391
<p align="center">
8492
<img src="../../assets/development/omnibase/pcbcontrol1.png" alt="Motor control PCB - view 1">
8593
</p>
8694
<p align="center">
8795
<img src="../../assets/development/omnibase/pcbcontrol2.png" alt="Motor control PCB - view 2">
8896
</p>
89-
<p align="center" style="font-size:small"><i>Custom motor control PCB schematics (in development)</i></p>
97+
<p align="center" style="font-size:small"><i>Base Omni Shield — Rev 2 schematic (EasyEDA V1.0, designed by Ximena Trejo)</i></p>
9098

9199
### Key Components
92100

93-
| Component | Role |
94-
|---|---|
95-
| **STM32H755** | Dual-core (Cortex-M7 + Cortex-M4) main microcontroller; handles CAN communication, odometry, and BLE |
96-
| **BNO055** | 9-DOF IMU (accelerometer, gyroscope, magnetometer) for orientation and odometry fusion |
97-
| **TJA1051** | CAN bus transceiver; interfaces the STM32 CAN peripheral with the physical CAN bus connecting to the 4 ODrive S1s |
98-
| **BLE Module** | Bluetooth Low Energy module for wireless gamepad / controller connectivity |
99-
| **Motor connectors ×4** | Dedicated connectors for each ODrive S1 (CAN, power, signal) |
101+
| Component | Interface | Role |
102+
|---|---|---|
103+
| **STM32H755** || Dual-core (Cortex-M7 + Cortex-M4) main microcontroller; handles CAN communication, odometry, and BLE |
104+
| **BNO055** | I2C (SCL/SDA) | 9-DOF IMU (accelerometer, gyroscope, magnetometer) for orientation and odometry fusion; powered at 3.3V |
105+
| **TJA1051** | CAN (CTX/CRX) | CAN bus transceiver; interfaces the STM32 CAN peripheral with the physical CAN bus to the 4 ODrive S1s; powered at 5V |
106+
| **BLE Module** | UART (BLE_RXD/BLE_TXD) | Bluetooth Low Energy module for wireless gamepad connectivity; 6-pin connector, powered at 5V |
107+
| **ODrive connectors ×4** | 30-pin | Per ODrive: CANH/CANL, PWM, encoder channels A+B (ENCA/ENCB), GND |
108+
| **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 |
100110

101111
### Communication Topology
102112

103113
```
104114
[Main Computer]
105115
|
106116
[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)
115126
```
116127

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.
118131

119132
---
120133

0 commit comments

Comments
 (0)