Skip to main content

Selecting a processor or microcontroller

Short answer

Selection involves matching processor capabilities to application requirements for performance, peripherals, memory, cost, power, and tool support. For dedicated tasks, a microcontroller with on-chip ADC, timers, and UARTs (e.g. ATmega328) is cheaper; high-performance tasks may need a 32-bit microprocessor with external memory. Consider word length, clock speed, interrupt response, development tools, and team experience.

How do you select a microprocessor or a microcontroller for your project? What factors (performance, peripherals, memory, tool support) should be considered?

A processor is selected by matching the needs of the application (speed, I/O, memory, cost, power) with what the device offers, then checking tool support and availability. First decide whether a general microprocessor (external memory and I/O, high performance, e.g. 8086, ARM Cortex-A) or a microcontroller (CPU, memory and peripherals on one chip, e.g. 8051, AVR, PIC, ARM Cortex-M) is suitable. For most dedicated instrumentation tasks a microcontroller is cheaper and smaller.

Factors to consider

  1. Performance: word length (8, 16, 32 bit), clock speed, instructions per second, interrupt response time. The processor must finish sampling, calculation and control output within the sampling period.
  2. Peripherals: on-chip ADC/DAC, timers/counters, PWM, UART/SPI/I2C, number of I/O pins, interrupt sources, watchdog. These reduce external chips.
  3. Memory: size of program memory (Flash/ROM) and data memory (RAM/EEPROM), and the ability to address more memory if needed.
  4. Power and package: supply voltage (3.3 V / 5 V), power consumption, sleep modes (battery systems), size, operating temperature range.
  5. Cost and availability: unit price, second-source suppliers, long-term supply, local availability.
  6. Software and tool support: assembler, C compiler, simulator, debugger/in-circuit emulator, programmer, libraries, RTOS support, documentation and community help.
  7. Upgrade path: code compatibility with larger family members, so the design can grow.
  8. Reliability and existing experience: the team's familiarity with the family reduces development time.

Example

A temperature controller needs one ADC channel, a timer, a UART and 12 I/O lines at 1 sample per second. An 8-bit microcontroller with on-chip 10-bit ADC (e.g. ATmega328) is enough. A vision-based inspection system needs a fast 32-bit processor with large external memory.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 1 questions →