Microcontroller

A SoC may include a microcontroller as one of its components but usually integrates it with advanced peripherals like a graphics processing unit (GPU), a Wi-Fi module, or one or more coprocessors.

Mixed-signal microcontrollers are common, integrating analog components needed to control non-digital electronic systems.

In the context of the Internet of Things, microcontrollers are an economical and popular means of data collection, sensing and actuating the physical world as edge devices.

They generally have the ability to retain functionality while waiting for an event such as a button press or other interrupt; power consumption while sleeping (CPU clock and most peripherals off) may be just nanowatts, making many of them well suited for long lasting battery applications.

Other microcontrollers may serve performance-critical roles, where they may need to act more like a digital signal processor (DSP), with higher clock speeds and power consumption.

The first multi-chip microprocessors, the Four-Phase Systems AL1 in 1969 and the Garrett AiResearch MP944 in 1970, were developed with multiple MOS LSI chips.

As a result, the total system cost was several hundred (1970s US) dollars, making it impossible to economically computerize small appliances.

One book credits TI engineers Gary Boone and Michael Cochran with the successful creation of the first microcontroller in 1971.

One had EPROM program memory, with a transparent quartz window in the lid of the package to allow it to be erased by exposure to ultraviolet light.

Nowadays microcontrollers are cheap and readily available for hobbyists, with large online communities around certain processors.

The 32-bit MCU market is expected to grow rapidly due to increasing demand for higher levels of precision in embedded-processing systems and the growth in connectivity using the Internet.

The device is a "0.04 mm3 16 nW wireless and batteryless sensor system with integrated Cortex-M0+ processor and optical communication for cellular temperature measurement."

"[23] The device is 1⁄10th the size of IBM's previously claimed world-record-sized computer from months back in March 2018,[24] which is "smaller than a grain of salt",[25] has a million transistors, costs less than $0.10 to manufacture, and, combined with blockchain technology, is intended for logistics and "crypto-anchors"—digital fingerprint applications.

[27] The majority of microcontrollers in use today are embedded in other machinery, such as automobiles, telephones, appliances, and peripherals for computer systems.

Microcontrollers must provide real-time (predictable, though not necessarily fast) response to events in the embedded system they are controlling.

Possible interrupt sources are device-dependent and often include events such as an internal timer overflow, completing an analog-to-digital conversion, a logic-level change on an input such as from a button being pressed, and data received on a communication link.

Where power consumption is important as in battery devices, interrupts may also wake a microcontroller from a low-power sleep state where the processor is halted until required to do something by a peripheral event.

Manufacturers have often produced special versions of their microcontrollers in order to help the hardware and software development of the target system.

Since 1998, EPROM versions are rare and have been replaced by EEPROM and flash, which are easier to use (can be erased electronically) and cheaper to manufacture.

The use of field-programmable devices on a microcontroller may allow field update of the firmware or permit late factory revisions to products that have been assembled but not yet shipped.

A customized microcontroller incorporates a block of digital logic that can be personalized for additional processing capability, peripherals and interfaces that are adapted to the requirements of the application.

A less common feature on some microcontrollers is a digital-to-analog converter (DAC) that allows the processor to output analog signals or voltage levels.

A universal asynchronous receiver/transmitter (UART) block makes it possible to receive and transmit data over a serial line with very little load on the CPU.

[28] Microcontrollers may not implement an external address or data bus as they integrate RAM and non-volatile memory on the same chip as the CPU.

Even if the cost of a CPU that has integrated peripherals is slightly more than the cost of a CPU and external peripherals, having fewer chips typically allows a smaller and cheaper circuit board, and reduces the labor required to assemble and test the circuit board, in addition to tending to decrease the defect rate for the finished assembly.

Some microcontrollers use a Harvard architecture: separate memory buses for instructions and data, allowing accesses to take place concurrently.

Interpreters may also contain nonstandard features, such as MicroPython, although a fork, CircuitPython, has looked to move hardware dependencies to libraries and have the language adhere to a more CPython standard.

In contrast to general-purpose computers, microcontrollers used in embedded systems often seek to optimize interrupt latency over instruction throughput.

From the earliest microcontrollers to today, six-transistor SRAM is almost always used as the read/write working memory, with a few more transistors per bit used in the register file.

[10] Today's microcontrollers almost all use flash memory, with a few models using FRAM and some ultra-low-cost parts still using OTP or Mask ROM.

The die from an Intel 8742, an 8-bit microcontroller that includes a CPU running at 12 MHz, 128 bytes of RAM , 2048 bytes of EPROM , and I/O in the same chip
Two ATmega microcontrollers
A PIC 18F8720 microcontroller in an 80-pin TQFP package
Die of a PIC12C508 8-bit, fully static, EEPROM / EPROM / ROM -based CMOS microcontroller manufactured by Microchip Technology using a 1200 nanometer process