Microcontrollers (MCUs) tend to be less expensive than, simpler to set-up, and simpler to operate than microprocessors (MPUs). An MCU can be viewed as a single-chip computer, whereas an MPU has surrounding chips that support various functions like memory, interfaces, and I/O. The MCU vs. MPU question may seem simple, but there are some prominent differences.
One of the main differences between microcontrollers and microprocessors is that a microprocessor will typically run an operating system. An operating system allows multiple processes to run at the same time via multiple threads. Drivers are required to support peripherals.
A microcontroller will run a “bare metal interface,” which means there is not an operating system. Without an operating system, a microcontroller can only run one control loop at a time. From a software perspective, this means a single thread is running on the microcontroller’s processor or Central Processing Unit (CPU).
MCUs only have basic options for interfacing with the outside world. An MCU might have I2C, SPI, a UART (serial), and sometimes a low-level USB connection. These basic interfaces are often used just for programming the MCU. The purpose of an MCU is to run a fairly simple control loop forever or until it breaks or otherwise stops. MCUs tend to be less expensive than MPUs. It’s not impossible for an MCU to have wireless communications, but remember that an MCU will only run one thread at a time. To be serviced, any other inputs or processes would have to wait for the single thread or control loop to finish what it’s doing first. Microprocessors tend to have many interfaces in addition to the basics like I2C, SPI, or UART. An MPU might also have more complex interfaces like Ethernet, Bluetooth, WiFi, Flash storage, etc.
Another type of chip with a processor is a System-on-a-Chip (SoC), which is an entire system on a single integrated chip (IC). An SoC can be based on an MCU or MPU and will provide everything that’s necessary to perform certain types of applications. For example, for image processing, an SoC might have a combination of an MPU, a Digital Signal Processor (DSP), and/or a Graphic Processing Unit (GPU) for performing rapid algorithm calculations, along with on-chip interfaces for driving a display and an HDMI or other audio/video input/output technology. SoCs enable an entire system of chips on a single, tiny IC.
It’s getting harder to tell if a device is an MCU or an MPU because MCUs can do so much these days, including more sophisticated peripherals. The difference between MCUs and MPUs is becoming less pronounced since some MCUs now come with simple software drivers for more sophisticated peripherals and more MPUs can be found that have integrated peripherals on-chip.