Si eres nuevo en la programación de MCU, en lugar de elegir un tipo de MCU, debes elegir una plataforma de desarrollo y un conjunto de herramientas viable y fácil de usar.
Prácticamente todas las plataformas soportarán GCC, por lo que si su intención es aprender 'C', el rango es amplio.
Si quisieras usar Python o BASIC, por ejemplo, tu rango de opciones disponibles es muy reducido.
Comience con las necesidades de su proyecto de alto nivel (idioma, almacenamiento, base de datos, conexión a Internet, servicios de Internet, USB (host), capacidad de respuesta ante interrupciones en tiempo real, etc., y esto le ayudará a tomar decisiones.
Por ejemplo, si desea proporcionar un controlador de proyecto que necesita suministrar servicios de Internet (servidor HTTP) y una base de datos para contener los datos adquiridos ... puede seleccionar un controlador de final superior, como la Raspberry Pi o ASUS Tinker. Estos ejecutan Linux y proporcionan una gran flexibilidad en el software (aplicaciones e idiomas) que puede utilizar para satisfacer las necesidades de su proyecto. Las plataformas pueden incluso proporcionar un entorno de desarrollo completamente independiente al que se puede conectar el mouse / teclado y la pantalla LCD.
Si su proyecto es mucho más pequeño y el microcontrolador no proporcionará servicios extensos o no necesitará alojar su propio entorno de desarrollo, la gama de soluciones es mucho más amplia. De particular importancia aquí es si necesita una respuesta en tiempo real a la E / S, cualquier cosa por encima del tiempo de bucle de 100-200 Hz puede ser un desafío para los lenguajes de alto nivel.
Si desea desarrollar en un escritorio PC / MAC / Linux, hay muchos conjuntos de herramientas / herramientas dev que pueden instalarse y permitir la conexión a placas de microcontroladores independientes.
Por ejemplo, las placas Arduino (una gran variedad) se conectan sin problemas a su entorno de desarrollo de escritorio mediante USB o mediante programadores específicamente para la gama de placas.
Se convierte en una guerra un tanto religiosa en este punto con cada desarrollador seguro de que su rango más común es el mejor.
Mi sesgo es iniciar a la gente con Arduino Nano ... de muy bajo costo, desarrollo simple y con una amplia gama de tableros de soporte disponibles. Todo, desde controladores de motores paso a paso hasta E / S aisladas disponibles. El formato del Nano permite utilizarlo fácilmente como un componente de su PCB específico del proyecto si esa es su dirección.