← Back to portfolio Project

Physiotherapy Training Device Prototype

Fusion 360 · Motor Control · Encoder SPI

Physiotherapy training device prototype

Context

This project is still ongoing and is something I develop in my spare time alongside my full-time job.

Shortly after starting my career, I met two physiotherapists who wanted to launch a startup around a rehabilitation device. They were looking for an engineer capable of building a functional prototype and bringing the concept to life.

The goal is to develop a cable-driven rehabilitation device powered by an electric motor capable of applying controlled movements and forces. By accurately controlling the cable's position, speed, and tension, the device could support a wide variety of physiotherapy and strength-training exercises.

Goal

My objective is to design and build the first working prototype, from component selection to motor control, in order to validate the concept and create a platform for future rehabilitation programs.

What I've Done

  1. I defined the technical architecture of the system and selected the main hardware components required for development, including a BLDC motor, an ODrive Pro controller, a Raspberry Pi, a battery system, a 3D printer, and development tools such as an oscilloscope.
  2. I designed and 3D printed the first mechanical parts, including the motor support needed to perform initial tests.
  3. A key challenge was achieving accurate low-speed control. For this reason, I selected an MA732 absolute magnetic encoder, communicating through SPI, and integrated it with the ODrive controller. Because the motor uses an external rotor, I designed a dedicated magnetic ring and developed a calibration procedure to compensate for measurement errors caused by magnetic field non-uniformities.
  4. To characterize these errors, I designed and printed a calibration wheel that allowed me to compare the real angular position with the encoder measurements and apply the necessary corrections.
  5. In parallel, I worked on the motor control system, configuring and tuning the ODrive controller to achieve closed-loop position, speed, and torque control. The prototype is now operational, and I am refining the controller tuning before implementing physiotherapy exercise programs.

Results

The project has progressed from an idea to a working prototype platform.

So far, I have successfully:

  • Defined the system architecture.
  • Built the first mechanical prototype.
  • Integrated and calibrated an absolute encoder.
  • Established reliable SPI communication.
  • Achieved position, speed, and torque control of the motor.

The next step is to further improve the control performance and develop rehabilitation-specific exercise modes.

Tools & Technologies Used

  • Fusion 360 for 3D design and prototyping.
  • ODrive Pro, BLDC motors, and control-loop tuning for motor control.
  • Raspberry Pi, Python, and embedded-system development.
  • MA732 magnetic encoder and SPI communication for position measurement.
  • 3D printing, oscilloscope debugging, and electronics integration for prototype development and testing.

What I've Learned

This project has allowed me to develop a complete mechatronic system from scratch while experiencing the realities of an early-stage startup.

I learned how to:

  • Select and integrate hardware.
  • Design mechanical parts.
  • Build an embedded system.
  • Work with BLDC motor control.
  • Implement sensor communication through SPI.
  • Calibrate measurement systems.
  • Rapidly iterate on prototypes.

Most importantly, I learned how to combine mechanical design, electronics, software, and control engineering to transform an idea into a working product.