Choosing between a microcontroller and a processor

Feature articles |
By Julien Happich

One definition that I found stated that a microcontroller was for embedded systems whereas processors were not. But for many years I sold board level products that had Digital Signal Processors (DSPs) on them. These were commonly used in embedded systems.

Others seemed to define the difference based on price or power consumption, but again experience suggests that the range of those things must overlap the two device types. The most convincing definition is that a microcontroller is a system on chip, that contains memory, peripherals etc for you to make something function, whereas a processor needs you to add external memory, peripherals, clock management etc.

This seems to be quite close, but I believe that the difference is becoming quite blurred. Some processors have some memory on chip and some microcontrollers can connect to external memory and peripherals. It even seems that the actual processing engine in the two are getting more closely related – many processors use an ARM core (or several) and so do many of today’s microcontrollers.

Personally, I think that the name doesn’t really matter and that the important thing is to choose the right device for the job you have to do.

In the past, I designed processing boards (some with processors, others with FPGAs, but that is another discussion) that we wanted to monitor some aspects of. Commonly we monitored temperatures and current being drawn from various supply voltages.

Here we chose a microcontroller to be a monitor chip, but why?

We needed a small device – the microcontroller we chose provided everything we needed in one package. We were happily designing DDR memory interfaces for the main processor, where it was needed, but this monitor didn’t need more than could be found on chip.

We needed a device that has a fixed function – the processor was loaded with a customer specific program, but the monitor circuit needed to perform the same tasks in all cases. The microcontroller we chose had built in Flash memory that could start the device up automatically.

We didn’t need any high-speed interfaces – the results of the monitoring could be output over a slow serial bus. PCI Express, Ethernet or USB type interfaces we were designing for the main processor would have been overkill. So, when we were designing an off-the-shelf board for us to sell to many different customers to run their own programs, we had good reasons to combine two different devices to get the technical features that we wanted.

Challenge at hand: designing a custom motor
test system.

Now at Dotstar Design in Brent Knoll, we are offering custom electronics design and manufacturing services and have been asked by Rotalink, who supply Miniature Motors, Transmission & Control from its base in Crewkerne UK to develop a custom Motor Test System.

The turn-key system that we will supply, will interface with the Rotalink company server via ethernet to store test data and trigger alert messages to be sent out using SMS or email.

For these functions, it makes sense to use a processor that can run an operating system. We have chosen to use a Raspberry PI Compute Module (which happens to have 4 ARM cores). Not because we cannot design a processor board, but because the PI has everything we need to run Linux and has Linux images available for it already. It is also rather low cost due to the volumes that they are being manufactured in.

However, the system needs to be robust and run for more than 2000 hours unattended, so we want to monitor its health and re-boot it if necessary. For this we have chosen a microcontroller that also

Custom board with off-the-shelf processor module.

happens to be ARM based. It is again a small pin count device that doesn’t need much else to be provided by the board design for it to work. This means we can make quite a simple custom board that is low cost despite the low volumes we need to build them in. The combination of an off-the-shelf processor-based module and a full custom microcontroller based board gives a great solution to the project’s needs while minimising both development and recurring costs.

The same project also needs to be expandable to monitor large numbers of test stations. These stations need to control and monitor our customers’ products, so they need some very specific features and I/Os. Here again we have chosen a microcontroller to make a full custom board that is relatively cheap – allowing us to deploy one board per test station.  

What’s in a name? I think that what really matters is to choose the right thing for the job in hand and to not really worry about what it is called.


About the Author:

Peter Warnes was Technical Director of Hunt Engineering for more than 20 years, and is currently combining his long industry experience with young Engineering talent in Dotstar Design to offer Electronics hardware and software design services –


Linked Articles
eeNews Europe