March 31, 2015

ESP8266 Resources


Here is my current list of links for the ESP8266 and Arduino.



Wiring

I have collected some wiring schemes of increasing complexity in this post.
However I have developed my own wiring scheme and described it in this Instructable. I think is easier for many people to start with a solid and tested scheme.

Libraries

  • WiFiEsp : This is my own library. It is designed to be very similar to standard Arduino Ethernet and WiFi shield libraries. The idea is to be able to reuse existing sketches and projects with this cheap ESP module. You can find more information on this post.
  • ITEADLIB_Arduino_WeeESP8266 : Seems to be the most stable and reliable ESP library at the moment (Apr 2015).
  • arduino-ESP8266 : Seems a good library
  • ThaiEasyElec (TEE_ESP) : Works only with SoftwareSerial, low level functions, poor documentation, no website or GIT repository.
  • ESP8266 EasyIoT
  • Adafruit: Seems a good library, debugging functions, missing high level functions.
  • espduino : Wifi library (Chip ESP8266 Wifi soc) for Arduino using SLIP protocol (custom firmware) via serial port. Release 0.1 was based on AT commands.
  • ESP8266 : Another library. Nothing special. 
  • ESP8266_client :  A lightweight library for client connections. Nothing special.
  • ESP8266_Simple :  Well documented, works only with SoftwareSerial, few functions.

Reference documentation


Flashing the firmware

I have developed my own procedure using Arduino board for flashing the ESP.


Other resources


  • Espressif forum:
  • ESP8266 forum : This is a community forum centered around the ESP8266. Everything is here, but probably best to read this stuff after going through a complete design example.
  • Electrodragon wiki : Wiki page with multiple sets of information and links for using the ESP8266.
  • Espressif is the manufacturer of the ESP8266. Their site is pretty much a bunch of marketing hoo-hah and you'll have to "contact" them for more information. Not too useful.
  • http://blog.electrodragon.com/esp8266-gpio-test-edited-firmware/ : A demo of turning the LEDs on the ESP8266 board on/off over the Wifi link.
  • http://scargill.wordpress.com : Peter Scargill has been pretty thorough in documenting his experiences in getting the ESP8266 up and running and delving into some of the capabilities of the chip.


4 comments:

  1. I'm pretty interested in your WiFiEsp library - reusing existing code for Ethernet library is my goal as well. I'll be watching your progress. Thanks for sharing this!

    ReplyDelete
  2. Dude! thanks for the information!

    ReplyDelete
  3. Is there any ESP8266 library that works well with Arduino DUE that doesn't need SoftwareSerial?

    ReplyDelete
  4. Hi,

    just come across your library WiFiEsp and I get errors when I try to compile the example sketches.
    Tried on IDE 1.6.3 and 1.6.6, both give the same error:

    --------------------------------------------------

    D:\ProgsII\arduino-163\libraries\WiFiEsp\src\WiFiEsp.cpp:222:54: error: cannot declare member function 'static void WiFiEspClass::allocateSocket(uint8_t)' to have static linkage [-fpermissive]
    static void WiFiEspClass::allocateSocket(uint8_t sock)
    ^
    D:\ProgsII\arduino-163\libraries\WiFiEsp\src\WiFiEsp.cpp:227:53: error: cannot declare member function 'static void WiFiEspClass::releaseSocket(uint8_t)' to have static linkage [-fpermissive]
    static void WiFiEspClass::releaseSocket(uint8_t sock)
    ^
    Error compiling.


    --------------------------------------------------


    D:\ProgsII\Arduino-166\libraries\WiFiEsp\src\WiFiEsp.cpp:209:44: error: cannot declare member function 'static uint8_t WiFiEspClass::getFreeSocket()' to have static linkage [-fpermissive]

    static uint8_t WiFiEspClass::getFreeSocket()

    ^

    D:\ProgsII\Arduino-166\libraries\WiFiEsp\src\WiFiEsp.cpp:222:54: error: cannot declare member function 'static void WiFiEspClass::allocateSocket(uint8_t)' to have static linkage [-fpermissive]

    static void WiFiEspClass::allocateSocket(uint8_t sock)

    ^

    D:\ProgsII\Arduino-166\libraries\WiFiEsp\src\WiFiEsp.cpp:227:53: error: cannot declare member function 'static void WiFiEspClass::releaseSocket(uint8_t)' to have static linkage [-fpermissive]

    static void WiFiEspClass::releaseSocket(uint8_t sock)

    ^

    exit status 1
    Error compiling.

    --------------------------------------------------



    ReplyDelete