How We Built the World’s Best Flashing App
This article explains how to build an IoT flashing app that is simple to use, universally available, and has the ability to operate on any platform.
Join the DZone community and get the full member experience.Join For Free
We believe that IoT development should be accessible to all and made available in the most user-centric way. As part of our work to enable open collaborative innovation, we have built the Record Evolution Reflasher, a flashing app for IoT devices. Our purpose was to create a flashing application that is as simple as possible, universally available, and operating on any platform.
One of the first challenges you face when you want to work with an IoT device is accessing the IoT device at all. For this purpose, you have to install a system on the device that enables easy IoT integration. This process is commonly referred to as “flashing a system” on a device and normally involves several complex administrative steps. But it does not have to be this way. We also wanted to make flashing easy and fun.
So, we built a custom tool developed in-house to radically simplify the flashing process. This is an open-source, cross-platform desktop application that helps you create bootable configured flash drives ready to use on any IoT device. What took lines and lines of code now only takes several clicks.
Why Build a Flashing App From Scratch?
Over the past few years, we have been building an IoT development platform, and establishing reliable connectivity is the very first step in the process of building an IoT case. Enabling connectivity starts with the process of linking your IoT platform with your IoT devices. To get connected and to start working with the IoT device, you first need to go through the flashing process.
But, once you get to the flashing process, you get to discover that this is not trivial at all. In the past, even the standard scenario of flashing an SD card involved multiple laborious steps. The process was tedious and meant downloading an operating system, formatting the SD card, and identifying the card before you can even get to the flashing. Flashing an SD card was often a combination of two or more of the following:
- The process involved many complex steps.
- You could encounter platform dependency and the possibility of vendor lock-in.
- Instead of transparency, you got arcane instructions and long install manuals.
- You could not flash several devices at once.
Now, things have gotten simpler. Our IoT development platform can be connected to any Docker-capable device. There is no separate process that is only applicable to Mac, Linux, or Windows. Nor is there any manual work. The number of steps has been set to a bare minimum. We have managed to reduce the complexity of the flashing process to just a few clicks, sparing you all the heavy install instructions and making this genuinely a tool for everyone.
Adding up all the features we always wanted to see in a flashing tool (and never did), we ended up with something that we can call the world’s best flashing app.
The World’s Best Flashing App
But what exactly makes the Reflasher different from similar flashing tools?
The Reflasher is the only flashing app for IoT devices that can flash multiple SD cards in parallel and configure them in a single step.
Over the past several years, other vendors have also created comparable tools used for preparing bootable SD cards or USB flash drives. Some of the most influential flashing tools introduced by our peers are:
- Raspberry Pi Imaging Utility
- Win32 Disk Imager
- Hypriot Flash
Below is a feature comparison of these tools and the Reflasher:
The Reflasher features parallel flashing of any number of devices only limited by the employed hardware, i.e. card readers, USB hubs, etc. To ensure reliable functionality, the Reflasher validates the image of the operating system for every single device.
The Open-Source Flashing App for All
The Reflasher is primarily built to serve as the keystone between the IoT development studio and the physical world of IoT devices. As a flashing app for IoT devices, it has been built to ensure a reliable link between the platform and any Docker-capable device.
This is why the Reflasher can be used as a universal-purpose flashing tool to prepare conventional bootable drives for an operating system on any kind of flash drive. It is completely open and available to all.
And finally, this is where you can download the Reflasher and try it out:
Published at DZone with permission of Zornitsa Dimitrova. See the original article here.
Opinions expressed by DZone contributors are their own.