Ask MAKE is a monthly column where we answer your questions. Send your vexing conundrums on any aspect of making to [email protected] If we don’t have the answer, we’ll scare up somebody who does.
I hear a lot of words — embedded system, microcontroller, system on a chip, computer on a chip — used somewhat interchangeably. What are the differences, if any? And where do Arduino and Raspberry Pi fit?
I’m glad you asked this, because a lot of people wonder the same thing about the various physical computing devices we use for making. To start simply, a microcontroller is a small computer that is built into a single chip. It has its own processor, memory, and programmable I/O pins. The Arduino is often referred to as a a microcontroller, but that’s not entirely true. It uses an ATMega chip as a microcontroller, which is surrounded by circuitry that makes it easy to use and program. It can be properly called a prototyping platform that’s based on a microcontroller.
An embedded system is a small computer that is usually non-programmable by the average user, but functions in a similar way to any other microcontroller system. Embedded systems are most often used in existing consumer electronics, such as cellphones, MP3 players, even your microwave.
A system or computer on a chip is an entire computing system that fits onto a single chip (or IC). The difference between this and a microcontroller is one of degree. A system on a chip is generally more powerful and capable of running entire operating systems rather than just being able to execute discrete actions.
The Raspberry Pi uses the Broadcom BCM2835, which is considered a system on a chip. Hardware is built around this for easy prototyping – similar to the Arduino, but more robust and sophisticated (onboard SD storage, A/V outs, etc.) With all these capabilities, the Raspberry Pi is considered a single-board computer, with a system on a chip at its core.
I hope this clears things up for you. These technologies are obviously still burgeoning, so if anyone cares to weigh in with more (or different) knowledge, please do so in the comments.