Los Microcontroladores PIC ¿Se pueden reprogramar? 🤔 Descubramoslo 🥸☝️

Los Microcontroladores PIC ¿Se pueden reprogramar? 🤔 Descubramoslo 🥸☝️

¡No tires tu microcontrolador PIC todavía! 😱

Imagina que tienes un microcontrolador PIC que ya programaste para un proyecto, pero ahora necesitas usarlo para algo diferente. ¿Se puede reutilizar o ya valió👀? ¿Se puede borrar el programa anterior y cargarle uno nuevo? ¡Sigue leyendo y descubre si tu PIC tiene otra oportunidad o si tienes que comprar uno nuevo!


¿Se puede reutilizar un microcontrolador PIC?

La respuesta es... ¡depende! 🤔 No todos los microcontroladores PIC pueden ser reprogramados. Esto depende del tipo de memoria que usen, de las cuales existen 2 tipos:

  • ✅ Memoria OTP (One-Time Programmable): Como su nombre lo dice, solo puedes programarlo una vez. Si tu PIC es de este tipo, ya no hay vuelta atrás. ¡Es de un solo uso! Lamentablemente 🥲

  • ✅ Memoria Flash o EEPROM ( Electrically Erasable Programmable Read-Only Memory) : Por sus siglas en espanol "memoria de solo lectura programable y borrable electronicamente"  Estos sí pueden ser borrados y programados varias veces. La mayoría de los PIC modernos usan este tipo de memoria, así que lo más seguro es que puedas reutilizarlo.☝️🥸

    Memoria EPROM - Wikipedia, la enciclopedia libre
    Si no sabes qué tipo de memoria tiene tu microcontrolador, revisa la hoja de datos (“datasheet”) de tu modelo específico.☝️🥸

Algunos microcontroladores que utilizan memoria OTP son:

Familia PIC de Microchip

Microchip fabricó varias series de microcontroladores PIC con memoria OTP⚡, aunque han sido reemplazados en gran parte por versiones Flash. Algunos ejemplos incluyen:

  • ✅ PIC16C54, PIC16C56, PIC16C57 (de la familia PIC16)
  • ✅ PIC12C508, PIC12C509 (de la familia PIC12)


MCU de 8 Bits, Programable Sólo Una Vez, Serie PIC16 Family PIC16C5x  Microcontrollers, PIC16

Microcontroladores de STMicroelectronics

ST también ha fabricado microcontroladores con memoria OTP, como:

  • ✅ ST6xxx series
  • ✅ ST7xxx series (algunos modelos antiguos)

Microcontroladores de Texas Instruments

Algunas series más antiguas de TI incluían versiones OTP, como:

  • ✅ TMS370
  • ✅ TMS7000


No hay ninguna descripción de la foto disponible.

Microcontroladores de Atmel (hoy parte de Microchip)🥸☝️

Atmel tenía algunas variantes OTP en su línea AVR más antigua, pero la mayoría han migrado a memoria Flash.

AVR - Wikipedia, la enciclopedia libre

📈Algunos microcontroladores que utilizan memoria Flash o EEPROM son:

Microcontroladores con Memoria Flash🔥

La memoria Flash se usa para almacenar el firmware del microcontrolador, permitiendo su reprogramación sin necesidad de hardware especializado. Algunos microcontroladores con Flash incluyen:

  • ✅ Microcontroladores AVR (Atmel/Microchip): ATmega328P (usado en Arduino Uno), ATmega2560 (usado en Arduino Mega), ATtiny85.

  • ✅ Microcontroladores PIC (Microchip): PIC16F877A, PIC18F4550, PIC32MX.

  • ✅ Microcontroladores ARM Cortex-M (STMicroelectronics, NXP, etc.): STM32F103, STM32F407, NXP LPC1768.

    DGFJY STM32F103 - Placa de núcleo para STM32F103C6T6 STM32F103C8T6 ARM  Placa de desarrollo de placa de sistema y procesador STM32F103  STM32F103C8T6 STM32F103C6T6 : Amazon.com.mx: Electrónicos
  • ✅ Microcontroladores ESP (Espressif): ESP8266, ESP32.

    Laqiya New Version NodeMCU LUA WiFi Internet CP2102 ESP12E ESP8266  Development : Amazon.com.mx: Electrónicos

✅Dato curioso: La memoria Flash es más rápida que la EEPROM, pero tiene un número limitado de ciclos de escritura antes de desgastarse.💡

Microcontroladores con Memoria EEPROM🔋 

La EEPROM permite el almacenamiento de datos no volátiles y se usa para guardar configuraciones o valores que deben persistir después de apagar el sistema. Algunos microcontroladores con EEPROM son:

  • ✅ Microcontroladores AVR: ATmega328P, ATmega2560 (ambos incluyen EEPROM interna).
    ATMega2560-16AU Microcontrolador Atmel 8-Bit :: Micro JPM
  • ✅ Microcontroladores PIC: PIC16F877A, PIC18F4550 (cuentan con EEPROM interna además de Flash).

    Pic18F4550-Ip | Microchip

💡 Ojo aquí: La EEPROM tiene ciclos de escritura más altos que la Flash, pero es más lenta.

¿El programa anterior se borra al reprogramar un PIC?

No automáticamente. Si intentas grabar un nuevo programa sobre un PIC sin borrarlo antes, puede que el nuevo código no funcione bien o que queden restos del programa viejo👴, Es por eso que primero hay que hacer un borrado completo antes de cargar un nuevo firmware.

Algunos PIC tienen protección de código, lo que impide leer o borrar el programa anterior si no tienes la clave o si fue bloqueado desde la primera programación.


¿Cómo borrar un microcontrolador PIC?

Si tu PIC tiene memoria regrabable, aquí te dejamos los pasos para borrarlo y dejarlo listo para una nueva programación1️⃣2️⃣3️⃣:

  • Paso 1: Conectar el microcontrolador al programador
    Necesitas un programador compatible, como un PICkit 3 o un K150. Conecta tu microcontrolador correctamente a través de los pines de programación ICSP (In-Circuit Serial Programming).

  • Paso 2: Usar el software adecuado
    Para realizar el borrado, puedes usar software como MPLAB X IPE (de Microchip) o herramientas como WinPIC o PICkit Programmer. Estos programas permiten comunicarte con el microcontrolador y darle la orden de borrado.

  • Paso 3: Borrar la memoria
    En el software de programación, busca la opción de Erase Device (Borrar dispositivo) o Erase Flash y ejecútala. Esto eliminará todo el contenido de la memoria Flash del PIC.

  • Paso 4: Verificar el borrado
    Después de borrar, algunos programadores permiten hacer una lectura de la memoria para verificar que ya esté limpia. Si ves que el contenido es puro 0xFF o 0x00, entonces el borrado fue exitoso.

  • Paso 5: Cargar el nuevo programa
    Ahora sí, tu PIC está listo para ser programado con un nuevo código. Usa el software de programación para cargar el nuevo archivo .hex y listo. ¡Tu microcontrolador está como nuevo! ✨

¿Cuándo NO se puede borrar un PIC? 👀

Aunque la mayoría de los PIC modernos permiten reprogramación, hay casos en los que no se puede borrar:

  • ☑️ Si es un PIC de memoria OTP: Ya no se puede modificar nunca.

  • ☑️ Si tiene protección de código activada: Algunos PIC tienen protección contra lectura y escritura activada desde fábrica o por el programador original.

  • ☑️ Si está dañado: Si el microcontrolador tiene daños en su memoria Flash o en sus pines de programación, es posible que ya no se pueda borrar ni reprogramar.

Preguntas frecuentes sobre el borrado de microcontroladores PIC 🤔

  • ✅ ¿Cuántas veces se puede borrar y reprogramar un PIC?🚀
    Depende del modelo, pero la mayoría permiten entre 1,000 y 100,000 ciclos de escritura/borrado antes de empezar a fallar.

  • ✅ ¿Se necesita borrar un PIC antes de programarlo?🔧
    Sí, aunque algunos programadores pueden hacerlo automáticamente antes de grabar un nuevo firmware.

  • ✅ ¿Se puede recuperar el código anterior de un PIC ya programado?🤷‍♂️ 
    Si la protección de código está activada, es imposible leer el programa anterior. Si no lo está, se puede extraer, pero algunos programadores lo bloquean por seguridad.

  • ✅ ¿Cómo evitar dañar un PIC al borrarlo?🛡️ 
    Utiliza siempre programadores y software oficiales o confiables. Evita desconectarlo en medio del borrado, ya que podría quedar inutilizable.


¡Reutiliza tu PIC sin miedo!

Si tienes un microcontrolador PIC con memoria Flash, puedes borrarlo y reprogramarlo las veces que quieras (o hasta que aguante). Solo necesitas un programador, el software correcto y seguir los pasos adecuados.

Si buscas programadores PIC y herramientas para reprogramar tus microcontroladores, ¡visita nuestra tienda! Tenemos todo lo que necesitas para sacarle el máximo provecho a tus PICs. 🚀🛠️



Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.