Odrive 3.6 Schematic: !free!

ODrive v3.6 is a high-performance brushless (BLDC) motor controller designed for robotics, CNC, and high-torque DIY projects. While it is a mature platform now marked as

(Not Recommended for New Designs) by the original manufacturer in favor of newer models like the

, it remains a standard for heavy-duty hobbyist applications due to its dual-axis capability and robust firmware support Schematic & Hardware Overview

The ODrive v3.6 hardware design is evolutionarily close to the v3.5, which was the last version to have its full design files publicly released by ODrive Robotics. 3.5 ODrive Schematic Release odrive 3.6 schematic


7. Communication Interfaces

Why the Schematic Matters

Before we look at the circuitry, let’s clarify why you need the schematic.

Where to find it: The official ODrive 3.6 schematic is available on GitHub in the odrive/hardware repository. The file is typically named ODrive-v3.6-Rev<X>.pdf.

3. The Power Stage (Gate Drivers & MOSFETs)

This is the most complex part of the ODrive 3.6 schematic. Each motor has a 3-phase inverter bridge. For Motor 0, look for: ODrive v3

Common Failure Point: On the schematic, find the BST (bootstrap) pins on the gate driver. If the bootstrap capacitor fails (usually a 100nF ceramic), the high-side MOSFET won’t turn on, and the motor will twitch or vibrate without spinning.

2. The Brain: STM32F405 (MCU Section)

The ODrive 3.6 uses the STM32F405RGT6. The schematic reveals the genius of the pin mapping.

Pro Tip: If you are designing a custom breakout board, never assign these specific timer/ADC pins to anything else. The firmware expects them at hard-coded addresses. USB-C (connector + ESD protection) UART (via 3

Critical Design Considerations from the Schematic

4. Layout Implications on the Schematic

The schematic implies certain layout realities that affect performance:

How to Read the ODrive Schematic for Troubleshooting

Let’s say your Motor A is not spinning. Here’s how the schematic guides you:

  1. Power check: Measure TP_VBUS_HV, TP_5V, TP_3V3. Are they correct?
  2. Gate driver: Check if DRV8301 (U3) has EN (enable) high. Verify its 5V and 12V (internal charge pump) outputs.
  3. PWM signals: Use an oscilloscope on the gate resistor inputs (e.g., R1, R2, R3). Are symmetric 3.3V PWM waveforms present from the STM32?
  4. Current sensing: Unpower the motor, spin by hand, and check the op-amp outputs (e.g., U5 U6 U7) for small voltage variations.
  5. Encoder feedback: Is the encoder’s A/B signal reaching the STM32 timer pins? Check continuity from encoder header to MCU pin using the schematic.