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

Martínez Arrieta, Javier (2016). Improvement and addition of features in 3D printing Open Source Software OctoPrint. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. y Sistemas de Telecomunicación (UPM), Madrid.

Description

Title: Improvement and addition of features in 3D printing Open Source Software OctoPrint
Author/s:
  • Martínez Arrieta, Javier
Contributor/s:
  • Martín Rueda, Javier
Item Type: Final Project
Degree: Grado en Ingeniería Telemática
Date: 11 July 2016
Subjects:
Faculty: E.T.S.I. y Sistemas de Telecomunicación (UPM)
Department: Ingeniería Telemática y Electrónica
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (3MB) | Preview
[img] Archive (ZIP) - Users in campus UPM only
Download (75MB)

Abstract

El propósito del presente documento es el de resumir el proceso seguido para la implementación de nuevas funcionalidades que serían integradas en OctoPrint, un proyecto software de código abierto existente que permite al usuario el control de una impresora 3D. Dicho proceso constó de un análisis de requisitos, el diseño y desarrollo de una solución que se adaptase a dichos requisitos y la realización de un conjunto de pruebas que permitiesen comprobar que el código implementado se ejecutase correctamente, cumpliendo así con los requisitos planteados. Cada funcionalidad desarrollada se trató de integrar posteriormente en el repositorio original, del cual descarga el software la mayoría de los usuarios. A lo largo de los últimos años, la impresión 3D ha sufrido un fuerte auge que ha llevado consigo no sólo un mayor número de modelos de impresoras disponibles o de tiendas que disponen de material que permiten montar y configurar uno de los varios posibles modelos, sino que ha conllevado también la aparición de software que, entre otros, permiten controlar la impresora y que ésta genere los objetos diseñados. OctoPrint es un servidor web, ejecutable en distintos sistemas operativos y hardware, que permite controlar distintos modelos de impresoras 3D además de almacenar los ficheros a imprimir entre otras numerosas funcionalidades de las que dispone y al cual se añadirán un total de tres, las cuales indicarán al usuario si se detectan errores en un fichero a imprimir porque alguno de los objetos se encontrase total o parcialmente fuera del área de impresión, generar un fichero listo para su impresión a partir de un fichero de diseño y programar impresiones a cualquier día y hora elegidas por el usuario. Todas las funcionalidades aquí mencionadas se encontrarán explicadas con mayor detalle a lo largo del documento. Para el desarrollo del proyecto se ha hecho uso de una Raspberry Pi 2, un ordenador de pequeñas dimensiones que ejecuta Raspbian (una de las múltiples distribuciones de Linux) y que además resulta muy económico teniendo en cuenta el tamaño y prestaciones de los que dispone. Aunque OctoPrint es ejecutable en otros sistemas operativos como ya se ha mencionado, se eligió Linux para conseguir un mejor ajuste al tiempo de desarrollo del proyecto y que las funcionalidades implementadas pudiesen llegar a un mayor número de usuarios, ya que se cree que la mayoría de estos ejecutan en software en ordenadores con sistemas operativos Linux instalado. Con la intención de que el lector pueda comprender mejor la temática de este proyecto, conceptos claves y el motivo por el que se desarrollaron las funcionalidades de una determinada manera, se introducirán una serie de apartados que tratarán de conseguir dicho objetivo. 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.

More information

Item ID: 44473
DC Identifier: http://oa.upm.es/44473/
OAI Identifier: oai:oa.upm.es:44473
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 24 Jan 2017 06:31
Last Modified: 24 Jan 2017 06:32
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM