18. Mechanical design and machine design

In the previous years, the topic of this week, i.e. mechanical design and machine design, was meant to be covered into two weeks. This week assignment will really be challenging. We are only two to build a complete and functional machine. On one of our supervisor advise, Denis Terwagne, we decided to build a machine inspired by the Urumbu project, a CNC Mini-milling machine to mill small PCBs (5 cm x 5 cm). The mechanical design of this machine is based on flexible parts, particularly a flexible plate that allows displacement along x and y axes. The particularity of this flexible design is that the displacement along x and y axis are decoupled.

Because most of the time seeing things helps more than many words here is a spoiler video showing the final result of our machine performing a little circle:

And here is a side view showing the motor:

To achieve these results both two members of our team agreed to split the work in such a way: Quentin would work on the Electronics and programming while Robin would do the Mechanical Design.

The mechanical system includes a flexible XY stage, stepper motors and linear spiral shafts to produce a linear motion from a given rotation.

For more information about the mechanical design, please check Robin’s page.

The electronics system features a novel realtime-controlled, multi-node system based on UART only.

Here is a video of 2 nodes controlling a stepper motor each:

For more information about the electronics and programming, please check Quentin’s page.


When the full electronics was shown to be working, the main stage was ready for assembly:

I prepared a small 2.1mm to JST adapter for the 12V input.

Robin prepared a nice housing to protect the elctronics. The placement of the holes was based on my EAGLE design files.

Some 3mm screws with a plastic ring are used to mount the parts.

The other side is secured with 3mm nuts.

The loopback cable is designed to fit in the box with strict tolerance on the sides.

Because the endstops are normally closed and we have both min and max endstops, I quickly designed a pcb to put them in series. Connected this way, any of the two endstops triggers the pin. Knowing the motion direction, you can deduce wether the max or min was hit.

Simple 3x2 connectors do the job.

The connectors are secured in the corner of the main plate.

The blue/purple cable on the right here is what goes to the PCB, and both endstops are connected to the other pins.

With this being solved, we can add the motor stage.

And finally, the flexible XY stage sits on top.

The final machine is about 18cm wide.

After some tests, I ended up simplifying the machanics a bit. I removed the springload system, as it was too strong to compress for the motors. As a drawback, we can only use one quarter of the working area, as there is no force feedback on the other parts. This results in a tiny working area of 7.2 x 7.2mm.

Due to this, two of the endstops were not reachable so I promptly removed them.

With fewer endstops, the cable management is easier.


Here is a video of a homing sequence followed by a circular motion:

From the side, you can see that the motor is correctlyt pushing the XY stage:

To see what kind of accuracy the machine can reach, I needed to mount a pen on top of the XY stage, so I quickly cut some MDF wooden arc.

I add a red pen and stick a paper sheet on the stage.

Here is a drawing of a very small spiral:

The spiral is not perfect on all sides, but the center shows some high accuracy in the motion.

Future developments

Regarding the mechanical design, there are several parts that might need further developments:

  • The flexible XY stage design can still be improved to optimize the ratio between the total stroke of the mechanism and the whole size of it. The objective is to minimize the size of the board and maximize the stroke length.
  • The springs might be redesigned in order to reduce the amont of force required by the motors to push the plate against the spring at one end of the stroke. One solution might be to design them in such a way that they are softer but it is worth to keep in mind that the springs still need to be strong enough to push the plate against the other side of the board. This solution is conceivable only if the flexible XY stage is modified to make it more easily flexible. This solution comes also with a cost: the flexible plate might become more fragile.
  • Another possible solution is to replace the springs with metallic ones which have a behavior that is more predictable.
  • A more drastic solution would be to leave the springs aside and select any other devices such as pistons to drive the flexible XY stage.