Nametag Autoprinting

2016-07-26

Ever since Robostorm had build its club 3d printer, they had needed a way to show off it and other member's printers at the 4-H fair. It was decided that something easy to do would be to sell custom 3d printed nametags, printed to order. To streamline the process, a program was to be developed to automatically take names from customers, process them into nametags, and print the nametags to an avaiable printer. All of the printers would have a Raspberry Pi running Octoprint, to allow for easy uploading and printing. Originally, it was implemented as a Java FX application running on an old laptop to take in names and print them. Most of the way through the development of that, another club member decided to make it into a web app, and would be run on a server seperate from name collection. This would also allow it to be managed from other computers for more streamlined use. Unfortunatly, the web app did not always work. It would be need to be restarted frequently and would print nametags twice. As a result of these annoyances, I had decided to make a new nametag printing app.

I wanted the new web app to be simplistic and lightweight, so it could be run on old hardware. It also had to be robust so it could be used for years to come without isuues. Also, I wanted the web interface to auto update with new nametags and statuses, without haveing to reload the page. Because of this, I did not want to use server generated HTML temlplates. Now, all updating is done through AJAX calls to the server. The server itself was written in Golang, as it provided an easy way to create a webserver, and also compiles to machine code for fast execution. The generation of the nametags is done by Openscad, and then sliced for the printers with Slic3r. The web client is written in the standard HTML, CSS, and Javascript.