Microcontroller Applications and Technology Introduction A microcontroller’s small size and low cost combined with built in processing, memory, and input and output ports makes them invaluable for hobbyists and professionals alike [1]. Because of these features microcontrollers (MCUs) are often thought of as “computers on a chip” and are used in an endless range of applications. Not to be confused with microprocessors, microcontrollers are used for smaller, more repeatable applications, not power intensive, highlevel applications [2]. Before the advent of microcontrollers, inflexible and complex analog circuits were used to provide a similar solution. Now a single microcontroller can be programmed for multiple applications and can be reused for future projects. This paper focuses on commercially available microcontrollers for both use in consumer products and as solutions for individual projects. Applications One of the largest commercial applications for microcontrollers is in consumer electronics. Low power consumption and small size make them ideal for small electronics like portable music players and USB devices [3]. The automotive industry is the largest user of microcontrollers, taking advantage of their minimal power consumption they are used in numerous controls and interfaces. Another very useful application of microcontrollers is directly driving LEDs. Often LEDs are controlled with a relay or transistor, but output current ratings of modern MCUs allow lower voltage LEDs to be connected directly to I/O pins. Additionally, MCUs are frequently used to control LCDs, providing a very powerful and flexible addition to any user interface. The attribute of MCUs that is most appealing is their cost. Some of the most complex MCUs are under $10; the more commonly used, simpler MCUs are less than $2, bulk purchases decreasing the price per unit. A MCU provides a manufacturer with an inexpensive dynamic solution for device control. Current Technology Modern high-end MCUs boast 32-bit processors running at speeds of 80 MHz [4], with built in USB controllers, LCD controllers, and audio interfaces [5]. These MCUs also provide 32 KB of RAM and 512 KB of memory for program storage. These powerful MCUs contain up to 85 I/O pins and operate within a low voltage range between 2.3V and 3.6V [6]. The low voltage range not only means low power consumption, but allows MCUs to be easily powered by batteries, expanding their use to portable electronics [3]. These MCUs are literally computers on a chip; allowing a truly infinite number of applications from industrial needs to weekend projects. Implementation As complex as MCUs are internally, they are very simple externally: consisting of nothing but pins protruding from the body of chip. The simplest implementation of a MCU would consist solely of a power supply (positive and negative or ground); the program is stored internally and begins to run when power is supplied. This would not be very useful because it is not interfacing with anything, but it does demonstrate the range of complexity microcontrollers have. Programming is done often with development software provided by the chip manufacturer. A programming environment that interfaces with a piece of hardware (used for flashing the program onto the MCU) converts high level programming languages, most commonly C, into assembly language that the MCU understands. As mentioned earlier, areas of implementation are endless; LEDs can be wired directly and activated by sending the I/O pin high while another pin can synchronize with another piece of hardware. [1] Michael Predko, Programming and customizing the PIC microcontroller, 3rd ed., New York, NY: McGraw-Hill, 2007. [2] Young Choi and Xu Chang, "Embedded flash technologies, a foundation of flash MCU growth," July 2009, Available: http://www.embedded.com/underthehood/218400747. [3] Matt Ruff, "Reducing power consumption in battery-powered applications," May 2007, Available: http://www.edn.com/article/CA6442438.html. [4] Microchip Technology Inc., “PIC32 Product Overview,” microchip.com, 2009. [Online]. Available: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2607. [Accessed Sept. 1, 2009]. [5] Atmel Corporation, “AVR32 32-bit MCU – AP7 Application Processors,” atmel.com, 2009. [Online]. Available: http://www.atmel.com/products/avr32/ap7/ap7_5.asp?family_id=682. [6] Microchip Technology Incorporated, “64/100-Pin General Purpose and USB 32-Bit Flash Microcontrollers,” PIC32MX3XX/4XX Family Data Sheet, 2009, Available: http://ww1.microchip.com/downloads/en/DeviceDoc/61143F.pdf.