I am looking to connect the ESP8266 to an an Uno (as well a Blackboard Artemis) that will connect to a hotspot on my phone. I was wondering what I should know before I dive right in? Perhaps any necessary drivers, coding or additional products needed.
You may want to do some research into how you are going to interface the 5V Arduino Uno with a 3.3V ESP8266, Espressif has removed the reference that the ESP8266 is 5V tolerant.
You might look into the advantages of using freeRTOS with the ESP8266.
When you do your searches for libraries for the ESP use the word 'ESP' in your search.
May luck be with you.
Idahowalker: May luck be with you.
Did I go wrong somewhere? I am really new so am not sure if i'm doing something wrong.
I notice many people connecting a ESP8266 directly to a Arduino Uno and things work fine, other times things do not work fine.
At one time Espressif, had in their documentation that the ESP8266 GPIO was 5 volt compatible. Now Espressif has removed the reference that the ESP8266 is GPIO 5V tolerant. Thus it is, to me, a matter of luck if and for how long a 3.3V device is going to work with 5 volts on its GPIO pins.
guanciale: I believe my Uno has 3.3V option on top of a 5V option.
I don't see anything to indicate that is so. It appears to be a faithful clone of the Uno, which is a 5 V only board.
Anyway, there are many tutorials that will give you all the information you need to connect the ESP8266 to your Uno. The main things you need to understand:
The default baud rate of the AT firmware on the ESP8266 is usually set to 115200 baud. Someone reported that they are starting to set it to 9600 baud by default, but I don't know whether that is true. Even so, there will still be many ESP8266 modules on the market that are still set to 115200 baud.
The hardware serial port on your Uno (pins 0 and 1) is used for communication with your computer, both for uploading sketches to the Uno and for sending debug information to Serial Monitor. If you connect the ESP8266 to pins 0 and 1, it will interfere with uploads and using Serial.print() to send debug information to Serial Monitor may interfere with communication with the ESP8266. So it's generally better to use the SoftwareSerial library to create a separate serial port on other pins on your Uno to connect the ESP8266 to.
The SoftwareSerial library doesn't work reliably at 115200 baud. You should use the appropriate AT command (see the many tutorials or the AT command reference provided by Espressif) to set the baud rate to 9600 baud, which the SoftwareSerial library supports reliably.
I recommend the WiFiESP library, which handles the AT commands for you behind a more user friendly interface: https://github.com/bportaluri/WiFiEsp
Thanks for the education! I will have to look into all of that. What then does the 3.3V hole next to the 5V hole on my arduinos do? I am fairly new so I apologize for my ignorance. Is that the power it can receive?
It provides a 3.3 V power supply. However, the voltage regulator used for this can't supply very much current. The ESP8266 draws a lot of current while the WiFi radio is working and if you don't provide it with a sufficient power supply then you'll have trouble with it being unreliable. It will seem to work when you're just doing simple things, but then once you run a program with WiFi communication you'll have intermittent problems.