Retired Product

This is a retired product. There is an updated version available: WRL-13678

Creative Commons images are CC BY 2.0

Description: The ESP8266 WiFi Module is a self contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. Each ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers (and that’s just out of the box)! The ESP8266 module is an extremely cost effective board with a huge, and ever growing, community.

This module has a powerful enough on-board processing and storage capability that allows it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. Its high degree of on-chip integration allows for minimal external circuitry, including the front-end module, is designed to occupy minimal PCB area. The ESP8266 supports APSD for VoIP applications and Bluetooth co-existance interfaces, it contains a self-calibrated RF allowing it to work under all operating conditions, and requires no external RF parts.

There is an almost limitless fountain of information available for the ESP8266, all of which has been provided by amazing community support. In the Documents section below you will find many resources to aid you in using the ESP8266, even instructions on how to transforming this module into an IoT (Internet of Things) solution!

Note: The ESP8266 Module is not capable of 5-3V logic shifting and will require an external Logic Level Converter. Please do not power it directly from your 5V dev board.

Features:

  • 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLLs, regulators, DCXO and power management units
  • +19.5dBm output power in 802.11b mode
  • Power down leakage current of <10uA
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Wake up and transmit packets in < 2ms
  • Standby power consumption of < 1.0mW (DTIM3)

Documents:

Recommended Products

Customer Comments

  • I made a few cool tutorials for these modules:

    How To Make Phone Calls and Send SMS With ESP8266 and Arduino

    You can also use the ESP8266 as a stand alone micro:

    How To Flash The NodeMcu Firmware On The ESP8266

    and add more pins to it:

    How To Add More GPIO Pins To The ESP8266

    I have two tutorial playlists in my channel:

    ESP8266 With Arduino

    ESP8266 on its own with NodeMcu

    and you can get the code for all these in my website

    • What version of the arduino IDE are you using? mine doesn’t recognize the wifi.httpPost() function.

  • Will you carry any of the other common packages (or possibly roll your own with breadboard-friendly pin spacing)? This would be great for IoT considering the ability to leverage the module without an external MCU. Unfortunately I’ve gotten a couple ESP-03s from ebay and they were lemons.

    • Adafruit.com carries an adapter product 2102 that should make this “breadboard friendly”. The adapter is 2x5, but that’s OK. It looks like it also comes as a socket and a header, but for this you’d just use the socket. Price is a whopping $0.95.

      Maybe we could get SF to carry this gadget? Or maybe the 2x4 version from the OEM?

      • My comment was geared towards the esp-03, which is actually a surface mount package with all the pins broken out. Unfortunatly the pitch is not 2.54mm (0.1"), but is 2mm instead.

        As for the doubled up headers, I have breakout boards for these. iy would be nice to have access to more of the I/O, especially if programming this standalone.

    • I’m not crazy about the 2X header either. If Sparkfun does roll their own some day, PLEASE rethink the header and use a single row. It would be nice if it could interface directly with a pro-mini too.

  • Does anyone know if there’s an AT command to just return the IP address of the ESP8266? I’d rather not have to parse it out if I don’t have to.

    Currently AT+CIFSR returns:

    +CIFSR:APIP,“192.168.5.2” +CIFSR:APMAC,“2a:ee:32:a2:97:2b” +CIFSR:STAIP,“192.168.1.128” +CIFSR:STAMAC,“28:ee:32:a2:97:2b”

    OK

    Most tutorials out there seem to suggest it should just return the IP and not all the extra info.

    • It looks like you have it configured for both Station and AP mode, so it has two IPs, one for each mode. If you set it to station only “AT+CWMODE=1” you will get less data to parse.

      That said, the command I use to get just the station IP is “AT+CIPSTA?”. If you need to use both Station and AP mode you can also get the AP IP address with “AT+CIPAP?”.

      On my site I have some write-ups on a prototype project I am working on, I still have more articles to publish on the subject, but this one discusses the commands I’ll be using for various tasks.

  • And now programmable with the Arduino IDE!!!!! github.com/igrr/Arduino

    • We’ve now moved this to the esp8266 account: http://github.com/esp8266/Arduino

  • You should carry the olimex version: http://microcontrollershop.com/product_info.php?products_id=7067

  • I presume that this does NOT come with FCC approval? This means that it’s OK for “prototype” (pronounce “a few around your house”) usage, but if you include it in something you’re (“reader you”, not SF) are going to sell, you’ll have more hassles.

    BTW, this is probably one of the big reasons it’s so cheap. If it had the regulatory approvals, it would likely cost more like $12, at a guess. At the moment, I don’t need it, so am not willing to research, but I’d be surprised if there isn’t already a functionally comparable module that has FCC/CE/etc. approvals.

  • The way I use these is I put pins on the outer connections, those are the pwr, gnd, rx, tx. Then it fits in breadboard. Then I use 4 pin female connector on the remaining 4 center pins. CH-PD has to be at vcc so I soldered that one. Works great and you can use jumper wires for programming or using the GPIO’s.

  • Holy crap, how is it so cheap?

    • well … why has it taken so long?! Finally! a wifi module to add to small projects that doesn’t cost more than the all the other components! This breaks some barriers.

    • Look at the price for 5x from China and re-evaluate your question.

      • Pity that it is the old version and not the newer one like this one:

        http://www.aliexpress.com/item/2pcs-lot-ESP8266-serial-WIFI-model-ESP-07-Authenticity-Guaranteed/32256583551.html

        They are shielded (good idea for an RF device!) and have a lot more I/O pins broken out - the module has a full featured OS and for simpler applications it can function completely standalone (there is a free toolchain available for it), without another MCU. But it sucks when you have only about 2 available I/O lines.

        Whether the module costs $2 from China and it takes a month or two to get it (if it arrives at all) or whether it costs $7 from SparkFun and you get it quickly and reliably is up to you to decide whether it is worth for you.

      • Any thing from China tho…

        • Ummm where do you think these come from? China

          • really!? i though sparkfun was 100% original and jut had a terrible business model

            • Can’t tell if you’re joking.. SF has an excellent business model. They resell (sell their own in-house designs) at huge margins. Almost any electronic component you buy is most likely manufactured in China, Taiwan, Thailand, etc. and SparkFun is no exception. Why is that a bad thing? Everything coming out of factories is QC’d.

            • It’s almost impossible to get ANY device that does not have at least some parts made/assembled in China. No matter who you order it from.

  • The ESP8266 I recently received from SparkFun is running version 0.9.5 of the AT firmware with a baud rate of 115200. This was too fast for my Arduino (especially for software serial). To lower the baud rate to 9600 I had to connect it to my computer via FTDI and send it the command AT+CIOBAUD=9600. Also, the wiki link in the Documents section labels the inner pins as “NC”. This is incorrect. The pins are labeled correctly at http://www.electrodragon.com/w/File:ESP8266_V091.png. Make sure to connect the CH_PD pin to VCC. I had to discover this via a lot of searching and trial and error. Hopefully this saves someone some time.

  • I realize Sparkfun is just sourcing these modules from China, but I still expect a certain level of quality in product posting, such as including a pinout! I just want a picture, on the product page, telling me for certain what pins do what. You must have tested it - so somebody at Sparkfun knows how to connect the module. I shouldn’t have to crawl through posts and unrelated links hoping to find a pinout. Come on guys! Thought you were better than that - it’s why I buy Sparkfun.

  • I’ve bought a few of these from Sparkfun and they have been working great for me. See my review titled “The little module that could, and probably will!” Most people seem to use this module with TCP connections. I am using it with UDP sockets and there isn’t a lot of information out there. If you need information on using UDP sockets check out this series of articles I have published on a prototype I am creating using the ESP8266 with UDP. Also you can check out my Google+ collection on the ESP8266 prototype here.

  • I looked through all the product links, but I didn’t see an actual pinout for this particular product. They’re not labeled on the board itself; am I missing something obvious?

  • Why are there export restrictions when it was imported in the first place? I know… silly question, just ignore me. I love these, they are awesome.

  • It should be noted that the last three modules I got from here had no firmware installed on them. Easy fix with the electrodragon firmware installer but it did make me doubt my sanity for a moment.

  • Here’s a library I made for these modules that makes logging data to data.sparkfun.com (or other phant servers) a breeze: esphant-arduino

  • Does it support/provide SSL? I can’t find any details about it so I’m guessing not.

  • I read on some of the linked sites that this supports WPA2-PSK. Can this be confirmed (and added to the features list)?

    Also, is there more info on how to use this as an IoT solution on it’s own?

    • I can’t vouch for the WPA2-PSK, but you can find more info on how to write/compile new FW for it here: http://www.esp8266.com/wiki/doku.php?id=loading_firmware

  • A kit is available containing an ESP-12 development system and all parts needed to get started tinkering with a 1-wire sensor system. Here is the store website link for that:

    ESP UNO-WIRE KIT

  • Can I give this thing a fixed IP? (I’ve looked through the Instructables, and only found it as a question without an answer.) My network has DHCP turned off (long story), so I have to manually assign each device an IP address.

    BTW, off hand it looks like a good match for a 3V Arduino Pro Mini.

  • You could have stocked a great, OSHW, EU-made version, that has all the GPIO pins available at a breadboard friendly spacing: https://www.olimex.com/Products/IoT/ The price is pretty good, too.

    • FWIW, I looked at the specified website. They’re based in Bulgaria, and this raises a few issues for customers in the US trying to order directly from them: Some credit card companies will refuse charges from Bulgaria (thanks to some fraud), though it’s much more prevalent for them to refuse charges for things going TO Bulgaria. Some credit cards (but not all) ding you for charges from outside the U.S. (I found this out the hard way when I ordered some parts from a company in Canada.) And then there’s the issue of shipping charges and customs.

      One way to bypass these, of course, is to use U.S. distributors. Both Mouser and Digi-Key are listed on the Olimex web site as “Distributors”, and both have stock of a lot of items, but NOT these, at least not yet.

      • Olimex is a trusted well known website, Sparkfun even carries some of their products. Heck, in a video about the founder of Sparkfun I remember he said Olimex was the reason he created Sparkfun because Olimex’s website and checkout process sucked.

        • webs

          I think that SF started mainly as a distributor for the then market-disrupting low priced (but high quality) developer boards from Olimex. Their website really sucked (it was created in 1995 and moved to a normal new version in autumn 2012). I recently listened to a podcast with Tsvetan Uzunov - the creator and owner of Olimex - it got quite interesting stuff :) They were producing boards for home appliances (white) before the Chinese boom and when thеy entered the DEV business prices there were 1K+ for the boards but they were with the thinking of a mass production company for end-user devices (read high quality, tight schedule and extremely low margins) and they rocked with what were 10-20 $ boards :D He even said that the German distributor didn’t want to write invoices for such low values because the process for making the invoice was pricier than the value of the invoice itself :D And the distributor said “please make all boards 100$” :)) Those would be good times :)

      • P.s. Someone else up in the comments have linked another US store selling the Olimex product: http://microcontrollershop.com/product_info.php?products_id=7067

      • Sparkfun used to have some Olimex products. What I meant was for Sparkfun to stock these for us exactly because low quantity orders would have a higher price because of the shipment costs ;) There are also some ebay sellers but they are killing you with the prices (15 USD vs ~ 6 USD for single quantity/cheaper for more original Olimex price).

Customer Reviews

4 out of 5

Based on 1 ratings:

Currently viewing all customer reviews.

9 of 9 found this helpful:

The Little Module that could, and probably will!

A lot of bang for the buck! Overall it’s a pretty solid little board. It comes preloaded with firmware that implements an AT command interface. I recommend updating to the latest AT command firmware, especially if you are going to use UDP mode of communication.

I haven’t used it with TCP connections, but the UDP mode seems to be very robust. I’ve had it running for over 3 days sending UDP packets every 2 seconds and it’s still going strong, no hiccups with WiFi connection or serial data transmission to and from the module. I’m sure my awesome software design and coding has something to do with it, but the module is holding its own :)

Range seems pretty good, I had no problem connecting to my router indoors from anywhere inside, and I even took my setup on a breadboard out to the furthest point in my yard, about 150 feet from the house and was able to connect to my router down in the basement through solid concrete poured foundation. Not too shabby.

Since they are so economical I bought 2, and I’m glad I did, as the description mentions do not hook this up to more than 3.3 volts. When I went to update my firmware on one of the boards I didn’t have my glasses on and inadvertently connected the GPIO0 to USB 5v rather than ground the next terminal over. When I noticed the mix-up I switched it to ground and successfully flashed the new image, but when I try to boot up normal it just spews garbage out of the serial port, so it is very sensitive to the wrong voltage.

I don’t have any issues with the board, but I can’t bring myself to give it a 5 star rating as I believe that should be saved for special circumstances, even though this module is lots of bang for the buck I feel like there could be a better ESP8266 board so I’ll call it a 4.5 and recommend you play around with one if you haven’t already.

Related Tutorials

ESP8266 Powered Propane Poofer

March 15, 2016

Learn how Nick Poole built a WiFi controlled fire-cannon using the ESP8266 Thing Dev Board!