En general, se considera que un microcontrolador es un dispositivo integrado que está programado internamente para realizar una tarea específica. Hay una interacción mínima con el usuario y poca o ninguna flexibilidad. Por lo general, un microcontrolador es bastante bajo y solo tiene pequeñas cantidades de memoria y ROM (flash).
A la inversa, un sistema en chip es el otro extremo del espectro. Está más orientado hacia la completa flexibilidad y la interacción del usuario. A menudo incluye cosas como controladores de E / S para hardware más grande (como discos duros, etc.) e incluso a veces un adaptador de gráficos. Un sistema en chip es más como un sistema informático completo, sí, en un chip.
Hay muchos cruces entre los dos: ¿cuándo deja de ser un microcontrolador y comienza a ser un sistema en chip? De ahí es de donde viene mucha confusión.
Básicamente, si puede hacer lo que puede hacer una computadora, entonces es un sistema en chip. Si está orientado a, por ejemplo, estar sentado dentro de un teléfono de escritorio gestionando su lista de contactos, o en un sistema de entrada por teclado, o haciendo funcionar los motores en una máquina CNC, es un microcontrolador.
p.s., no me cites sobre esto, ya que digo que hay muchos cruces entre los dos.