{{Short description|Circuit handling system tasks in computers}} {{multiple issues|{{unreliable sources|date=June 2014}} {{more sources|date=May 2026}}}} An '''embedded controller''' ('''EC''') is a computer microcontroller that handles system tasks. It is typically used on mobile computer platforms (such as laptops).
== Tasks ==
An embedded controller can have the following tasks: *Processing signals from the built-in keyboard<ref name="ps2kbc">{{Cite web | url=http://www.computer-engineering.org/ps2keyboard/ | title=The PS/2 Keyboard Interface |archive-url=https://web.archive.org/web/20160304080022/http://www.computer-engineering.org/ps2keyboard/ | archive-date=2016-03-04}}</ref> and the built-in touchpad *Other buttons and switches (e.g., power button, laptop lid switch (received from hall sensor))<ref name="amikey">{{Cite web |url=http://www.ami.com/ami_downloads/Embedded_Controller_Data_Sheet.pdf |title=AMI Embedded Controller (EC) Firmware Solution |access-date=2014-12-28 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304032338/http://www.ami.com/ami_downloads/Embedded_Controller_Data_Sheet.pdf |url-status=dead }}</ref> *Controlling access to the A20 line<ref>{{Cite web|url=http://www.win.tue.nl/~aeb/linux/kbd/A20.html|title=A20 - a pain from the past}}</ref> *Thermal measurement (CPU, GPU, motherboard) and response including fan control, CPU and GPU throttling, and emergency shutdown in response *Power management, including voltage regulator module *Indicator LEDs (e.g. caps lock, scroll lock, num lock, battery, ac, power, wireless LAN, sleep) *Managing the battery charger and the battery<ref name="amikey"/> *Allowing remote diagnostics and remediation over the network *Performing software-requested CPU reset<ref name="ps2kbc"/> *Controlling the watchdog timer<ref name="amikey"/> *System Management Interrupt (entry to System Management Mode) *Bluetooth toggle *Controlling display controller of built-in LCD or OLED, and controlling display brightness of built-in LCD or OLED *USB OC (overcurrent) (USB disable) *Controlling RGB lighting *Wake-on-LAN *Debug Card Interface (Enables repair centers to monitor the boot process with a special device in an attempt to fix problems) *SCI from the embedded controller to inform the ACPI driver (in the {{abbr|OS|Operating system}}) of an ACPI Event
== Operation == As a core system component, the embedded controller is always on when power is supplied to the mainboard. To communicate with the main operating system, several forms of communication can be used, including ACPI, SMBus, or OEM-offered power management drivers.
The embedded controller has its own RAM, independent of that used by the main computer system, and often its own flash ROM on which the controller's software is stored. Many BIOS updates also include upgrades for the embedded controller firmware.
An embedded controller is sometimes known as a "Keyboard Controller BIOS", which comes from the fact that the embedded controller evolved from the keyboard controller and often continues as a keyboard controller. An ACPI embedded controller communicates with the CPU via the same I/O ports that keyboard controllers used in the past.
== Ergonomics ==
Although the embedded controller is "deep" in the system, it performs important functions for users such as fan control and thermal management. Laptops often produce large amounts of heat that must be discarded. This is typically done by activating a fan to blow air over the hot components; the fan is driven at variable speed by the EC. Such control schemes can be uncomfortable from an ergonomic point of view, as the change in fan speed is noticeable to the user.
Some embedded controllers are designed to run the fans at a relatively constant speed over a wider temperature range and increases fan speed only when the system is overheating. This allows the fan to operate more quietly.
== Common Brands == * Nuvoton<ref>{{cite web |title=EC (Embedded Controller) |url=https://www.nuvoton.com/products/cloud-computing/ec/ |website=Nuvoton |access-date=19 October 2023}}</ref> * ITE tech. Inc. * Microchip Technology<ref>{{cite web |title=Embedded Controllers and Keyboard Controllers |url=https://www.microchip.com/en-us/products/embedded-controllers-and-super-io/embedded-and-keyboard-controllers |website=Microchip Technology |access-date=19 October 2023}}</ref>
== See also == * Super I/O * Low Pin Count (LPC) * Serial Peripheral Interface (SPI)
== References == {{reflist}}
== External links == *[http://mjg59.livejournal.com/117880.html Matthew Garrett: The ACPI Embedded Controller] *[http://www.coreboot.org/Embedded_controller coreboot: List of embedded controllers as they are used in laptops]
Category:Microcontrollers Category:Motherboard