I discovered that there are multiple types & versions of ESP8266 modules.

I'm wondering:

  • Build my application around one type (eg ESP-03) and in future swap the module with another (ESP-07), continuing to use the same library and code?

Given the lack of information online, I couldn't find an answer for this online.

2 Answers 2


yes they are interchangeable since they all use the same chip (esp 8266). However the pin outs of the different modules can (and will be) laid out different. So you have to watch out that your wires are connected to the correct pads on the module.

Also mind that different esp8266 modules can be (stock) loaded with different firmware. If you are using the AT firmware in your current arduino project it can be necessary to flash your new esp8266 module with the same firmware. If you are not sure how to do this you might have a look to the esp8266 forum

  • Hi @kaspertaeymans, thanks for the answer. Can you please clarify one thing: If I want to connect an esp8266 to an Arduino to have the Arduino communicate with the home wifi (and the internet through it), do I need to have a special firmware on Arduino? Second Q: Is this hard to achieve? I'm not interesting in hacking the ESP to use it on its own with Lua code or anything. Also: What's the name of what I want to do? Is it "AT mode"? Thanks very much!
    – Phil
    Dec 19, 2014 at 17:07
  • hi, I suggest reading some tutorials about arduino programming. If you encounter problems you'll always can post an new question to SE. Dec 21, 2014 at 10:41
  • yup, started doing it and it is fantastic! learned a lot. thanks!
    – Phil
    Dec 21, 2014 at 13:58

Yes, but... mostly only if you are using the simple serial lines(rx and tx) to communicate with it and only using the AT flash image.

Just as a for-instance:
The ESP8266-01 and ESP8266-02 have three and two IO pins (respectively) that are reprogrammable.
The ESP8266-03 has seven IO pins.
The others have different amounts of pins found on this page:

So if the program you use to flash the module uses more pins then you have to use the module that has the proper amount of IO pins or rewrite the flash image.

Instructions for compiling a toolchain to write and flash your own flash images to the ESP8266-XX module are found on this page:

  • thanks @isme! my main motive is to use the esp8266 to act as a "bridge", to send and receive data to/from Arduino.
    – Phil
    Dec 31, 2014 at 12:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.