¿Como solucionar el error «Board generic (platform esp8266, package esp8266) is unknown»?

Este error puede aparecer al cambiar entre los paquetes de instalación de ESP8266/Arduino staging y stable, o tras actualizar de versión de paquete.

Board nodemcu2 (platform esp8266, package esp8266) is unknown error

Board nodemcu2 (platform esp8266, package esp8266) is unknown error

Si te enfrentas a este problema, no podrás compilar ningún boceto para ningún tipo de módulo ESP8266.

Lee a continuación cuál es la causa raíz del error o salte directamente a la solución

La causa raiz

Este problema se atribuye al Gestor de Tarjetas del IDE Arduino, no limpiando la instalación previa del paquete antes de aplicar uno nuevo. Como esto no se hace, es responsabilidad del usuario eliminar el paquete anterior antes de aplicar uno nuevo.

Para evitar que suceda, si está cambiando entre staging y stable, primero presione en el Gestor de Tarjetas el botón Eliminar para eliminar la instalación actualmente utilizada.

Si cambia entre staging y stable, elimine el paquete instalado actualmente

Si cambia entre staging y stable, elimine el paquete instalado actualmente

No es necesario eliminar el paquete instalado si lo estás actualizando (sin cambiar entre staging y stable).

No es necesario eliminar el paquete instalado si lo estás actualizando

No es necesario eliminar el paquete instalado si lo estás actualizando

Dependiendo del módulo seleccionado, el mensaje de error es ligeramente diferente. Por ejemplo, si elige Generic ESP8266 Module, se verá de la siguiente manera:

Board generic (platform esp8266, package esp8266) is unknown
Error compiling for board Generic ESP8266 Module.

A continuación un mensaje de ejemplo para WeMos:

Board d1_mini (platform esp8266, package esp8266) is unknown
Error compiling for board WeMos D1 R2 & mini.

… y otro para Adafruit Feather HUZZAH:

Board huzzah (platform esp8266, package esp8266) is unknown
Error compiling for board Adafruit HUZZAH ESP8266.

Si el problema ya ocurre, desinstalar y volver a instalar el paquete con Boards Manager normalmente no lo arreglará.

Desinstalar y reinstalar el IDE de Arduino no lo arreglará tampoco.

Bien, bien, bien. Podrás arreglarlo con Boards Manager. Para hacerlo, debe ir paso a paso con cuidado eliminar el paquete nuevo y luego el anterior. Una vez hecho esto, puede instalar nuevamente el nuevo paquete. ¿Mencioné que entre tanto necesita cambiar dos veces el JSON en Gestor de URLs Adicionales de Tarjetas?

Afortunadamente hay una solución más rápida y efectiva. Vea abajo.

Cómo arreglarlo

La resolución de problemas es tan simple como eliminar la carpeta con la instalación anterior de esp8266/Arduino.

El procedimiento es idéntico en Windows, Linux y Mac OS. La única diferencia es la ruta de la carpeta. Por ejemplo, en Mac, será /Users/$USER/Library/Arduino15/packages/esp8266/hardware/esp8266. El siguiente ejemplo muestra la ruta para Windows.

  1. Comprueba la ubicación de la carpeta de instalación yendo a Archivo > Preferencias (Ctrl+,). La ubicación de la carpeta se encuentra en la parte inferior de la ventana Preferencias.
Comprueba las preferencias del IDE Arduino

Comprueba las preferencias del IDE Arduino

  1. Haz clic en el enlace para abrir la carpeta. Para Windows 7 se verá de la siguiente manera:
Contenido de la carpeta de preferencias del IDE Arduino

Contenido de la carpeta de preferencias del IDE Arduino

  1. Ve hasta el directorio Arduino15\packages\esp8266\hardware\esp8266. En el interior, encontrarás dos carpetas con diferentes instalaciones del paquete ESP8266/Arduino.
Comprueba el contenido de la carpeta del paquete ESP8266/Arduino

Comprueba el contenido de la carpeta del paquete ESP8266/Arduino

  1. Elimina la carpeta anterior. Reinicia Arduino IDE, selecciona tu módulo ESP y el error desaparecerá.

Nota: Si no estás seguro de qué carpeta eliminar, elimina ambas. Reinicia Arduino IDE, ve a Herramientas> «última placa seleccionada» > Gestor de Tarjetas e instala el paquete ESP8266/Arduino nuevamente. Selecciona el módulo ESP8266 deseado y el problema debería resolverse.

Mas información

Este problema ha sido informado con bastante frecuencia en la sección de Issues del repositorio ESP8266/Arduino. La solución más apreciada fue proporcionada por [@anhhuy0501](https://github.com/anhhuy0501) en #1387.

Si estás interesado en más detalles, consulta #2297, #2156, #2022, #1802, #1514, #1387, #1377, #1251, #1247, #948