There's some really cool stuff happening in the 3D printing space. For example a club on campus called 3D4E makes things like arms for little kids who lost them due to cancer. But there's a major problem in sharing 3D files and tracking how many times they have been printed.
For example if 3D4E were to hypothetically share their 3D printed prosthetics with hospitals all over the world for free, they wouldn't be able to track the impact they were making because the only metric they could use is number of downloads which if really used by hospitals who print hundreds at a time would be really misleading.
We wanted to make sure clubs changing the world through 3D printing were able to track their impact.
What it does
Our Raspberry Pi Decrypts acts like memory on top of the 3D printer. When someone wants to print a file, they scan their card to decrypt the raw gcode file (which is the raw assembly instructions specific to the 3D printer) for just enough time for the printer to 3D print the object. As soon as that time elapses, the file is encrypted with a different key. The act of decrypting a file increments the number of times the file has been printed so it's visible to the person who shares the files.
In terms of the coding and UI side we built an entire web Application around this concept so that people could upload their files to share and track how many times it's been printed.
How we built it
We setup the raspberry pi to do:
- write small bits of data onto the card
- read data from the card
- decrypt the chosen file after the card is tapped
- post the data after decryption to the node API server
The node API server was setup to do:
- handle index, get and post routes
- connect to the backend Firebase db to query for data about files
The web application deals with:
- making calls to the API server to update the dashboard
- handle routes within the application
Challenges we ran into
We ran into some initial issues with the Raspberry Pi in terms of getting the RFID card reader working initially. The other major issue was with finding the right library to do the encryption & decryption of files.
Accomplishments that we're proud of
We think that this is something that can actually be given to the 3D4E club here at USC in order to help them track the crazy cool impact they are making. We had one of their print techs come over to check out what we were building yesterday night, and we set up a time on Monday to add this over the top on one of their machines.
What we learned
Setting up the Raspberry Pi. GPIO on Pi to read and write bits to the RFID card, Python simple http server to share files among ourselves Node express to handle REST calls
What's next for 3D Printing Tracker
We have set up a time on Monday to add this over the top on one of their machines. We want to be able to print decrypted gcode files.