The main idea behind this project is that it should be easy to build, and quite forgiving in the actual placement of components. Most of the complexity will be in the software to compensate for the less than ideal physical construction.

I am planning to leverage on some publications where optical mice were used to provide odometry, which was used mainly in robots, but this 3D printer is basically a robot turned upside down. 🙂

The holonomic drive has an extra degree of freedom (i.e. rotation) that might be interesting to explore, if it proves to be an advantage.

For the first prototype at least, my idea is to use an Arduino Due to parse the G-Code directly, and translate it to the physical movements of the 3D printer, handling all the real time stuff. The Due was chosen as I expect to be doing a lot of trigonometry, and I believe that using an 8 biter would pose an extra challenge since my time is heavily constrained (I can always try to optimize things later if time allows).

Then to make it standalone I plan to use an Raspberry Pi to host a web server through Wi-Fi so we can submit prints or otherwise control the printer using a tablet or smartphone for instance.

The following system diagram tries to better illustrate what was just

Truth be told I am not a software guy and I like to program mostly low level stuff (e.g. driving the hardware), so I’ll try to offload the GUI portion to some already created open source project if possible. The OctoPrint project ( seems to be a great candidate so I’ll try to have my interface compatible with it (if I just keep it RepRap compatible, I believe it should be enough).

For more detail: Cheap and Easy to Build 3D Printer