Hi, we’d like to share our 8 useful integrations we made in FabLab Brno.
Maybe it will inspire others to make their space even more fabulous.
Disclaimer: Since most of these are just bunch of spaghetti-PHP, we do not plan releasing them as open-source. At least not in current state. But it’s not rocket science – we just call API and/or listen for incoming webhooks.
“Now” page:
Light-weight (< 5 kB total), works on older phones, with slow connection, and without having to sign in. Members immediately see, which machines are in use (and for how long), which are booked and which are available.
Most useful is number of members on-site. It is just an estimate, but works surprisingly well. Also useful is listing of our staff on-site (Core team). Since we are open 24/7, members want to know whether someone is present and maybe can help them.
Custom Fabman for 3D printers:
You probably heard about this, @mzuzelka can give more details.
In short: We put our custom board inside Prusa controller. It serves as a Fabman, but also communicates with printer firmware. It saves printed filename and amount of used filament to each resource-log
(via metadata). It is then read by our e-shop, so members can easily pay for used filaments.
Fablab TV:
Full-HD display with RPi which we hang on the wall. Is cycles through few screens – mainly “Upcoming events” (from Google Calendar ICAL) and “Booked machines” (from Fabman API resources
and bookings
).
Mattermost bot:
We use Mattermost (Slack alternative) for communication with our members. Our bot is simply triggered by webhook
.
First of all, it notifies our members that some machine is out of order. And later when machine is repaired and turned back on.
Also it notifies us when laser filter is full. Members then work more carefully and someone from our staff fixes it ASAP. Sadly, it alerts us only when laser is turned off (we hope firmware update will fix this).
Finally, it sends private message to members when their 3D print is finished. It tells them how long it took, how much of filament was used and whether it was stopped automatically or via button. Members can then deduce, whether print was successful or failed.
Laser queue:
Laser-cutter is our most popular machine so there is always a queue. During open-hours there can be 10 people waiting in a line. Which gets chaotic quickly.
So we utilized one of our custom Fabman boards, put it in a box with RPi and a display and made simple webpage. User beeps his card on this box, in saves it into resource-log
and puts him into queue. When he beeps on laser-cutter, it removes him from queue.
It’s a simple thing, but our members are now more relaxed and don’t have to argue with each other.
Laser cleaning:
We try to check/clean lens+filter every other day. But sometimes we forget. So we assigned one card as a “Cleaning card”. We have it stored in our cleaning kit. When our staff cleans the laser, they just beep with this card.
Simple webpage then checks resource-log
, calculates for how long laser hasn’t been cleaned and for how long since cleaning it has been used (busy and idle). This information is then visible to our members. Now we don’t forget to clean the laser and members can be sure.
Members listing:
We needed to know how many of our members are active and how many have training for which machines. So we made a simple page, which just queries packages
, courses
and members
. And it is really useful.
Also it helps us with managing safety training, which has to be renewed yearly (more here).
Machine availability:
We guarantee, that our machines are available 95% of the time. Also we have to report availability quarterly. For a long time we had to “guesstimate”…
Now we log machine status each midnight, and also when its state changes. Simple page then calculates availability for given timeframe.
We hope some of these might inspire others.
Feel free to share your own integrations or ideas.