Help adding an ESP 8266 to my Arduino project

Juraj:
not for SPI connection.

Then UART?

It seems wasteful buying the ESP-12 will all of its GPIO pins simply to just use it for its SPI pins.

The ESP05 and ESP01 and so have the same processor - just many pins are not broken out. That's the problem.

ieee488:
Then UART?

for Uno yes, with WiFi Link. USB can't be used then. For OTA debug prints I use telnet.

for Mega, I do not know.

How about ONLY a UART/serial solution?

NO MENTION OF SPI!!!!!

Is the following correct or not?

Arduino IDE
Arduino UNO
ESP8266-01
&
your link: esp-link firmware (GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer)

Thats it?

Or is there more?

Again... -NO- SPI solution asked for or desired.

What else is missing? Anything?

When you ask this: "is networking library needed?"

I'm not clear what it means or you asking about? (can you clarify please)

thanks!

xl97:
How about ONLY a UART/serial solution?

NO MENTION OF SPI!!!!!

Is the following correct or not?

Arduino IDE
Arduino UNO
ESP8266-01
&
your link: esp-link firmware (GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer)

Thats it?

Or is there more?

Again... -NO- SPI solution asked for or desired.

What else is missing? Anything?

When you ask this: "is networking library needed?"

I'm not clear what it means or you asking about? (can you clarify please)

thanks!

+1000
excellent!
bravo!

also, if AT commands are being used, what is the esp-link firmware for? the Arduino Uno?

with AT firmware you can't have AVR sketch OTA upload. AT firmware is in esp8266 and that is all. (there was a guy who made it work somehow)

the esp-link with serial was, what I recommended in first comment.

If you want to use the esp8266 in the way like Arduino networking shields are used (Ethernet or WiFi shield), then esp-link can't help you. the firmware doesn't support a library with WiFiClient and WiFiServer. the EL-link library supports only simple REST calls and MQTT.

the WiFi Link firmware is for Serial connection and the corresponding library has WiFiServer and WiFiClient. but OTA is for now supported only for Atmega 328p with Optiboot (UNO bootloader). The used dfu library could be enhanced with more MCU definitions implementing some interfaces.

connect.  esp8266     firmware   AVR   OTA     | AVR         WiFi  
method    firmware    framework  OTA   lib     | library     Client
-------------------------------------------------------------------
UART      AT          SDK        no    -       | WiFiEsp     yes   
UART      esp-link    SDK        yes   -       | EL-link     no    
UART      WiFiLink    Arduino    Uno   dfu     | WiFiLink    yes   
UART      sketch      Arduino    Uno   dfu     | sketch      -     
SPI       WiFiSpiESP  Arduino    yes   AVRISP  | WiFiSpi     yes   
SPI       WiFiLink    Arduino    yes   AVRISP  | WiFiLink    yes   
SPI       sketch      Arduino    yes   AVRISP  | sketch      -

ieee488:
What makes you think you can?

I have not anything that said this was possible.

I am a programmer the few i know about electronics is what i learned with Arduino. I though Arduino could that easily it seem i might need another module for it. any suggetions?

Juraj:
with AT firmware you can't have AVR sketch OTA upload. AT firmware is in esp8266 and that is all. (there was a guy who made it work somehow)

the esp-link with serial was what I recommended in first comment.

If you want to use the esp8266 in the way like Arduino networking shields are used (Ethernet or WiFi shield), then esp-link can't help you. the firmware doesn't support a library with WiFiClient and WiFiServer. the EL-link library supports only simple REST calls and MQTT.

the WiFi Link firmware is for Serial connection and the corresponding library has WiFiServer and WiFiClient. but OTA is for now supported only for Atmega 328p with Optiboot (UNO bootloader). The used dfu library could be enhanced withmore MCU definitions implementing some interfaces.

connect.  esp8266     firmware   AVR   OTA     | AVR         WiFi  

method    firmware    framework  OTA  lib    | library    Client

UART      AT          SDK        no    -      | WiFiEsp    yes 
UART      esp-link    SDK        yes  -      | EL-link    no   
UART      WiFiLink    Arduino    Uno  dfu    | WiFiLink    yes 
UART      sketch      Arduino    Uno  dfu    | sketch      -   
SPI      WiFiSpiESP  Arduino    yes  AVRISP  | WiFiSpi    yes 
SPI      WiFiLink    Arduino    yes  AVRISP  | WiFiLink    yes 
SPI      sketch      Arduino    yes  AVRISP  | sketch      -

You obviously know this forwards and backwards.

But honestly, I am as confused as ever.

Would you just answer xl97's post as it is and concentrate just on that? Please?

randomgirl98:
I am a programmer the few i know about electronics is what i learned with Arduino. I though Arduino could that easily it seem i might need another module for it. any suggetions?

Keep reading this thread.

Apparently, it can be done, but I can't figure it out with the posts I am reading in this thread.

Yes, please. This seems like a great feature one can implement on many projects.

But I just cant keep what your saying clear. (you mention other libs, you post cross reference charts, you reference SPI and serial, other IDE's...etc..etc..etc)

I have tried to weed out other info and only focus on 1 approach form beginning to end.

Lets start here:

Arduino IDE
Arduino UNO
ESP8266-01 <-- you can use the 01's for serial....correct? (or did I mis-read?)
&
your link: esp-link firmware (GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer)

Thats it?

Or is there more?

If the above is correct, then please outline all steps.

Serial solution from beginning to end.

Thank you.

Juraj,

For an exmple of how to properly write a great tutorial, read

One process with one objective and one set of parts.
One step at a time.
From beginning to end.

Show us how to do it.

Ill check that iee488 thanks

randomgirl98:
Ill check that iee488 thanks

I am still waiting for a step-by-step set of instructions that works.

once you learn the basic procedures with esp8266, you can try all the firmwares starting from the top of the table. (maybe skip the SPI WiFi Link :slight_smile: )

forget the Uno or Mega, start with basic esp8266 tutorials, learn how to use esptool and Arduino esp8266 core. Many tutorials show how to use Uno as USB adapter for the esp8266, but it is better to work with esp8266 breakout boards with USB or with esp8266 module connected to computer with an USB to TTL adapter.

esp8266 is full of small traps for beginners, mostly because of required boot pin states.

every firmware has it's documentation.

Lets just stick to one... (we are trying to get some solid facts that DO NOT deviate from a single path/approach)

you mentioned: esp-link firmware

So (again).... is this a correct assumption so far. (please stay on topic, and only comment on what is listed below, not alternatives until it is proven/expressed that the below list is incorrect)

Arduino IDE
Arduino UNO
ESP8266-01
&
your link: esp-link firmware (GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer) * flashed to your ESP8266-01 module.

Is there anything more needed?

Will the above work... yes or no?

To be clear.. "I" have used the ESP8266 modules before in projects... (MQTT w/RPi, web server, captive portals...etc)

But I have never used it for OTA sketch uploads to a connected Arduino.

So please, outline 1 (serial approach) process, using the 'esp-link firmware' YOU suggested.

Is there more needed than the following list:
Arduino IDE
Arduino UNO
ESP8266-01
&
your link: esp-link firmware

If yes, please correct what is wrong?

If nothing more is needed please outline the steps/process one needs to take to do so.

I am NOT asking how to flash firmware onto an ESP8266 board... (we can assume or ask in a separate thread, that the ESP8266-01 board has been flashed with the esp-link firmware)

Thank you.

xl97:
Is there more needed than the following list:
Arduino IDE
Arduino UNO
ESP8266-01
&
your link: esp-link firmware

If yes, please correct what is wrong?

If nothing more is needed please outline the steps/process one needs to take to do so.

the steps

and some configuration in board.txt to set the upload parameters for IDE (can be copied from Uno WiFi boards.txt settings)

I tested it in April last year with Uno WiFi when I had it only some weeks and it was my first Arduino. And recently I modified the dfu library of WiFi Link to accept upload from the platform.txt default upload tool used for Yun and esp-link.

  • even more confused. (Yun's? Uno Wifi's?...etc)

While I thank you for the link...

I made this comment above:

"I am NOT asking how to flash firmware onto an ESP8266 board... (we can assume or ask in a separate thread, that the ESP8266-01 board has been flashed with the esp-link firmware)"

What I (and everyone else) want to know is (specifically) how to go about updating the connected Arduino sketch via OTA using the ESP8266-01 module. Simple and direct question.

You seem to be just 'stuck' on talking about flashing the ESP module.... why?

Is that NOT what this is for? (quick glance leads to me to believe this for OTA updating of the ESP module firmware itself.. and NOT for updating the sketch for the connected Arduino)

Maybe I'm missing something here? Save my sanity.

Yeah, I know it i

xl97:
Maybe I'm missing something here? Save my sanity.

You are sane.

It's the answers that are getting ridiculous.

I know it is possible to flash the ESP8266 firmware OTA (over-the-air).

You and I and the OP want to know how to update the Arduino Uno's firmware OTA.

It is very clear that is the purpose that we are discussing,
but apparently our English is not good enough or something, because I feel as if we are just going in circles with no clear answers.

I am beginning to think that we are asking for one thing, and the answers are about something else entirely.

Waste of time.

Juraj:
once you learn the basic procedures with esp8266, you can try all the firmwares starting from the top of the table. (maybe skip the SPI WiFi Link :slight_smile: )

forget the Uno or Mega, start with basic esp8266 tutorials, learn how to use esptool and Arduino esp8266 core. Many tutorials show how to use Uno as USB adapter for the esp8266, but it is better to work with esp8266 breakout boards with USB or with esp8266 module connected to computer with an USB to TTL adapter.

esp8266 is full of small traps for beginners, mostly because of required boot pin states.

every firmware has it's documentation.

My example with the link to the tutorial is to show you how to write a good tutorial on this topic ---> OTA update of Arduino Uno sketch.

And I am getting the impression, you don't know how.

xl97:
"I am NOT asking how to flash firmware onto an ESP8266 board... (we can assume or ask in a separate thread, that the ESP8266-01 board has been flashed with the esp-link firmware)"

You have it running? I assume no. You would not ask how to upload.

xl97:
What I (and everyone else) want to know is (specifically) how to go about updating the connected Arduino sketch via OTA using the ESP8266-01 module. Simple and direct question.

for OTA upload from IDE to Uno you chose a network port and click Upload. the upload tool is already configured in platform.txt

additional boards.txt settings for network upload tool

uno.upload.network.endpoint_upload=/pgm/upload
uno.upload.network.endpoint_sync=/pgm/sync
uno.upload.network.sync_return=204:SYNC
uno.upload.network.endpoint_reset=/log/reset
uno.upload.network.port=80