To build increasingly complex, high-performance products for cost-sensitive markets, system engineers need small, low-power, economical MCUs. In general, there are several important features they consider in selecting a microcontroller for any application, especially 8-bit embedded systems. One important feature is an efficient, scalable architecture that provides good design flexibility. Scalability allows the design team to find familiar solutions for various system requirements by moving up and down within the code compatible product line to find cost-effective chips with the right performance, memory, and peripherals. High peripheral integration is another key MCU selection feature. Despite the fact that applications are becoming more complex, a typical design goal is to save cost and keep the hardware as simple as possible. The more on-chip resources the MCU provides, the more functionality the system can deliver using a minimum of external components. A third selection feature encompasses reliable operation and electromagnetic compliance, which are somewhat interrelated. In order to produce designs that can meet safety and environmental regulations, engineers want MCUs that provide extended fail-safe mechanisms and have good EMI/EMS characteristics that aid compliance with electromagnetic standards. Another important consideration is the system development environment. An efficient, intuitive, and inexpensive integrated development environment with a comprehensive toolchain can save a lot of time, effort, and cost. Optimized C or C++ compilers produce dense code that can be re-used on other systems, and built-in debug capabilities allow non-intrusive debugging of system hardware and software.