Improvement and addition of features in 3D printing Open Source Software OctoPrint

0
538

ABSTRACT. The aim of the present document is to summarise the process followed for the implementation of new features to be added to OctoPrint, an open source software project that lets the user controlling a 3D printer. That process consisted in the requirements analysis, the design and development of a solution to meet those requirements and a set of tests to verify the implemented features, verifying that the objectives had been accomplished. Every developed feature would be later tried to be integrated in the original repository as most of the users download the source code from there. During the last years, 3D printing has achieved not only a wider variety of printer models or a higher number of shops where the different parts could be bought to later build and configure the printer, but also for software to be released that, among other possibilities, would allow controlling a printer that would generate the designed objects. OctoPrint is a web server, executable in different operating systems and hardware that allows controlling several 3D printer models apart from storing files to be later printed among many other available functionalities, which will warn the user if an object from a file is going to be printed totally or partially outside of the printing area, generate a file ready to be used to print from a design and schedule prints to be done at any date and time set by the user. All of the mentioned features will be found explained in more detail through the pages of this document. A Raspberry Pi 2 has been used for the project development, a computer of small dimensions that runs Raspbian (one of the many available Linux distributions), which is pretty economical taking into account its size and characteristics. Although OctoPrint can be run under other operating systems as it has been already mentioned, the Raspbian option was chosen so as to achieve a better adjustment to the development period and also because it is thought that most of the users running OctoPrint do it using a Raspberry Pi or another computer with Linux installed. With the purpose of a better understanding of the project topic, key concepts and the reason why the features were developed in a particular way, some parts will be introduced with the intention of achieving that goal.