Channels ▼

Al Williams

Dr. Dobb's Bloggers

Big Fish Syndrome

December 13, 2013

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.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.



Yes, I've done two ports of FreeRTOS some time ago, and it is pleasant enough. And I agree, Linux isn't the answer for everything. My point, though, is that eventually the "big" processors will cost $0.20 each and then where's the market for a lesser chip? Note I said "It is just a matter of time before the CPU in my mouse at least could run Linux." The emphasis on "could."

Think of the PC market. I could have made that argument at one time. Sure, multicore CPUs have their advantage, but single core will be cheaper and use less power so they'll be around forever. Have you tried to buy a computer with one CPU lately? You can if you dig around, but they are getting rare. Same effect.

Of course, the future is like one of those fancy chocolates you get on Valentine's day -- the only way to know what's in it is to take a bite of it. So with any luck we'll see.


Let them eat delicious vertical-market hardware cake! Does this mean we can have (USB3.2, personal) memory cards with XFS and OpenCL now? Certainly with whole megabytes to spare, baking in the app factory with controls written in terms of compliance domain and app reviewer (e.g. Verizon, Apple..., Petrobras) appeal is tempting; it's the sales engineer spec that's killing me there.

Simultaneous ocean vore has a matching set of awesome natural history explanations of how oceans (largely) avoid population boom and bust from fish companding; especially next to renderings of the 12 to 23 meter long fossil shrimp and the often casual explanations of their aversions (e.g. whales survived by retreating to phosphate sandbars. Sure, np! I remember those Q evolution episodes; wilder days for ocean pH.)

Hard to beat emulation via Chrome 'Native Execution' VM once you can bend a piece of a good mind near that notion. Nonetheless, if the mice themselves run and project PC-Engine (that particular 86duino runs 300MHz in count 'em 1 instances total per duino;) games and management tools (sure, manage 20,0000 tickets; here's 1GiB) and somehow make them useful/tolerable for the hardening and wrapper work needed, printing shiny jackfruit on them and shipping quarterly is all golden. Stick an auth. device on a SIM-looking battery-facing surface, test it in Tegil, and add the haptic mouse gimmick of the year in intermodal transit. Let none miss her desk set.


There's a class of those 32-bit microcontrollers that doesn't have the virtual memory and can't run standard Linux---ARM Cortex M[0-4], for example. They have advantages over the VM-capable Cortex Axes: low price, simpler packaging, smaller size and power consumption, etc.---so they aren't likely to be displaced. You can run ucLinux on them, or something like FreeRTOS. ucLinux seems to make life slightly simpler for developers, but it's not fully API-compatible with Linux, so FreeRTOS has a shot, and the choice might get down to the relative momentum and mindshare of each project. FWIW, recently it looks like FreeRTOS has a good momentum, but we'll see.


Perhaps $100 a pound...


I agree that a lot of what we do now can be done with Linux as the price point for Linux hardware keeps dropping. Of course, there are lots of OS contenders from old standards like VxWorks or Integrity to more open source like Con-Tiki, RTEMS, or FreeRTOS. But unless you need special features, the Unix/Posix API and the availability across platforms (including the desktop) is pretty seductive. You have to wonder where the bottom price is. Will we ever see a $1 SOC chip that can run Linux?


Only very specialized systems, like those in car ECUs , avionics or healthcare devices, are going to need something different to Linux. Linux is going to be one of the pillars of civilization because, almost every type of device is going to be controlled by it. Popular alternatives are badly needed, just for the sake of safety.