Firmware Development

Source files

The firmware will interprets the commands that the robot controller will send through the serial port, and execute the different functions. With this code we can set up a desired temperature and heat the nozzle to the target, set the desired motor speed and turn on/off the air to cool down the material printed.


In order to upload the firmware on the board I have followed the same procedure used on the Embedded programming module 8th module.

The temperature control use the PID algorithm, in order to obtain good result; after some test, below the best PID parameters founded for the granulo extruder:

  • Kp 256,59
  • Ki 31,83
  • Kd 517,06


List of possible commands:

  • A11/A10 turn on/off the air
  • M101 Sxxx control the motor speed
  • T101 Sxxx control the temperature



Software Development

Source files

In order to generate the COMAU robot code, I have developed an easy to use grasshopper cluster, based on the previous work done from I and the digifabturing team; available at the following GitHub.

Starting from curves, line ect... or grasshopper algorithm, the cluster generate the code .pdl that allow to move the robot and control the extruder.
Starting from an Inverse Kinematics algorithm will calculate the 6 angles one for each axis; after will format the .pdl code, in order to move the robot.







.pdl Code example

Source files