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
- 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.
- I designed and 3D printed the first mechanical parts, including the motor support needed to perform initial tests.
- 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.
- 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.
- 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.