Feature Image is courtesy of Frederick Vandenbosch
Resin.io (@resin_io) is a conglomerate of makers from 20 different countries that work on making the process of programming connected devices easier for both new creators who are not especially tech-savvy and seasoned coders who want to build a fleet of connected devices.
Opening the Door
Every day, the dream of a connected home or workplace gets closer and closer to reality. Smart devices are already beginning to populate office spaces, and several makers have already taken the first steps towards connecting multiple devices to a single control unit at home.
Although totally plausible to replicate, projects like these can seem daunting to people like me. I would love to dive into the world of boards and coding, but I just do not have the technical know-how. After seeing resin.io’s work first-hand at Maker Faire Bay Area, that initial leap does not seem quite so overwhelming.
A Hub for Creators
Resin.io’s software works with any Linux-based device. That may not be everything, but it is certainly close.
The software provides a hub for creators to access all of the devices connected to their individual resin.io portal. It does not matter where the devices are, either. Carlo Curinga, Director of Technology Operations at resin.io, demonstrated how he could access one of his devices back in Italy from the Maker Faire site in San Mateo, California.
Easy to Use
Resin.io’s demonstration also revealed how simple their software is to use. The company does not want its users to have to worry about setting up boards or learning advanced programming techniques to make their project do what they want it to do.
With Resin.io, a maker could use a Raspberry Pi in their project and never have to touch it again. All updates and new programming could be easily done remotely via a laptop.
To stay true to their mission, resin.io even has one of their boards encased (in resin actually, yeah I laughed too) with no means of access without shattering the board in the process. They can update software running on the board remotely over wifi without having any physical access to the device.
Resin.io does not just make accessing a board easier, either. I got a walk-through of how to program a device with their software. A lot of the complexity normally associated with programming has been taken out. Resin.io converts difficult-to-remember programming commands into simpler directives. I was impressed when halfway through the demonstration, I realized that I, someone who is far from a programmer, was able to follow along.
While resin.io is accessible for new programmers like me, it’s also useful to an advanced coder for projects of all skills levels. Designers looking to launch a product can use resin.io to connect a multitude of smart devices.
With resin.io, every update, command, and download can be sent to every connected device with just a few clicks. A skilled programmer could create a highly advanced prototype, kickstart it, mass produce thousands of devices, and then use resin.io to update every single device at once after they had all already shipped to customers. The creator could remain connected to all their devices simultaneously for the rest of the devices’ lives, and also give their customers the ability to update the devices remotely if they wish
Great for Makers
OpenROV is currently using resin.io in the production of their new Trident underwater drones. Brian Adams, VP of Software, reports they already have “roughly twenty ROVs that [they] are managing updates to in [their] engineering fleet” as the team approaches their shipping date.
— balena (@balena_io) May 20, 2017
Their drones are all controlled through the company’s resin.io portal. The team is already readying the software for the sudden influx in numbers when the drones start to ship. Adams believes that any maker looking to create something like the Trident, that would require constant customer service in order to handle “build automation,” could benefit from something like resin.io. He continues:
Once a maker starts the transition from prototyping on these embedded Linux computers to actually working out how to maintain more than one of their products in the field, I believe that they will find a lot of the work has already been done by Resin.io. Every maker deploying an embedded Linux computer has to start with figuring out how to build a custom Linux distribution that has just the support packages their product needs. With the Resin.io open source project, makers can find a maintained base Linux operating system for many different embedded computers.
As a maker you then use the Docker tools, which are all the rage right now, to configure the systems and services that need to be deployed onto the device. Resin maintains a sizable inventory of base containers to start with. We were able to grab a container that had the base Debian tools and the latest Node.js pre-installed for us!
I got to see and play with a few of resin.io’s creations at Maker Faire Bay Area. Each device was controlled remotely via a resin.io application. I got to see first-hand how resin.io could differentiate between devices and interact with one at a time remotely, or see an entire fleet of devices and update each one with new code simultaneously.
Curinga joined Alison Davis, Director of Product Marketing and Strategy, to show me the fleet of smart speakers they’ve built to help demonstrate what’s possible with resin.io. Cameron Diver, Software Engineer, and Joe Roberts, Hardware Engineer, exhibited resin.io’s smart lock and some games.
This little guy is a Raspberry Pi-based smart speaker, designed by Curinga.
My favorite part is easily the little LED face. The face will change to other symbols depending on what you have programmed the speaker to do. No need to open up the device and check in on the Raspberry Pi, remember?
Symbols range from a downward arrow (new update is downloading) to a frowning face (update did not quite work) to a slew of others. Curinga even showed me how makers can use resin.io’s software to customize the interface and make their own symbols and faces, and then implement the feature into other types of projects.
This smart lock can be programmed through resin.io to react to different signals. Diver, who helps build the backend components of resin.io that take care of the difficult parts of programming devices, so resin.io’s users don’t have to, demonstrated how the lock would respond to certain keycards, but fortify itself against those that do not provide the right signal.
Resin.io brought three games that had been programmed on the Raspberry Pi: Snake, Tetris, and Rock, Paper, Scissors. The boards are currently pretty naked, but the team hopes to design some nice plastic 3D case that will completely enclose the board. Creators who want to build their own games using resin.io and Raspberry Pis can find these and other examples on resin.io’s playground and project repos on GitHub.
I tried playing Tetris and failed spectacularly. The little plastic stick just really hurt my thumb. Here’s hoping the case adds a much-needed plastic joystick that is easier to use!