How IoT Devices Need to Introduce a "Virtual USB" Model

01-09-2022 | By Robin Mitchell

Recently, Google announced that it will be shutting down its IoT Core service and has begun informing customers to migrate their devices to other services. Why is Google shutting down its service, what challenges does this present to the IoT industry, and why should engineers start separating hardware from software?

Why is Google shutting down its Core IoT service?

Recently, Google announced that it will be shutting down its IoT Core service and has begun informing customers to migrate their devices to other services. According to Google, the service is being shut down as Google believes that its network of partners specialising in IoT can do a better job. However, to provide customers with a smooth transition, the service will remain active for a year giving plenty of time for customers to migrate to other systems.

While Google believes it is making the right decision to close its IoT Core service, numerous technical experts have questioned the move. In particular, Google is arguably one of the world’s most powerful internet-based services and has been at the forefront of driving IoT technologies (being one of the founders of Matter). In fact, Google has frequently touted the importance of IoT, the data it generates, and how it can shape the future, which is why some are confused about Google’s decision to close its IoT Core service.

What challenges does this present to the IoT industry?

Fortunately, customers that use services driven by major platforms such as Amazon Web Services, Microsoft Azure, or IoT Core have a good chance of being able to migrate their devices to other services. This is especially true for IoT devices that have the ability to accept firmware updates, use open-source protocols, and allow customers to use any service they choose. 

However, customers that use IoT products tied to a specific platform can face serious trouble when software services that support an IoT device suddenly disappear. With billions of IoT devices currently in use, a large portion of these are tied to vendor-specific platforms that will only continue to function for as long as they are supported. 

In the case of Google, customers have been provided ample time to find new solutions, but companies that suddenly go bust can disappear, never to be seen again with their software services pulled overnight. If the protocols used by the software services are not made open source or transferred to a new operator, then any IoT hardware that depends on that software service will cease to function.

Another example of where IoT devices only function for as long as their associated software service is maintained is Hive. Recently, Hive announced that it will be dropping support for its security devices, including cameras, HomeShield, and lead detectors. As such, customers need to identify these devices, replace them, and recycle the old devices. This not only incurs a significant cost to customers (who have invested in hardware products) but also increases e-waste, CO2 emissions, and generally increased environmental harm. 

Why should engineers start separating hardware from software?

The simplest solution to this challenge is to start decoupling hardware from software and make the two independent from each other. While it is common practice for tech companies to sell hardware at a loss to make customers dependent on additional products and services, this business model only works for basic consumer devices that are not expected to last for more than a few years (such as game consoles). 

In the case of the IoT industry, IoT hardware devices should start to be viewed as virtual USB devices that connect to a virtual computer executed in the cloud. Instead of creating custom protocols for IoT devices to lock them into a specific platform, by using a generic off-the-shelf open-source solution, IoT devices can easily be connected to any software solution that supports it. Furthermore, using open-source protocols also allows software services to work with more devices manufactured by third parties.

Thus, an IoT device whose associated software service suddenly disappears can be reconnected to another service (just as a USB device can be pulled out of one machine and inserted into another). Finally, using a “virtual USB model” also allows companies to design drivers for their IoT devices that allow for other services to interact with that device without having to understand how that device works. 


By Robin Mitchell

Robin Mitchell is an electronic engineer who has been involved in electronics since the age of 13. After completing a BEng at the University of Warwick, Robin moved into the field of online content creation developing articles, news pieces, and projects aimed at professionals and makers alike. Currently, Robin runs a small electronics business, MitchElectronics, which produces educational kits and resources.