user6249: 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.

user6459: Well...
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:
http://hackerspace.pbworks.com/w/page/88183850/ESP8266
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:
https://github.com/esp8266/esp8266-wiki/wiki/Hardware_versions

user6314: 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

6249: <p>I discovered that there are multiple types &amp; versions of <code>ESP8266</code> modules.</p>

<p>I'm wondering:</p>

<ul>
<li>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?</li>
</ul>

<p>Given the lack of information online, I couldn't find an answer for this online.</p>
 6459: <p>Well...<br>
Yes, but... <strong>mostly</strong> only if you are using the simple serial lines(rx and tx) to communicate with it and only using the AT flash image.</p>

<p>Just as a for-instance:<br>
The ESP8266-01 and ESP8266-02 have three and two IO pins (respectively) that are reprogrammable.<br>
The ESP8266-03 has seven IO pins.<br>
The others have different amounts of pins found on this page:<br>
<a href="http://hackerspace.pbworks.com/w/page/88183850/ESP8266" rel="nofollow">http://hackerspace.pbworks.com/w/page/88183850/ESP8266</a></p>

<p>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. </p>

<p>Instructions for compiling a toolchain to write and flash your own flash images to the ESP8266-XX module are found on this page:<br>
<a href="https://github.com/esp8266/esp8266-wiki/wiki/Hardware_versions" rel="nofollow">https://github.com/esp8266/esp8266-wiki/wiki/Hardware_versions</a></p>
 6314: <p>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.</p>

<p>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 <a href="http://www.esp8266.com/" rel="nofollow">esp8266</a> forum</p>
