What do you do when you have a spare 3D printer lying around? You make it into a toaster, of course. But we weren't satisfied with making any regular toaster. We wanted a toaster that could prepare us for the day ahead. A toaster to inspire us. A very, very toasty boi.
What it does
The Toasty Boi is a hacked 3D printer that uses heat to imprint useful information onto bread as it is toasted. It collects weather data and trending hashtags on Twitter and puts them on bread. Upload a selfie to our web server and receive an inspirational quote tailored to your mood. We also installed speakers to play fun music while you wait for your toast.
How we built it
Hardware We repurposed a Makerbot 3D printer and a soldering iron, in addition to speaker units.
Software We used the requests library of node.js to pull data from Twitter, OpenWeatherMap, and Microsoft's Emotions API. After processing this data, a python script (not written by us) is called to convert the top 5 trending Twitter hashtags into (supposedly) 3D printer-compatible gcode files. We created a quick web server to upload images for emotion analysis.
Challenges we ran into
We had a lot of difficulty implementing the connection between the software and hardware -- specifically, transferring data from our programs to the 3D printer. First, we attempted to use a Raspberry Pi with wireless capability, but could not get this to work. We also tried ethernet and eventually resorted to putting the files on an SD card for the time being. This was not the end of the connection struggle. The output gcode file from the python script was a .ngc, which is apparently incompatible with our 3D printer. We struggled with converting it to .x3g and unfortunately had to temporarily scrap that part of the project.
Accomplishments that we're proud of
Making something that looks pretty, doing lots of http requests successfully, managing to convert text to a sort of gcode file.
What we learned
Using python scripts from 2012 is probably not a good idea in a field as fast-moving as 3D printing.
What's next for Toasty Boi
Making it less janky... getting the .ngc file to convert to .x3g (so as to implement the Twitter functionality), fixed speakers, general fixes and touchups.