BLDC Motion

ODrive motion platform controller for SimHub. Sensorless homing, real-time CAN bus control, and a web dashboard — runs anywhere.

Beta Testing ODrive v0.5.6 CAN Bus 250kbps SimHub UDP 4-Corner Platform Alpha: Seatbelt Tensioners
I'm Interested Learn More

Why I Built This

I love tinkering, and the idea of using off-the-shelf hobbyist BLDC motors for a motion simulator was too good to pass up. I picked up some second-hand motors and ODrives from a like-minded sim racer, and got to work figuring out how to make it all talk to SimHub.

What I quickly found was a gap — there was nothing like the polished controller software that exists for servo and AC systems. No homing, no web interface, no plug-and-play setup. Just raw CAN commands and a lot of trial and error.

So I built it. What started as a weekend project has turned into something I want to share with the community. If you're running ODrives on a motion rig and wish the software side was easier — this is for you.

See It In Action

A purpose-built web interface for monitoring and controlling your motion platform.

Dashboard during homing sequence

Live Dashboard — Homing Sequence

Real-time actuator positions, motor status indicators, and lifecycle stepper showing the sensorless homing process in action.

Dashboard in parked state

Parked & Ready

Platform homed and waiting for SimHub. All four actuators at home position with live telemetry.

Component configuration

Component Configuration

Hierarchical config: components contain ODrives, each with per-axis direction, limits, and purpose mapping.

Setup wizard axis assignment

Setup Wizard

Visual axis assignment — click platform corners to assign CAN axes. Includes direction testing with safe jog commands.

Dashboard idle state

Idle State

Clean overview when the system is stopped. Connection status, config summary, and collapsible log viewer.

How It Works

BLDC Motion sits between SimHub and your ODrive controllers.

🎮

Game Telemetry

Your sim game (iRacing, ACC, etc.) sends telemetry data to SimHub.

📡

SimHub Motion Plugin

SimHub's Motion Plugin converts telemetry into actuator positions and sends them via UDP.

BLDC Motion

This software translates UDP commands into CAN bus messages and manages homing, limits, and safety.

ODrive + Motors

ODrive controllers drive your BLDC motors to move the platform in real-time.

Requirements

Hardware Compatibility

Tested with official and third-party ODrive-compatible controllers.

✓ Supported

Official ODrive v3.6

Fully tested and recommended. Dual-axis, reliable at high currents.

✓ Supported

ODrive Clones (most)

Most ODrive-compatible boards work well with CAN Simple protocol.

✓ Recommended Clone

Sequre DESC V4.2 (56V)

Single-axis unit. Good alternative to official ODrive if going the clone route.

⚠ Known Issues

Sequre ODESC 3.6

Hardware limitation — noise feedback at high currents causes encoder errors. Not recommended.

Features

Everything you need to run a BLDC motion platform with ODrive controllers.

🎯

Sensorless Homing

Two-pass hard stop detection without limit switches. No additional sensors needed. Averages detection positions for accuracy.

CAN Bus Control

Direct CAN Simple protocol at 250kbps. Supports up to 4 axes across multiple ODrives. Real-time position commands at 100Hz+.

🎮

SimHub Integration

Receives UDP position data from SimHub. Automatic startup/shutdown handling. Per-axis offset and limit clamping.

🖥️

Web Dashboard

Real-time platform visualisation with 3D tilt. Per-actuator status, velocity indicators, telemetry stats, and log viewer.

🔧

Setup Wizard

Guided configuration with visual axis assignment. Safe jog testing at low current. Direction detection for inverted motors.

🛡️

Safe Shutdown

Sensorless landing detection. Platform lowers gently until weight transfers to feet. No sudden drops on power-off.

🌗

Dark & Light Themes

Workshop-friendly dark mode and bright light mode. Blueprint grid background for that engineering aesthetic.

📱

Mobile Responsive

Monitor your platform from your phone. Responsive layout adapts to any screen size.

🔌

Multi-Platform

Runs on Raspberry Pi, Linux, or Windows. Any host with a USB CAN adapter. Systemd service for headless auto-start.

Technical Specs

Built for the ODrive ecosystem with proven hardware.

Motor Controller
ODrive v3.6 / v0.5.6 firmware
Communication
CAN Simple @ 250kbps
CAN Adapter
CANable-MKS (gs_usb)
Host
Raspberry Pi, Linux, or Windows
Actuators
Linear leadscrew, 4 corners
Encoders
8192 CPR incremental
Trajectory Mode
Trapezoidal (110 rev/s, 95 rev/s²)
SimHub Protocol
UDP position packets @ 100Hz

Get Early Access

Currently in beta testing. Choose the option that works for you.

Community
Free
  • Get notified when it goes public
Join Waitlist
Supporter
$50 one-off
  • Everything in Beta Access
  • Your name in the credits
  • Early access to new features
  • Help shape the roadmap
Support the Project