Are ESP8266 modules interchangeable? (without code / library modification)

Today I learnt that there are multiple types / versions of ESP8266 modules.

Can I buy one, build my application and in future replace the module with another, continuing to use the same library and code?

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

Thank you very much.

For the most part yes, assuming both modules are on the same firmware revision.

That's great to know!

What are the chances of having the need to deal with firmware issues?
What tools might I need to get you reckon btw?

The firmware is a moving target at this point. Specifications and features change week to week.

What are the chances of having the need to deal with firmware issues?
What tools might I need to get you reckon btw?

All you need is a USB/Serial converter and a tool like 8266 Flash Tool to upload to the board.

The firmware is a moving target at this point

It certanly are.
Just today there is a new Lua cloud based firmware announced

Am I right to assume:

  • USB/serial converter is a cheap cable, which I need to cut off and use its cables to match ESP8266’s pins? (Sorry, complete newbie here)

  • and that “8266 Flash Tool” is a software that updates the flash?

  • Finally, (I am shocked to say this as I didn’t expect), sort of like sparkfun, this thing can actually run code on it without the need for arduino?!

Thanks again!

Erni:
All you need is a USB/Serial converter and a tool like 8266 Flash Tool to upload to the board.

It certanly are.
Just today there is a new Lua cloud based firmware announced

Example of a usb/serial converter

Ebay)

You put the usb in your computer and the tx/rx on the rx/tx on the esp8266.
It makes a virtual comport just like an Arduino.
Or you can use an Arduino

  • and that "8266 Flash Tool" is a software that updates the flash?

Yes, and there are many different to chose from.

this thing can actually run code on it without the need for arduino?!

Yes, infact it is more powerfull than an Arduino, It runs @80MHz and has a lot more RAM and Flash memory.
If you use the Lua firmware it is extremely simple to make for example a webserver running on the board.
Some example lua scripts:

http://www.esp8266.com/viewforum.php?f=19

Erni, I've got a Mega and an Uno but would like to get a separate unit.
Although the link doesn't seem to work, could you post it again? It appears as "node.setid(..)".

BTW I've joined that forum as well :slight_smile: May I ask here though, if an Arduino uses the ESP8266 as a bridge to connect to WiFi and transport data (I like the W/C++ ish code and lots of PWM ports etc.), can ESP8266 simultaneously be used to do computations and run Lua code?

This is so exciting! :slight_smile:

Erni:
Example of a usb/serial converter

[Ebay](http://node.setid("10219", "df2297c52e24b209fdfb5be617dbbed8"))

You put the usb in your computer and the tx/rx on the rx/tx on the esp8266.
It makes a virtual comport just like an Arduino.
Or you can use an Arduino
Yes, and there are many different to chose from.

Yes, infact it is more powerfull than an Arduino, It runs @80MHz and has a lot more RAM and Flash memory.
If you use the Lua firmware it is extremely simple to make for example a webserver running on the board.
Some example lua scripts:

Script Examples - Everything ESP8266

I updated the Ebay link.

One thing to remember is that the esp8266 is a 3.3V device, which means that if you want to connect it to an Arduino (5V) you will need some level converter on the tx from Arduino.
The above mentioned usb/serial converter has a jumper so it can operate on 3.3V.

can ESP8266 simultaneously be used to do computations and run Lua code?

Yes, no problem.
There are many ways to use this module, as standalone or combined with Arduino or ATtiny.

One thing to remember is that the esp8266 is a 3.3V device, which means that if you want to connect it to an Arduino (5V) you will need some level converter on the tx from Arduino.

Just wanted to chime in, as yesterday I got my first communication working with ESP8266: it does seem to work with 5V logic (I've heard this elsewhere too), i.e. communicates directly via rx/tx pins of a 5V powered UNO.

No idea whether I'm just lucky or this is as planned, YMMV.

The datasheet (at least this one ESP8266 - NURDspace) does tell that VDD has to be below 3.6V though. I powered my ESP8266 up from UNO's 3.3V, and even seemed to get some web traffic running without any external power source.

esp8266 needs 200mA peak. the uno's 3,3 voltage regulator can barely manage that. there is some risk of damaging the voltage regulator. and you will probably have erratic behaviour from the esp8266. in short ... don't !
although many have said the tx/rx seem 5v tolerant, they are not. put a simple buffer on the lines to avoid problems.
firmware is a bit of a pain, constantly changing.
the tools for making your own firmware are not mature enough for the average user, imho. but i'm sure many talented people are working on that.
from what i have gathered, different boards only change what pins are brought out, and antenna on or off board.

It's a moving target with how the ESP8266 is developing, changing from day to day. Following is an excellent guide for newbies.
http://www.labradoc.com/i/follower/p/notes-esp8266. Also look at the later YouTube videos.

There are a lot of new units coming out on the market with a hint that there maybe an Arduino/ESP clone or two around.

Word of warning it can be very frustrating to get the device to initially just respond to an AT command if you don't seem to have an external 3.3 power supply, the plug-in arduino units of ebay work fine.

You will see mention of the need for dropping the 5 volt TX/RX signals to 3.3v but most USB/TTL converters seem to have a link or option for either 5V or 3.3V so use the 3.3V option & there is no need for a signal voltage divider, one less point of fail. I needed to do some proof of signal levels eventually with a CRO.

Other trap for young players is the baud rate, All new units now seem to be 9600 where-as earlier units were 115200.

Regards

FigZ:
although many have said the tx/rx seem 5v tolerant, they are not.

Do you have a source on that? I haven't been able to verify this.

information about the esp8266, and the firmware, are scattered all over the internet.
we have no way of knowing if it is from a reliable source.

if in doubt ... play safe? I use a cd4050 buffer - there are plenty of alternatives. even a simple voltage divider will probably work

https://nurdspace.nl/ESP8266#Datasheet
p15 table: max vio: 3.6v
and below:(it does not specifically mention tx/rx pins)
All digital IO pins are protected from over-voltage with a snap-back circuit connected between
the pad and ground. The snap back voltage is typically about 6V, and the holding voltage is 5.8V.
This provides protection from over-voltages and ESD. The output devices are also protected
from reversed voltages with diodes.

if i understand correctly, the pins are NOT 5v tolerant, but are protected, so you probably can get away with it.