ODrive Pinout
Changes to the pin configuration only take effect after
odrv0.save_configuration()
andodrv0.reboot()
If a GPIO is set to an unsupported mode it will be left uninitialized.
When setting a GPIO to a special purpose mode (e.g.
GpioMode.UART_A
) you must also enable the corresponding feature (e.g.<odrv>.config.enable_uart_a
).Digital mode is a general purpose mode that can be used for these functions: step, dir, enable, encoder index, hall effect encoder, SPI encoder nCS.
All GPIO pins are 5V tolerant, except if you power the isolated interface with 3.3V, then ISOLATED IO inputs are rated to 3.3V nominal.

5V outputs: combined draw max 600mA
User Facing Pins (Gxx)
Locations for all pins that can be configured using
GpioMode
.
Note
The letter G and the zero padding are not used in odrivetool
or the web GUI, i.e. G09 would be represented by only the number 9.
- Inputs:
G0-G02, G04-G09, G11-G12, G14-G16, G18
- Outputs:
G0, G03, G10, G13-G17
Note
Inputs and outputs are not mutually exclusive.
CAN IO
[1] CAN_GND must be connected to DC- at a single point (system star point) when using the CAN interface. See system grounding scheme for more details.
[2] CAN_12V is optional and is used to power the ODrive logic, enabling communication before the main power supply is connected. Allowed voltage range: 10V-14V
FEEDBACK IO
[3] GND and 5V+ are filtered (ferrite/capacitor) from DC-.
THERMISTOR + has an integrated 1k ohm voltage divider.
A/B inputs of ENC0 and ENC1 support a frequency of up to 2.5 MHz (10M counts/s).
Warning
[4] The differential signal pin(s) GO+, G0- are located on J8 AND J14
ISOLATED IO
ISO_GND and ISO_VDD must be connected to your other board.
ISO_VDD is a power Input to the isolated interface, which you should power with 3.3V or 5V.
Input and output levels are 3.3V if you supply 3.3V, and are 5V if you supply 5V. Inputs are not 5V tolerant if you supply 3.3V.
Power Output Instead of Input (requires hardware modification)
You can change the ISO VDD and ISO GND to be power outputs instead, but this will bypass the isolation. This can be useful if you are powering a module that doesn’t have any other connections than to the ODrive, such as a RC reciever. To do this, you can bridge R66 and R64 for 5V output, or R66 and R65 for 3.3V output, on ISO VDD.
MISC IO
3.3V max draw 200mA
see Differential Interfaces below.
Warning
[5] Pins G16 and G17 are only rated for 3.3v, they are NOT 5V tolerant.
Differential Interfaces [6]
Pins G0 [clock], G17 [select] and G18 [data] can be used for RS422 differential signals or as single ended connections if only the + side is used. This allows the ODrive Pro to support a wide variety of encoder interfaces, including SSI (RS422 or single ended), BiSS or RS422 SPI (half duplex only). For specific encoder protocols please refer to the list of supported encoders here.

5V outputs: combined draw max 150mA
3.3V output: max draw 150mA
[1] 5V and 3.3V can be switched on and off internally. (feature coming soon!)
The RS485 and SPI feedback interfaces are mutually exclusive on S1.
THERMISTOR + has an integrated 1k ohm voltage divider.
[2] 12V in is optional and is used to power the ODrive logic, enabling communication before the main power supply is connected. Allowed voltage range: 10V-14V
[3] GNC NC offers a common connection for the CAN bus ground, it is not connected internally
User Facing Pins (Gxx)
Locations for all pins that can be configured using
GpioMode
.
Note
The letter G and the zero padding are not used in odrivetool
or the web GUI, i.e. G09 would be represented by only the number 9.
- Inputs:
G0-G03, G06, G09-G12
- Outputs:
G0-G03, G05, G07-G11
Note
Inputs and outputs are not mutually exclusive.
ISOLATED IO (G05-G08)
GND ISO and V+ ISO must be connected to your other board.
V+ ISO is a power Input to the isolated interface, which you should power with 3.3V or 5V.
Input and output levels are 3.3V if you supply 3.3V, and are 5V if you supply 5V. Inputs are not 5V tolerant if you supply 3.3V.