
Hace unas semanas en una visita de Microchip nos mostraron las distintas opciones que tiene Microchip en microcontroladores. En mi caso llevo muchos años sin integrar un PIC en un diseño, prefiriendo otras familias de microcontroladores en su lugar, pero después de ver el camino que han tomado me he animado a probar los PICs actuales.
En esta entrada del blog vamos a ver las herramientas que tenemos actuales para comenzar con los microcontroladores PIC y vamos a comparar con cómo era empezar con ellos hace 20 años. Repitiendo hoy una práctica hecha con un PIC en 2007: un receptor infrarrojo para leer un mando a distancia.
Años 2000s.
En España en los años 2000s diría que los microcontroladores PIC eran lo más usados con diferencia, el departamento comercial de Microchip hizo un buen trabajo entonces. En los centros de enseñanza, si tenías la suerte de ver un microcontrolador, seguro que iba a ser un PIC de 8 bits, otros nos tuvimos que conformar con ver microprocesadores como el Motorola 68000 e intentar aprender microcontroladores con los pocos recursos que había entonces.
La forma habitual de aprender entonces era: documentación del fabricante, notas de aplicación, foros especializados en internet donde preguntar y responder dudas y si tenías suerte había algún buen libro. Si querías aprender eran muchas horas de buscar en internet, leer y prueba y error por tu cuenta. No había los infinitos recursos que hay ahora, canales de youtube, repositorios de código, IA y las muchas plataformas de enseñanza con todo tipo de cursos.
Un libro fantástico sobre microcontroladores PIC de 8 bits era el «Microcontrolador PIC16F84: Desarrollo de proyectos» de la editorial Ra-Ma en 2004, con el que muchos nos iniciamos en el mundo de los microcontroladores.

El mejor libro de microcontroladores.
Un primer prototipo de electrónica con un microcontrolador antes de la era de: los Arduino, las Núcleo de STM32, los ESP32 y un largo etc.., los PCBs chinos de bajo coste y las innumerables placas de evaluación/prototipado y módulos conectables que hoy hay disponibles, solía tener este aspecto:

Montaje de receptor infrarrojo para leer un mando a distancia con un microcontrolador PIC. Año 2007.
También entonces había las típicas placas de evaluación de microcontroladores, pero eran caras y bastante limitadas para adaptarlas a cualquier proyecto, por lo que lo habitual era hacerse un prototipo rápido como el que se ve en la imagen superior, o hacerlo en un PCB de una cara mediante insoladora y ácido.
Dejo el enlace a la práctica de 2007 de receptor infrarrojo para leer un mando a distancia de la imagen superior, rescatada de un disco duro, y que vamos a replicar en esta entrada del blog con los PICs y herramientas actuales de Microchip.
Para hacer algo tan simple como lo anterior: pulsar el botón «+» de un mando a distancia de JVC, que el microcontrolador PIC reciba el valor «197» y «120» que envía este mando cuando se pulsa este botón y mostrarlo en una pantalla LCD, pues te podías tirar varias semanas si era la primera vez que usabas un microcontrolador y no tenías experiencia previa.
Aprendiendo cómo funcionaba el microcontrolador, su arquitectura, su lenguaje ensamblador (el compilador de C de Microchip no era gratuito), leyendo datasheets y notas de aplicación para integrar el hardware, preguntando dudas en foros especializados cuando te quedabas atascado y no encontrabas la solución (y siempre había gente experta dispuesta a ayudar a los que empezaban). A veces incluso te saltaba una lágrima de alegría, después de días y días, cuando conseguías que el proyecto funcionase por primera vez como querías.
Nada tiene que ver con el tiempo y lo que hemos tenido que hacer ahora para replicar la práctica, conseguir que cuando pulsamos el botón «+» de ese mando de JVC (aún lo conservo), un microcontrolador PIC que nunca hemos visto ni usado conectado a un receptor IR muestre los valores «197» y «120» en un LCD.
Gracias a la IA hemos pasado de necesitar semanas aprendiendo y probando para realizar dicha práctica a unas horas en un día, sin tener que construir, buscar ni leer absolutamente nada. Ya no te salta la lágrima de alegría cuando lo haces funcionar… Incluso si no funciona a la primera, puedes hasta quejarte de la IA!!!
Mi relación con los PICs no duró más de 1 o 2 años, hasta que empecé a usar los microcontroladores de Atmel con su compilador de C gratuito y mejor arquitectura (para mi gusto) y ya desde hace mucho tiempo todo suele ser ARM y ESP32.
Microcontroladores PIC en 2026.
Hardware.
Si queremos evaluar los microcontroladores actuales de Microchip una buena opción es usar las placas de evaluación dentro de su «Curiosity Nano Development Platform».
Las Curiosity Nano son unas plaquitas que integran: un microcontrolador, un conector USB con el debugger necesario para programar y debuggear el microcontrolador incluido en la propia placa, un led, un pulsador y los pines del microcontrolador sacados al exterior mediante conectores, todo por un coste inferior a los 10 euros. Tienen distintas versiones de estas placas para muchas de sus familias de microcontroladores.
Para esta entrada del blog vamos a usar una placa PIC32CM PL10 Curiosity Nano. Lleva un PIC32CM6408PL10048 con un Cortex-M0+ lanzado a principios del año 2026 con 64KB de Flash y 8KB de RAM (368 Bytes de RAM teníamos en el microcontrolador usado en 2007).
Esta placa la podríamos usar por sí sola para evaluar el PIC, se le introducen las tiras de pines a presión (no es necesario soldarlas) y la podríamos conectar a la electrónica que queramos ya bien haciendo un pequeño PCB o con placas de prototipado.
Otra opción aún mejor para evaluar el microcontrolador es hacerse con una Curiosity Nano Explorer, la cual nos permite pinchar sobre ella las mencionadas placas de Curiosity Nano conectándolas a los distintos circuitos que lleva la Explorer, pudiendo también añadir a esta decenas de módulos de expansión que proporcionarán nuevas funcionalidades a la Explorer.
La Curiosity Nano Explorer ya cuenta con un LCD, solo debemos añadir un receptor IR que conectamos a dos pines de alimentación de la Nano Explorer y cableamos hasta un pin del microcontrolador, para tener todo lo necesario para poder reproducir la práctica del receptor del mando infrarrojo.
Entorno de desarrollo.
Para desarrollar el firmware del microcontrolador vamos a usar VS Code más las extensiones de Microchip: MPLAB y MPLAB AI Coding Assistant (usaré Claude en su lugar).
Que Microchip, al igual que otros fabricantes, haya apostado por VS Code para programar sus microcontroladores es todo un acierto. Instalamos las extensiones de Microchip en VS Code y el compilador XC32, y en unos pocos minutos tenemos todo listo para trabajar, en un entorno que ya conocemos.
La nota de aplicación AN6368 recoge todo lo necesario para crear una primera aplicación para el PIC en VS Code, es la única documentación inicial que he tenido que consultar (todo lo demás lo hará una IA).
Una vez creado el proyecto, el entorno queda como se ve en la imagen inferior (clic para ampliar), con cuatro zonas diferenciadas:
Zona 1. en la imagen. Device Resources: desde aquí añadimos al proyecto las librerías de los periféricos del microcontrolador que vayamos a usar. Si necesitamos el RTC para contar tiempo, lo localizamos aquí y lo añadimos al proyecto con un clic.
Zona 2. en la imagen. Configurador gráfico del periférico: al añadir un periférico o seleccionarlo se abre su configurador visual. En la imagen se ve el del RTC con sus opciones, seleccionamos las opciones que necesitamos, pulsamos «Generate» y el código de inicialización del periférico se genera automáticamente.
Zona 3. en la imagen. Código generado automáticamente: aquí aparecen todos los archivos que las extensiones de Microchip generan tras pulsar «Generate», los drivers de cada periférico configurado (RTC, SERCOM, EIC, TC0…). No es código que escribamos a mano: lo genera la extensión en función de lo que hayamos seleccionado en el configurador gráfico.
Zona 4. en la imagen. Nuestro código de aplicación: aquí es donde añadimos los archivos .c y .h que nosotros escribimos. Es la parte del proyecto que es nuestra, el código de la aplicación que usa el código de los periféricos generado en la zona 3.
Luego tenemos otras ventanas de configuración gráfica con elementos comunes a todos los microcontroladores, como son el configurador de pines de entrada/salida, el árbol de relojes, el controlador de interrupciones, etc… Que de igual forma nos permitirá configurarlos de manera gráfica y generar el código necesario en función de nuestras selecciones.
Aquí me puedes decir: pero para hacer un proyecto con un microcontrolador ¿he de saber electrónica y cómo funciona un microcontrolador, qué periféricos necesito usar, y qué hace y cómo funciona cada uno? Y la respuesta es NO, le diremos a la IA que tenemos, que queremos hacer y ella nos dirá qué tenemos que usar, cómo lo debemos configurar y nos generará el código necesario guiándonos en cada paso del proceso.
El flujo de trabajo con IA para replicar la práctica del año 2007 del receptor IR sería el siguiente:
- Dar contexto a la IA: le explicamos qué hardware tenemos (placas EV58G97A + EV10P22A), que usamos VS Code con las extensiones de Microchip, y le pedimos el primer ejercicio: hacer parpadear el LED de la placa, el «Hola, Mundo!» de los microcontroladores, para verificar que el entorno funciona.
- La IA nos guía paso a paso: nos dice a qué zona del configurador gráfico debemos ir, qué pin configurar como salida, cómo nombrarlo, qué opciones marcar, y nos da el código del main.c. Compilamos, grabamos y vemos el LED parpadear.
- Añadimos el LCD y el sensor de temperatura: le pedimos a la IA que queremos mostrar texto en el LCD de la Explorer y la temperatura del sensor que lleva también la placa. La IA nos indica qué periféricos agregar en la Zona 1, qué opciones marcar en el configurador (Zona 2), y una vez generado el código (Zona 3) nos pide que se lo copiemos para saber exactamente a qué funciones tiene que llamar. La IA nos crea los archivos .c y .h que añadimos en la Zona 4. Compilamos, grabamos y vemos el texto «Hola Mundo!» y la temperatura en el LCD.
- Añadimos el receptor IR: le decimos a la IA que hemos conectado un TSOP38238 al pin PA02 de la placa, y que queremos replicar esta práctica del año 2007. La IA nos indica qué periféricos agregar, cómo configurarlos, y genera el código del controlador IR con sus .c y .h y nos modifica el main.c. Compilamos, grabamos, pulsamos el botón «+» del mando JVC y aparecen los valores 197 y 120 que el mando envía cuando se pulsa ese botón en el LCD. Ya tenemos nuestra práctica de receptor IR funcionando.
Por último y para terminar la práctica, podemos decirle a la IA: genera un .pdf donde recojas todo el código que has hecho y añade una pequeña explicación a este: .pdf con el código de la práctica para dejarlo todo documentado.

.pdf generado por la IA con el código y su explicación.
El coste de las 2 placas de evaluación de Microchip y el receptor IR ha sido de menos de 100 euros, con ellas podremos evaluar muchas de las características de los distintos microcontroladores de Microchip en un entorno de desarrollo profesional y gratuito. Mucho más barato que el tiempo que teníamos que emplear en el 2007 construyendo prototipos.
Y en unas horas de una tarde, cualquier persona sin conocimientos en microcontroladores, programación ni electrónica, puede hacer un proyecto sencillo con un microcontrolador como el mostrado, preguntando a una IA y siguiendo las indicaciones que le proporciona esta, prácticamente todo el código que nos ha generado ha compilado bien a la primera, sin errores.
¿No es increíble?
Conclusiones.
En esta entrada del blog hemos replicado una práctica hecha en 2007 con microcontroladores PIC y las herramientas de desarrollo actuales.
Para hacer un proyecto tan sencillo como el del mando IR, en los 2000s una persona que se enfrentaba por primera vez a un microcontrolador sin conocimientos previos, necesitaría semanas en las que tenía que: leer y aprender cómo funciona el microcontrolador, probar y ver cómo funcionan los distintos elementos de la electrónica, montar prototipos, escribir código, preguntar, buscar, resolver errores, etc… Muchas veces todo ello por su cuenta. Después del proceso habría adquirido unos conocimientos y habilidades a la hora de enfrentarse a un proyecto de electrónica.
Hoy esa misma persona podría hacer lo mismo en unas pocas horas, realizando el proyecto sin necesitar más conocimiento que el de saber cómo preguntar correctamente a una IA y seguir sus indicaciones.
Evidentemente son escenarios distintos, en uno aprendemos y hacemos y en el otro solo hacemos. Pero para una persona que quiera hoy aprender y hacer, las herramientas y recursos que tiene son increíbles. En este ejemplo la capacidad de tener una IA a tu disposición que te ayude a buscar, a razonar, a crear, etc… vale bastante más de los 18 euros mensuales que cuesta la suscripción de Claude. Y costaría aún mucho más en tiempo no usarla.
Después de haber hecho esta prueba en la que nunca había usado una IA para programar (mi trabajo hoy es 100% electrónica y 0% firmware) me viene a la mente aquella pregunta que se hacía hace muchos años:
¿Qué es mejor programar en ensamblador o en C? y la respuesta que siempre se daba es que los compiladores de C iban a generar mejor código ensamblador que la mayoría de las personas programando ensamblador.
Se podrá convertir a ¿Qué es mejor una persona haciendo código o dejar que una IA haga el código según las directrices de una persona experta? ¿podrá la IA generar código mejor que la inmensa mayoría de programadores? Mi intuición (lejos de ser experto) es que sí, igual que ganó el compilador de C al ensamblador en la mayoría de los casos.
No me he parado a evaluar el código generado por la IA, si está bien o mal hecho, no es mi especialidad ni tampoco era el objetivo: el objetivo aquí ha sido ver si la IA era capaz de llegar al resultado.
Sobre los microcontroladores PIC en esta entrada solo hemos visto su entorno de desarrollo en VS Code y sus placas de evaluación, todas ellas funcionando de manera sencilla y sin problemas. Que PIC haya añadido ARM a sus 32 bits (fuera de los ATSAM) y pensando en VS Code para su entorno de desarrollo me parece todo un acierto, y creo que merece la pena dedicar tiempo a conocerlos pero aprendiendo a base de leer documentación, haciendo proyectos y con el apoyo de una IA para resolución de problemas, errores y agilizar las búsquedas y consultas.
Si has llegado hasta aquí (y no eres una IA) gracias por leer :).



