I have an esp8266 (esp 12). It has multiple GPIO pins. The project that I want to make requires wifi and gpio. Since esp8266 already has gpio, I want to make it my main micro controller for everything(i.e. no atmega in the project anymore)
I do not have a USB to serial. I just have an arduino uno and the wifi module.
How do I burn my code into the module using arduino Uno as isp ?
ISP is only used for programming AVR chips, the ESP8266 is not an AVR, and cannot be programmed via ISP. The ESP8266 is programmed over serial.
If the ESP8266 was a 5v device, you could use the Uno as a serial adapter by connecting reset on the uno to ground, and use tx and rx as your serial. But you can't do this, because the Uno is 5v and the ESP8266 is 3.3v and the pins aren't 5v tolerant, and you will damage the ESP8266.
Use a USB serial adapter. They cost about $1~3 shipped, or $4-10 that if you need them in a hurry (ie, not 1-8 week china shipping).
Cant I drop the voltage from 5v to 3.3 using resistors ? if yes, could you show me a diagram of the circuit ?Also, Note that I do not want to just send serial commands to the chip. I want to program it so that I can use its GPIO .
I don't know these things so well, thats why I'm mentioning it explicitly. Sorry if its redundant
Serial is used to program the chip, not just to use it as a wifi adapter.
Actually, yeah, I forgot about that - you could use a resistor divider to lower the voltage. A 2:1 resistor divider from RX of the Uno (which is TX of the serial adapter) should work.
RX (Uno) ----1k ---- 2.2k---Gnd
And connect the RX of the ESP8266 to the middle of the two resistors.
TX of ESP8266 goes to TX on the Uno board (which is RX of the serial adapter)
Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).
Install Arduino 1.6.5 from the Arduino website.
Start Arduino and open Preferences window.
Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).
I havent tried program the ESP via Arduino. I used a very low cost Serial adapter to program the ESP. Here is a small post I wrote about my experiments Program ESP8266 with Arduino IDE | Sony Arouje
Keep in my ESP is really power hungry, Uno may not able to provide enough power (3.3v) to ESP, I used an external module to power my ESP.