Big Fish Syndrome
Have you ever seen the cartoon where a fish is about to eat a small fish, but there is a bigger fish about to eat both of them and still another fish about to eat all three? I've noticed a similar trend in computing. If you are old enough, you might remember a time when companies made money selling disk compression software, TCP/IP stacks, or basic video players.
When you create or enter a niche market like that, it seems one of two things happen: Your niche is a fad and fades away or the big fish come in and add your feature to the operating system. If you are very lucky, the big fish at least brings you a barrel of money to go away. If you aren't lucky, you simply fade into computer history.
I wonder if what I think of as simple microcontrollers are going to go this way. CPUs are getting more and more powerful and less and less expensive. At what point will it make sense to have an operating system and all that implies for any project no matter how small?
Consider that you can get powerful 32-bit parts for less than you paid for 8-bit parts just a few years ago. Sure, you can always squeeze more performance out of a "bare metal" CPU, but unless your design is super simple, you are going to need an operating system or something that looks like one, anyway (even if it is home grown at great expense).
The other game changer has been Linux. It is now possible to get a robust operating system with very low cost and great development tools on even small processors. I've talked about the Raspberry Pi and the BeagleBone before. But I saw a new entry this week that caught my eye: the 86Duino Zero. For about $40 you get a 32-bit x86 processor capable of running Linux and other operating systems (even Windows). The system on a chip provides a PCIE bus, I2C, SPI, Fast Ethernet, FIFO UART, USB2.0, and SD/SATA interfaces. The real hook? It has an Arduino footprint.
I haven't played with one of these yet (but I will, and I will write about it here). It seems hard to imagine that for $30 this wouldn't be a killer replacement for an Arduino — maybe even a drop in replacement for some projects.
Granted, I can't put a $30 board into a mass market mouse, for example. But then again, if the board costs $30 at retail, I'm guessing the chip would cost less. If history teaches anything, it is that soon an even more powerful chip will be available for a lot less. It is just a matter of time before the CPU in my mouse at least could run Linux.
It seems to me, though, that Linux might not be the best operating system for a device like that. Time will tell if we will see a lightweight OS targeted particularly at low-end or high-performance systems.