September 20, 2013
In the “good old days” (that weren’t really that good), a project started with laying out a whole system with EPROM, a clock generator, and I/O devices.
I used to love going into bookstores. Now that I can read all I want on my computer or tablet, it isn’t as much fun (unless it is full of old books). Computer stores are even worse. Years ago there was always something I wanted to upgrade my PC. Today, there are two forces at work against that. First, most of the hardware I have is sufficiently powerful that I don’t really need anything else. Also, all the little simple upgrades you used to buy are now on the motherboard — soundcards, network adapters, even video cards (although most motherboard video cards aren’t up to the high-end standalone cards).
The same thing has been happening in the embedded space. In the “good old days” (that weren’t really that good), a project started with laying out a whole system with EPROM, a clock generator, and I/O devices. Microcontrollers appeared, integrating most of this on a chip, leading to System on Chip (SoC) designs that have nearly everything you need in one bundle.
In the PC world, something new will come along (say, USB3 or gigabit Ethernet) and will spur demand for add-on cards. Soon, all the motherboards will have the new interface, and the market for additional cards diminish. The same thing happens with CPU vendors. Newer chips integrate more features (like USB or Ethernet), reducing the demand for external components.
One byproduct of this is that it gets easier and cheaper to roll up development boards or simple one-off designs. For example, the McHck purports to be a $5 ARM development board. If you look at the schematics, it is little more than an ARM chip, a handful of passive components, and pads for optional devices. The chip does all the basic work.
There are many plans for “basic” Arduino circuits as well. These usually take some RS232 or USB to TTL adapter as a temporary “programmer” that you remove before deploying the circuit. If you omit the adapter, it is little more than an Atmel chip, a crystal, and a handful of simple components.
What always surprises me is that you don’t see too many boards (although there are some) that attempt to integrate things that you don’t find on the chip. For example, digital outputs that can handle higher loads, analog front ends, and isolated higher voltage digital inputs. You do see some specialty boards for very specific purposes. For example, the Printrboard is an Arduino with specific interfaces for 3D printing (e.g., stepper motor controllers).
Where does it end? Do we wind up with one or two “do it all” processors that have everything but the kitchen sink included? Or will the market morph to a configurable landscape where you pick and choose the pieces you want in your system dynamically (think Cypress PSoC or Xilinx)? Leave a comment and share your thoughts.