I just got back to Berlin from the Bitraf IoT hackathon we organized in Oslo, Norway. This hackathon was the first of two IoT workshops around MsgFlo and Flowhub IoT. The second will be held at c-base in Berlin this coming weekend.
Bitraf and the existing IoT setup
Bitraf is a large non-profit makerspace in the center of Oslo. It provides co-working facilities, as well as labs and a large selection of computer controlled tools for building things. Members have 24/7 access to the space, and are provided with everything needed for CNC milling, laser cutting, 3D-printing and more.
In addition to access control, they also had various environmental sensors available on the MQTT network.
With the workshop, our aim was to utilize these existing things more, as well as to add new IoT capabilities. And of course to increase the number of Bitraf members with the knowledge to work with the MsgFlo IoT setup.
Being a makerspace, Bitraf already had everything needed for the physical side of the workshop — tons of sensors, WiFi-enabled microcontrollers, tools for building cases and mounting solutions. So the workshop preparations mostly focused on the software side of things.
The primary tools for the workshop were:
- Docker setup of Bitraf IoT, making running the whole IoT environment locally as easy as
- msgflo-arduino, a library for making ESP8266 devices work as MsgFlo participants
To help visualize the data coming from the sensors people were building, I integrated the NASA OpenMCT dashboard with MsgFlo and InfluxDB time series database. This setup is available at the cbeam-telemetry-server project.
This gave us a way to send data from any interesting sensors in the IoT network to a dashboard and visualize it. Down the line the persisted data can also be interesting for further analysis or machine learning.
We started the workshop with a quick intro session about Flowhub, MsgFlo, and MQTT development. There is unfortunately no video, but the slides are available:
After the intro, we did a round of all attendees to see what skills people already had, and what they were interested in learning. Then we started collecting ideas what to work on.
People picked their ideas, and the project work started.
I’d like to highlight couple of the projects.
New sensors for the makerspace
Building new sensors was a major part of the workshop. There were several projects, all built on top of msgflo-arduino and the ESP8266 microcontroller:
- Motion sensor for tracking whether there are people in the laser cutting lab
- Sensor for tracking which windows are open or closed: https://github.com/Poohma/IOT_Window_Hall_sensors
- Sensor for tracking whether a given machine is currently running or not: https://github.com/slunke/onoffsensor
There was also a project to automatically open and close windows, but this one didn’t get completed over the weekend. You can follow the progress in the altF4 GitHub repo.
All hackerspaces have the problem that people borrow tools and then don’t return them when finished. This means that the next person needing the tool will have to spend time searching for it.
To solve this, the team designed a system that enabled tools to be locked to a wall, with a web interface where members can “check out” a tool they want to use. This way the system constantly knows what tools are in their right places, and which tools are in use, and by who.
You can see the tool lock system in action in this demo video:
Source code and schematics: https://github.com/einsmein/bitraf-thelock.
After the hackathon
Before my flight out, we sat down with Jon to review how things went. In general, I think it is clear the event was a success — people got to learn and try new things, and all projects except one were completed during the two days.
Our unofficial goal was to double the number of nodes in the Bitraf Flowhub graph, and I think we succeeded in this:
Here are couple of comments from the attendees:
Really fun and informative. The development pipeline also seems complete. Made it a lot easier for beginner to get started.
this was a very fantastic hackathon! Lots of interesting things to learn, very enthusiastic participants, great stewardship and we actually got quite a few projects finished. Well done everbody.
In general the development tools we provided worked well. Everybody was able to run the full Flowhub IoT environment on their own machines using the Docker setup we provided. And apart from a couple of corner cases, msgflo-arduino was easy to get going on the NodeMCUs.
With these two, everybody could easily wire up some sensors and see their data in both Flowhub and the OpenMCT dashboard. From the local setup going to production was just a matter of switching the MQTT broker configuration.
If you’d like to have a similar IoT workshop at your company, we’re happy to organize one. Get in touch!