I’m concerned that every hardware device being released by startups right now costs between $100 and $200. Certainly, used or older models of devices can be found for slightly less, but at that point they are generally no longer supported by the company and/or no longer have full functionality because current applications, firmware updates or necessary cloud accounts no longer exist.
I wonder what kind of qualitative changes need to take place in the space of hardware device engineering that would allow for a (relatively) smart device to be built at an order of magnitude (or two) less in cost than devices today.
By example, this light switch is available for $0.69 at full retail price. The only “smart”-ish light switch I could find quickly was the Belkin WeMo Light Switch which retails for $50.00 at full retail price.
I find this example particularly disturbing for several reasons:
- The only onboard communication the device has is WiFi. There’s no Bluetooth, ZigBee / 802.15, FM, or anything else - just one radio and no hard-wired network.
- There’s no display
- There is zero need for any kind of computation whatsoever outside of the network stack (zero vacuum tubes needed)
- It’s a fucking light switch.
Now, I don’t mean to pick on Belkin here in particular - in fact, I think a more modern take on this would probably just include a couple more radio options or small display and double the price.
I think there’s an “engineering” culture that has kind of fallen apart. Without a doubt, the technologies and attitudes we’ve used in building out the Web and it’s enormous ecosystem of API-driven widgets have brought us a long way. The difficulty I see is that if we’re essentially looking at REST protocols over WiFi as the level we need to interact with a light switch, then either:
We double-down on this approach
WiFi modules need to get a lot cheaper (see our comparison)
Consumer WiFi routers need to be able to handle hundreds of connected clients without melting
We need to be able to run a bare-bones REST server without involving Linux or a real OS at all. Preferably, handle this at the firmware level, if at all.
- Said hardware needs to be a lot cheaper. This can be accomplished by abandoning clock speed, as well as size, caching, and most optimizations. In this case, the processor couldn’t cost more than $0.10, and the WiFi would have to max out at around $0.50.
We admit that baking fourteen levels of abstraction* on top of a powerhouse chip and 100+ metre radio is irresponsible at best.
It’s of course easy for me to favour option (2), but more difficult for me to propose what the ideal solution would look like. I think the real answers here lie not necessarily in new technology (except where absolutely necessary for cost-cutting, like perhaps 802.15), but in finding older technology still in plentiful supply that can find gainful re-application in ultra-low-cost electronics such as light switches.
Bring on the $5 connected light switch!
*There’s a real cost to layering too much abstraction - especially when we’re talking about hardware devices. As ugly and multi-layered as modern web protocols like WebSockets happen to be, we’re able to generally bring the computing power to bear on the problem, along with incredibly comprehensive debuggers and sysops on the server side to keep the magic alive.
When it comes to the Internet of Things, added levels of software abstraction directly correlate to energy and processing requirements, as well as all kinds of radio and network overhead… and those things directly impact cost in a (usually) exponential way.