← Índice del curso

Microcontroladores · Tema 2

Familias de microcontroladores y cómo elegir

No existe «el mejor» microcontrolador, sino el que cumple los requisitos de un proyecto con el menor costo y esfuerzo. Conocer las familias y los criterios de selección evita comprar de menos, pagar de más o tener que rediseñar a mitad de camino.

01 · Punto de partida

Mismas ideas, distintos compromisos

En el tema anterior vimos que un microcontrolador integra CPU, memoria, reloj y periféricos. Existen cientos de modelos de decenas de fabricantes. Todos comparten esa estructura, pero se diferencian en cuánto de cada recurso ofrecen: velocidad, memoria, cantidad de pines, tipos de periféricos, consumo, tensión de trabajo y precio.

Si ya programaste, la situación te resultará familiar: hay lenguajes y plataformas para cada tarea y casi nunca la mejor opción lo es para todo. Elegir un microcontrolador se parece a elegir una base de datos: se parte de los requisitos y después se compara.

Vas a necesitar lo visto en el tema 1: los bloques internos de un microcontrolador y el ATmega328P como referencia. Lo que sigue es el mapa del territorio donde ese chip es solo un punto.

02 · Ancho de datos

Qué significa que una CPU sea de 8, 16 o 32 bits

El «ancho» de una CPU indica con cuántos bits trabaja de una sola vez su unidad aritmética y sus registros de trabajo. Una CPU de 8 bits suma dos números de 8 bits en una instrucción; una de 32 bits, dos números de 32 bits.

Eso no limita los valores que podés manejar, pero sí el costo de hacerlo. Si necesitás sumar dos enteros de 32 bits en una CPU de 8 bits, el programa debe repetir la operación byte por byte, arrastrando el acarreo de cada paso a la siguiente. Es el algoritmo de suma en columnas, aplicado con «dígitos» de 8 bits.

Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar.

def sumar(a, b, ancho, bits_dato=32):
    """Suma dos enteros usando 'trozos' del ancho de la CPU."""
    mascara = (1 << ancho) - 1
    resultado, acarreo, pasos = 0, 0, 0
    for i in range(0, bits_dato, ancho):
        x = (a >> i) & mascara          # trozo de a
        y = (b >> i) & mascara          # trozo de b
        s = x + y + acarreo
        resultado |= (s & mascara) << i
        acarreo = s >> ancho            # sobra para el trozo siguiente
        pasos += 1
    return resultado, pasos


a, b = 100_000, 3_000_000
for ancho in (8, 16, 32):
    r, pasos = sumar(a, b, ancho)
    print(f"CPU de {ancho:2d} bits: {r} en {pasos} suma(s)")

Resultado: la misma cuenta, 3 100 000, requiere 4 sumas con 8 bits, 2 con 16 bits y 1 con 32 bits. Probá con números pequeños, como 100 y 200, y con bits_dato=16.

El ancho también influye en los registros de los periféricos, en la cantidad de memoria que se puede direccionar con facilidad y en el tamaño del código. Pero no es el único factor de rendimiento: la frecuencia del reloj, las instrucciones por ciclo y el hardware auxiliar (multiplicadores, unidad de punto flotante) pesan igual o más.

03 · El corazón del chip

Núcleos y arquitecturas

El núcleo (core) es el diseño de la CPU: define su conjunto de instrucciones, sus registros y su forma de ejecutar el código. Algunos fabricantes diseñan su propio núcleo; otros licencian uno y construyen alrededor sus memorias y periféricos.

Núcleos que vas a encontrar con más frecuencia.
NúcleoAnchoQuién lo diseñaSe encuentra en
AVR8 bitsAtmel, hoy MicrochipATtiny, ATmega, placas Arduino clásicas
PIC8, 16 y 32 bitsMicrochipPIC12, PIC16, PIC18, PIC24, PIC32
MSP43016 bitsTexas InstrumentsAplicaciones de consumo ultrabajo
ARM Cortex-M32 bitsArm, licenciado a muchos fabricantesSTM32, nRF52, RP2040, SAMD, LPC
Xtensa32 bitsCadence, usado por EspressifESP32 y ESP8266
RISC-V32 bits (también 64)Especificación abierta; implementada por varios fabricantesESP32-C3, series de WCH y otros

Dentro de ARM Cortex-M hay escalones: el Cortex-M0/M0+ prioriza bajo costo y consumo; el M3 es un punto medio muy extendido; el M4 agrega instrucciones para procesamiento de señales y, opcionalmente, unidad de punto flotante; el M7 apunta al alto rendimiento. Aprender a programar uno de ellos facilita pasar a los demás, porque comparten el mismo modelo de programación.

Más adelante, en el tema 3, veremos cómo se organiza internamente una CPU y en qué se diferencian las arquitecturas Harvard y von Neumann.

04 · El panorama

Las familias principales

Resumen orientativo. Dentro de cada familia hay modelos muy distintos.
FamiliaFortalezasLimitaciones habitualesSuele elegirse para
AVR (ATtiny, ATmega)Simple, bien documentado, trabaja con 5 V, encapsulados DIP, muchísimo material didáctico8 bits, poca memoria, periféricos básicosAprendizaje, prototipos, control sencillo
PICCatálogo enorme, versiones muy económicas, gran presencia industrialHerramientas y estilo propios según la serie; menos material para principiantesProductos de bajo costo y diseños heredados
MSP430Consumo muy bajo en reposo y en funcionamiento16 bits, ecosistema más reducidoSensores a batería de larga duración
ARM Cortex-M (STM32, nRF52, RP2040)32 bits, mucho rendimiento por precio, periféricos avanzados, catálogo muy amplioMás complejidad: reloj, pines multifunción y bibliotecas grandes; trabajan a 3,3 VProyectos medianos y productos, comunicaciones, audio, motores
ESP32Wi-Fi y Bluetooth integrados, buena velocidad y memoria, precio bajo3,3 V; mayor consumo en actividad; periféricos con particularidadesInternet de las cosas y dispositivos conectados
RISC-VArquitectura abierta, en crecimiento rápido, versiones muy económicasEcosistema todavía en maduración según el fabricanteProductos nuevos y de bajo costo

Una misma familia puede tener varios fabricantes. Por ejemplo, un núcleo Cortex-M4 aparece en chips de STMicroelectronics, NXP, Nordic y otros, cada uno con sus propios periféricos. Lo que se comparte es la CPU; lo que cambia, y suele pesar más, es el resto del chip.

05 · Con números

Cinco chips para comparar

Estos cinco modelos cubren desde el microcontrolador más pequeño hasta uno conectado a Internet. Los valores corresponden a las hojas de datos de cada fabricante; son máximos o valores típicos del chip, y las placas comerciales pueden variar.

El ATmega328P, nuestro chip de referencia, está en el centro de la comparación.
ChipNúcleoReloj máx.SRAMTensiónADCPines E/S
ATtiny85AVR 8 bits20 MHz512 bytes2,7 a 5,5 V (hasta 4,5 V para 20 MHz)10 bits6, en 8 pines
ATmega328PAVR 8 bits20 MHz2 KB1,8 a 5,5 V10 bits23
STM32F103C8Cortex-M372 MHz20 KB2,0 a 3,6 V12 bits37
RP20402 × Cortex-M0+133 MHz264 KB3,3 V típicos en pines12 bits30
ESP322 × Xtensa LX6240 MHz520 KB3,3 V12 bitshasta 34

La tabla deja tres lecciones. Primero, la escala: entre el ATtiny85 y el ESP32 hay un factor de más de mil en memoria. Segundo, la tensión: los chips AVR toleran 5 V y los demás trabajan a 3,3 V. Tercero, la memoria de programa no aparece porque varía mucho: en el RP2040 y el ESP32 la Flash suele ser un chip externo, mientras que en AVR y STM32 está dentro del mismo encapsulado.

06 · Decidir con método

Criterios de selección

Preguntas que conviene responder antes de elegir.
CriterioQué preguntarSi no se cumple
Pines¿Cuántas entradas y salidas necesito, y de qué tipo?Hay que agregar expansores o cambiar de chip
Periféricos¿Cuántos ADC, temporizadores, PWM, UART, I2C y SPI hacen falta?Se simula por software, con más carga para la CPU
Memoria¿Cuánto ocupan el código, las variables y los datos persistentes?El programa no entra o falla por falta de SRAM
Velocidad¿Qué eventos hay que atender y en cuánto tiempo?Se pierden eventos o se superan los plazos
Consumo¿Se alimenta con red, batería o energía recolectada?La batería dura días en lugar de años
Tensión y niveles¿Trabaja a 3,3 V o 5 V, igual que los sensores y actuadores?Hace falta adaptar niveles o se dañan los pines
Conectividad¿Necesita Wi-Fi, Bluetooth, USB, CAN o Ethernet?Se agrega un módulo externo
Encapsulado¿DIP para protoboard, o SMD para producir?Hay que soldar, usar adaptadores o una placa
Costo y disponibilidad¿Cuánto cuesta por unidad y hay existencias a largo plazo?El producto se encarece o se discontinúa
Ecosistema¿Hay herramientas, bibliotecas, documentación y experiencia previa?El desarrollo se alarga

Ordená los criterios por importancia: algunos son requisitos duros (si no se cumplen, el chip queda descartado, como los 5 V o el Wi-Fi) y otros son preferencias (costo, familiaridad), que sirven para desempatar entre los candidatos que sobreviven.

07 · Un detalle que rompe chips

3,3 V y 5 V: compatibilidad entre dispositivos

Muchos sensores y módulos viejos entregan señales de 5 V, mientras que la mayoría de los microcontroladores de 32 bits trabajan con 3,3 V. Conectar una salida de 5 V a una entrada que soporta como máximo 3,6 V puede dañarla, a veces de forma inmediata y a veces con un deterioro gradual.

Qué ocurre según quién maneja la línea. Verificá siempre la hoja de datos de ambos extremos.
SalidaEntradaSituación
3,3 V3,3 VCompatible
5 V5 VCompatible
5 V3,3 VPeligro: hay que reducir la tensión
3,3 V5 VPuede funcionar, pero no está garantizado: una entrada CMOS a 5 V suele exigir un nivel alto de aproximadamente 3,5 V

Para señales lentas en un sentido (5 V → 3,3 V), un divisor resistivo alcanza. Con R1 = 1 kΩ en serie y R2 = 2 kΩ a masa, la tensión en el punto medio es 5 V × 2 k / (1 k + 2 k) = 3,33 V. Para buses bidireccionales como I2C o para señales rápidas se utiliza un adaptador de niveles.

Otro dato importante es que algunos pines de ciertos microcontroladores de 3,3 V son «tolerantes a 5 V» y otros no, aun dentro del mismo chip. Ese detalle figura en la hoja de datos; no se supone.

08 · Más allá del silicio

Ecosistema: herramientas, bibliotecas y documentación

Un microcontrolador excelente con malas herramientas puede costar más tiempo que uno regular con un ecosistema sólido. Antes de decidir, revisá:

  • Compilador y entorno de desarrollo. Para AVR, avr-gcc y Arduino; para STM32, STM32CubeIDE o PlatformIO; para ESP32, ESP-IDF o el soporte de Arduino; para RP2040, el Pico SDK, Arduino o MicroPython.
  • Bibliotecas y ejemplos para los sensores y módulos que vas a usar.
  • Depuración. Una interfaz de depuración por hardware permite detener el programa y mirar registros; sin ella, solo queda imprimir mensajes.
  • Hoja de datos y manual de referencia claros, y una comunidad que responda.
  • Ciclo de vida del producto. Si el proyecto es comercial, importa que el fabricante garantice disponibilidad durante años.

Este curso usa el ATmega328P y el lenguaje C porque ofrecen un modelo muy visible del chip. Los conceptos (registros, temporizadores, interrupciones, ADC y buses) se repiten en todas las familias con distinto nombre y, a veces, con una capa de bibliotecas encima.

09 · Exploración interactiva

Requisitos que descartan candidatos

Marcá los requisitos de un proyecto imaginario. El selector descarta los chips que no los cumplen y explica el motivo. No devuelve «el mejor»: muestra los que sobreviven, entre los cuales decidirán otros criterios como costo y experiencia.

Selector de microcontrolador

    El Wi-Fi se considera solo si está dentro del chip. Existen placas, como la Raspberry Pi Pico W, que lo agregan con un componente adicional; para el selector, eso equivale a «sumar hardware».

    Recorrido guiado

    1. Marcá «Trabajar a 5 V sin adaptadores». Quedan solo los dos AVR.
    2. Agregá «Al menos 16 pines»: el ATtiny85 queda descartado por tener solo 6.
    3. Limpiá todo y pedí «Wi-Fi integrado». El ESP32 queda como único candidato.
    4. Con Wi-Fi todavía marcado, agregá «5 V sin adaptadores»: ningún chip cumple. Es una señal para relajar un requisito o sumar un adaptador de niveles.
    5. Pedí «ADC de 12 bits» y «128 KB de SRAM»: sobreviven el RP2040 y el ESP32.
    Desafío: encontrar un requisito engañoso

    Pedí «Al menos 32 pines» y «Encapsulado DIP». No queda nada: los chips con muchos pines suelen venir en encapsulados de montaje superficial. En la práctica, el problema se resuelve con una placa de desarrollo que ya trae el chip soldado y sus pines accesibles, algo que el selector, por simplicidad, no modela.

    10 · Método de trabajo

    Cómo decidir paso a paso

    1. Describí el sistema en una frase y listá sus entradas y salidas, con sus tensiones y corrientes.
    2. Estimá recursos. Pines, canales analógicos, temporizadores, buses y memoria. Dejá un margen para crecer, por ejemplo un 30 %.
    3. Marcá los requisitos duros: tensión, conectividad, consumo máximo, tamaño y encapsulado.
    4. Filtrá los candidatos con esos requisitos. Quedan tres o cuatro modelos, no cientos.
    5. Desempatá por costo, disponibilidad, herramientas y experiencia previa.
    6. Validá con un prototipo. Una placa de desarrollo permite comprobar el riesgo mayor antes de diseñar el circuito final.

    En la mesa de trabajo, conviene empezar por la hoja de datos del candidato: la tabla de características eléctricas indica tensiones, corrientes máximas por pin y rangos de funcionamiento. Con el multímetro se verifica la alimentación de la placa antes de conectar sensores, y con el osciloscopio se comprueba que las señales rápidas lleguen con el nivel esperado.

    11 · Comprensión

    Confusiones frecuentes

    «Los 32 bits son siempre mejores que los 8 bits»

    Rinden más en cálculos y manejo de datos grandes, pero cuestan más, a veces consumen más y exigen mayor complejidad de software. Para tareas simples, un chip de 8 bits es suficiente y más fácil de usar.

    «Si dos chips tienen el mismo núcleo, son intercambiables»

    Comparten la CPU, pero los periféricos, mapas de memoria, relojes y herramientas son distintos. Cambiar de un STM32 a un nRF52, aunque ambos usen Cortex-M, exige reescribir el código que toca el hardware.

    «Arduino, ESP32 y Raspberry Pi son lo mismo»

    Arduino es un ecosistema de placas y software. El ESP32 es un microcontrolador. La Raspberry Pi es una computadora con microprocesador y sistema operativo; la Raspberry Pi Pico, en cambio, usa el microcontrolador RP2040.

    «Más megahertz significa más rápido en mi aplicación»

    Depende de qué limite al sistema. Si el programa espera a un sensor, a un bus o a un temporizador, mayor frecuencia de reloj solo aumenta el consumo. Lo decisivo es si se cumplen los plazos de cada evento.

    «Un pin de 3,3 V tolera 5 V si hay una resistencia en serie»

    Una resistencia limita la corriente, pero no reduce la tensión en la entrada. Algunos chips admiten corrientes pequeñas por diodos de protección internos; no es un método fiable ni está garantizado. Usá un divisor o un adaptador de niveles.

    12 · Práctica guiada

    Predecí antes de comprobar

    1. Elegir para cada proyecto

    Proponé una familia razonable para: (a) una luz nocturna que se enciende con un sensor de luz, alimentada por una pila de botón; (b) una estación meteorológica que publica datos por Wi-Fi; (c) un controlador de motores con control de velocidad en tiempo real y comunicación CAN.

    Ver solución razonada

    (a) Un ATtiny o un MSP430: pocos pines, bajo costo y consumo mínimo. (b) Un ESP32, que integra Wi-Fi. (c) Un ARM Cortex-M (por ejemplo, un STM32 con CAN), que ofrece temporizadores avanzados, rendimiento y periféricos de comunicación industriales.

    2. Un sensor de 5 V y una placa de 3,3 V

    Un sensor digital entrega 5 V y debe conectarse a un pin de un RP2040. Diseñá un divisor con R1 = 1 kΩ y R2 = 2 kΩ. ¿Qué tensión llega al pin y por qué no conviene conectarlo directamente?

    Ver solución

    Llegan 5 × 2 / (1 + 2) = 3,33 V, dentro del rango de un pin de 3,3 V. Conectarlo directamente aplicaría 5 V a una entrada diseñada para un máximo cercano a 3,6 V, con riesgo de daño.

    3. Costo de ancho

    ¿Cuántas sumas de trozo necesita una CPU de 8 bits para sumar dos enteros de 64 bits? ¿Y una de 16 bits?

    Ver solución

    64 / 8 = 8 sumas en una CPU de 8 bits, y 64 / 16 = 4 sumas en una de 16 bits. Podés comprobarlo ejecutando el código del tema con bits_dato=64.

    4. Usar el selector

    Un proyecto necesita ADC de 12 bits, al menos 128 KB de SRAM y trabajar con 5 V sin adaptadores. ¿Qué chips quedan? ¿Qué harías?

    Ver solución razonada

    Ninguno: los dos chips con esa memoria y ADC (RP2040 y ESP32) trabajan a 3,3 V. Se puede elegir uno de ellos y añadir un adaptador de niveles para los sensores de 5 V, o relajar el requisito de memoria si el ADC de 10 bits fuera aceptable.

    5. Producto a largo plazo

    Una empresa quiere fabricar durante diez años un dispositivo basado en un microcontrolador. Además de las prestaciones, ¿qué debería revisar?

    Ver solución razonada

    La política de disponibilidad a largo plazo del fabricante, el riesgo de que el modelo se discontinúe, la existencia de alternativas compatibles, la estabilidad de las herramientas y la disponibilidad de documentación. Un chip de moda puede ser más difícil de conseguir dentro de unos años que uno de una familia industrial consolidada.

    13 · Síntesis

    Ideas para recordar

    • Todos los microcontroladores comparten la estructura básica; difieren en cantidad y tipo de recursos.
    • El ancho de la CPU (8, 16 o 32 bits) determina cuántos bits maneja por operación; no es el único factor de rendimiento.
    • Las familias principales son AVR, PIC, MSP430, ARM Cortex-M, ESP32 y RISC-V.
    • Un mismo núcleo puede estar en chips de distintos fabricantes con periféricos diferentes.
    • La selección empieza por requisitos duros: pines, periféricos, memoria, tensión, conectividad y consumo.
    • Los niveles de 3,3 V y 5 V no se mezclan sin verificar; se usan divisores o adaptadores de niveles.
    • El ecosistema (herramientas, bibliotecas, documentación y disponibilidad) pesa tanto como el silicio.

    ¿Listo para el tema 3?

    Antes de avanzar, explicá por qué una CPU de 8 bits necesita varias instrucciones para sumar números de 32 bits, nombrá tres requisitos duros que descartan chips y describí cómo conectarías un sensor de 5 V a un microcontrolador de 3,3 V. Si podés justificar las tres respuestas, ya sabés ubicar al ATmega328P dentro del mapa.

    En el próximo tema abrimos el chip: la arquitectura interna con su CPU, memorias, buses y periféricos, y la diferencia entre las arquitecturas Harvard y von Neumann.