The (long) History of my DIY Steward Platform (Part 2)

If you’re new here, you might want to check out the first part of this long story. You can find it here.

Phoenix

After spending six years in the basement, the motion platform finally saw daylight again in January 2026.


Apart from a thick layer of dust, both the mechanics and electronics seemed to have survived their long hibernation surprisingly well.



After a bit of cleaning, things were already looking much better.


Mechanically, there was one thing I really wanted to address: the limit switch mounting.

Originally, I thought mounting the switches directly on the crank’s rotation axis was a clever idea. I liked that adjusting the switches would always keep their distance from the rotation axis the same. The downside was that there wasn’t much room for the clamping collar, so even before I put the platform into storage, the limit switch mounting plate had worked loose or rotated several times.


There was another issue as well. In the original design, the switches were only actuated by the heads of two M6 bolts. It worked reasonably well, but when the system was searching for its home position, the inertia of the cranks would often cause the bolt heads to overshoot the switches. As a result, the limit switches occasionally sent false signals to the servo controller.


I solved the second problem by designing dedicated endstop rails. They’re much less sensitive to overshooting the home position. At the same time, they also provide the adjustment mechanism, since the rails can be rotated around the crank axis to fine-tune the trigger point.


The home position endstop is the important one. The rails are long enough that, if the crank overshoots, they will also trigger the second switch. That second switch isn’t adjustable independently, but that’s perfectly fine since its only job is to prevent the crank from rotating too far. It doesn’t need to stop at an exact position.


This time, the switches are mounted on rigid mounting plates that are firmly bolted to the actuator block. Oversized mounting holes, together with matching 3D-printed washers, provide just enough adjustment during installation.

After that, everything is securely fixed in place. Fine adjustment of the trigger point is then done by rotating the yellow endstop rails.

More CAN-Bus

Besides the mechanical improvements, I also wanted to upgrade the motor control electronics.

I was generally happy with the three Sabertooth 2x25 motor drivers, and the Kangaroo motion controllers had also been working well. Until now, however, all three Kangaroos were connected to a shared serial bus, with a central Arduino translating the serial commands from BFF Motion into commands for the Kangaroos. Not only was this setup less than ideal in terms of reliability and noise immunity, but the Arduino firmware I had written six or seven years ago had also become a weak point.


After my positive experience using CAN bus for the dashboard instruments, and everything I learned while developing that system, I decided to move the motion controller communication to CAN as well.

Each Sabertooth/Kangaroo unit now has its own Arduino Nano and CAN bus transceiver. Unlike the dashboard instruments, I didn’t need a DC-DC converter to step the 12 V CAN bus supply down to 5 V, since the Kangaroo controllers already provide a regulated 5 V output.

As with the instrument modules, I designed a small carrier board for the Arduino, the CAN transceiver, and a status LED, then manufactured the boards myself using my usual 3D printing and copper foil technique.




Finally, I enclosed the entire control unit in a custom housing. After more than ten years, the Sabertooth drivers and their control electronics are finally protected by a proper enclosure that’s both neat and much harder to accidentally step on.

Sorry about the sawdust and the temporary mess of debug cables. I’ll try to get some proper beauty shots by the end. 

As for the other end of the CAN bus, meaning the motion controller and the generation of the control data, as well as everything related to the upper structure of the motion platform, I’ll have to leave that for the next part of this series.

See you then!




Comments

Popular Posts