"This will be the year of the true IoT boom."
We hear this prediction year after year, again and again. The technology is ready: we have the right stack, the expertise, established protocols, affordable MCUs, and more ideas than budget to implement them. The benefits of an interconnected world—starting with our own homes—are clear to everyone.
Yet, the boom hasn't happened. Not quite.
In this post (and a few others), I want to explore why the future seems to be dragging its feet and, more importantly, what we developers can do to make it happen.
Implementation Is More Expensive Than Anticipated
The business case seems straightforward, and an initial cost estimation might appear reasonable, but unexpected expenses quickly creep in.
In the Old Days
Take a simple traditional (non-smart) thermostat, for example. Its retail value can be as low as €10, consisting of just a few components, a knob, and a plastic enclosure. Everything is designed by a single engineer, with minimal complexity tracking component lifecycles and End-of-Life notices. When producing at scale, the cost per unit is only a few Euros. Add a €0.50 Microchip ATtiny microcontroller and an LCD screen, and you now have a high-end device, ready to be mass-produced in the millions.
Go Smart
The logical next step is to make it Smart:
- It adds value for the customer offering energy savings and seamless smartphone control.
- It differentiates your product from competitors, whether they still offer traditional devices or less advanced smart alternatives.
- It helps attract new customers while enticing existing ones to upgrade.
- It opens the door for increasingly complex features, encouraging both old and new customers to stay up to date with the latest device.
- If you offer additional products, you can build an ecosystem that strengthens customer loyalty and retention.
- You're going to need to deal with GDPR (if you are selling in Europe) but the benefits outweigh the headaches.
The Unexpected Complexity of Making It Smart
You soon realize that:
- Development, debugging and testing are far more complex and they will require additional tools and investment.
- Your tiny MCU isn’t powerful enough to run the TCP stack, requiring an upgrade, perhaps to an Arm M0+ or even M4.
- You now need an engineer to design the board (and possibly its firmware) plus someone to develop the app (potentially more, depending on your technical choices).
- Cloud infrastructure becomes essential, meaning you'll need a developer to build and deploy it, unless you want to also hire a separate DevOps Engineer.
- The Cloud infrastructure comes with a recurring monthly cost (an on-premises solution is hardly feasible on a tight budget).
- User authentication requires a professional IAM solution, adding to your expenses.
- The Cyber Resilience Act (CRA) (in Europe, Product Security and Telecommunications Infrastructure Act 2022 (PSTIA) in UK and—if you want to gain your US customers' trust—the Cyber Trust Mark) makes it clear that security is no joke and you’ll need to hire someone to handle compliance properly.
- The Cloud infrastructure will need 24/7 on-call support.
Your product will be significantly more expensive for customers (up to €300 for top-notch models) and tracking component lifecycles is no longer a trivial task.
Post-Sales Challenges
A traditional thermostat comes with a small margin, but once it’s sold, your costs end (except for warranty obligations). A smart device, however, continues to incur expenses throughout its entire lifecycle.
- You have to ensure secure over-the-air updates, security fixes are essential and non-negotiable.
- You have to maintain your apps and backend staying compatible with new devices, OS versions, and supported LTS releases.
- Device provisioning isn't as smooth as expected, you're going to need more people working in Customer Support.
The Solution?
One option is to create products with short lifecycles, but as we've seen, that doesn’t encourage customers to embrace smart devices and it quickly erodes trust in your brand. There are plenty of well-known examples of this issue, but there’s no need to make this post controversial.
Is There a Better Way?
Beyond cost and implementation hurdles, the IoT landscape presents additional challenges: connectivity and interoperability among devices. I strongly believe that if two IoT devices aren't integrated or integrable, they’re only realizing a fraction of their true potential—perhaps just 60%.
There must be a better way to tackle this problem. Maybe not for every use case but certainly for the vast majority.
Reimagining Smart Device Development
During my time at Arm in the (now defunct) ISG group, we explored alternative solutions that showed promise for many common IoT use cases. My approach is built on a few key principles:
- Smart devices shouldn’t be more expensive than traditional counterparts—in some cases, they should even cost less. See, for example, the hardware and firmware design for a proof of concept smart thermostat.
- You should only develop what you truly need, sticking to the principle of "Pay for what you use". See, for example, the firmware we wrote for the smart thermostat.
- A product’s lifecycle shouldn’t be dictated by updates—or, from a user’s perspective, by the longevity of the company that produced it.
In the next post we are going to explore this approach.