Wednesday, February 10, 2016

Board generic (platform esp8266, package esp8266) is unknown

Today's time to update my Arduino IDE (arduino.cc) to version 1.6.7.


With the new environment, I needed to update the Boards Manager to add support for the latest and greatest boards.  Adafruit has introduced some nice boards including their Feather line, which I want to work with.  So I update the Adafruit AVR boards, then the ESP8266 Boards.  The ESP support requires a download of 153.5 megabytes.  Wow.  I mistakenly interrupted the download to do something else.  Mistake!

When I needed to program an ESP device, I redid the ESP board support.  But every time I tried to program any sketch, I got the error message:

   Board generic (platform esp8266, package esp8266) is unknown

Uninstalling and reinstalling the IDE did not help.  I finally resorted to a Google search and found this Wordpress blog post.  Thank you!

So for Windows:

  1. Close the Arduino IDE windows that may be open.
  2. Go to the directory C:\Users\yourusername\AppData\Local where yourusername is the user name you are logged into.  
  3. Copy the preferences.txt file in the Arduino15 subdirectory somewhere like your Desktop
  4. Rename your Arduino15 directory to Arduino15-old.  Create a new Arduino15 directory and copy back the preferences.txt file into the new (now clean) Arduino15 directory.
  5. Now you can open the Arduino IDE and it will be clean of any board preferences.  Go to Tools -> Board -> Boards Manager and add support for the boards you want to use (such as ESP8266, etc.)
Now, if you by chance don't see the ability to add ESP8266 support or Adafruit support, you need to add something to your preferences.  Open File -> Preferences.  On the line Additional Boards Manager URLs: add the following text all on the same line:

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json,http://arduino.esp8266.com/package_esp8266com_index.json

Press the Ok button.

Now close the Arduino IDE and reopen it.  You should now see the additional boards that you may want to use.

Again, thanks to the ESP8266Hints blog for the pointers.