ESP-12FThe ESP-12F seems to have appeared out of no-where. It appears to be nothing more than the ESP-12E – perhaps someone can enlighten us. It is cheap, no doubt about it at $2 inc. shipping or around what, £1.32 UK money? This things are now so cheap that the support circuitry around them is now the major cost….

So, nothing concrete but if you want to take a chance, AliExpress have them.

Between that and the SDK v1.4 it’s been an eventful week.

For beginners, there are a host of tiny WIFI-enabled microcontrollers under the generic name of ESP8266 – by ESPRESSIF (they make the basic chip). Variations between the various boards, ESP-01, ESP-03, ESP-07, ESP12/E/F etc. are minimal and involve varying amounts of FLASH memory (RAM etc. is the same in all of them) and different types of aerial, different pinouts etc.

The picture is straight off the Ali-Express site – so don’t take it too literally. If I understand correctly the pins along the bottom are not of too much use as they control the FLASH.


35 thoughts on “ESP-12F

  1. My problem was a bad solder joint. I just successfully programmed the 12-F using the Arduino IDE. My apologies for taking your time. And thank you all who gave me advice. Actually, I learned that I need a jumper to switch GPIO-0 between program mode and operating mode. So now it is time to fix that and my other error and order a new board.

  2. I made a new board with just the ESP-12F and a serial port to test programming it from the Arduino IDE. This time I had what I thought were all the correct pull-ups and pull-downs but I still am not successful. I get the espcomm-sync error. I have tried several different ESP8266 boards in the Tools > Board menu, including Generic, as advised on one web site. So what am I doing wrong? Here is my circuit.

    1. Your schematic does not show a voltage regulator. Other ESP8266 board designs use a 500 mA or higher VR. The FTDI chip 3.3V output is only rated for 50 mA? (check datasheet to be sure). And some boards include a 100 uF cap across the ESP VCC and ground as well to handle current spikes.

      1. As to the cap, there is one already on the ESP-12F. Here is what I believe to be a circuit diagram of the 12-F.

        If I had a 5V power source, I would need a 3.3V regulator but I am powering the 12-F from the FTDI, which is already 3.3V. Looking at the circuit diagram for SparkFun’s The Thing, which is also an ESP8266 board, it uses the VCC pin of the FTDI to directly power the ESP8266, and not through a regulator. So I think this works OK.

    2. GPIO0 – that pullup should be to +v not ground. I usually put a pullup on GPIO2 but that’s more to do with our software.

      1. …and if I can just get in here before Don replies again. 🙂 As Pete says, the 10K on GPIO-0 needs to be a pull-up, not a pull-down, but it should also have a jumper (or switch) to ground to enable programming mode.

        Did you make sure to exit the “Serial Terminal” window of the IDE before trying to program?


          1. They’re using DTR (with the little chunk of circuitry just above the “Creative Commons” label.).

            GPIO2 is pulled-up by default on their board because of the i2c resistor.

            As an aside …I’m puzzled by Q1 in their PSU section. I’m assuming that it’s there to turn off the supply from the battery when the USB is connected, but it looks like its back-to-front. The source should be on the VBAT side and the drain on the on the VIN side. Anyone else want to comment. Did they just draw it the wrong way round on the diagram?

      2. Yeah, I know. But the mistake here is on the diagram I posted. I had a mistake on my board in which I had no pull-up or pull-down on GPIO0 and I correctly modified the board manually. But when I prepared a modified schematic to post here, I screwed it up. DOH!

        So GPIO0 is correctly pulled up thru a 10K resistor to VCC and I still have the problem. Maybe I just need to pull GPIO2 low.

        1. As a matter of interest I also pull GPIO2 high by a resistor – don’t think it is necessary but works for me.

  3. Hi, I just tried programming my ESP-12F using the Arduine IDE. i am using a 3.3V FTDI device to convert USB to RX TX signals. The RX on the FTDI is connected to TXO on the ESP-12F and TX on FTDI is connected to RXI on ESP-12F. I set the board in the Arduino Board manager to ESPino, which is ESP-12 based, which is the closest board I could find. I have not been successful. I get the espcomm_sync failed message. Any suggestions?

    1. Don,

      Have you got all of the pull-ups and pull-downs in place and a jumper from GPIO-0 to ground? (the information on the jumpering is widely available).

      If you’re using Linux, you might find that your USB adapter changes devices when you unplug and plug back in (especially if you have the IDE Serial Terminal option open… it holds the original device open, even when you unplug the adapter). If your IDE is a very old version, having that Serial Terminal open will prevent the flash being programmed, so try closing it first.


      1. I made the assumption that everything would be taken care of for me, like with the WeMOS product I was familiar with. That was silly. Here is what I believe to be the schematic:

        I did not look at this before designing my circuit board but I guess I should have. There is a note that GPIO15 needs to be connected to ground thru a resistor (omitting the size of the resistor) but it says nothing about a jumper on GPIO0. Maybe if I connect DTR on the FTDI to GPIO0 it will take care of that. I think that is how it is done in the Arduino universe. Also, it looks like I need to pull EN up to 3.3V. I am looking now for more info on pull-ups and pull-downs and usual values for the resistors.

  4. Hi

    I just bougtht a couple of ESP-12F and tried flashing with EspEasy.

    I have connected this way:
    GND — 0V
    00 — 0V
    15 — 0V
    RX — TX on serial
    TX — RX on serial
    VCC — 3V3
    CHPD — 3V3

    And reset with RST to 0V

    Then flashed using EspEasy flashing tool using 4096 as size and r78

    Flashing went ok.

    Then connected this way:
    GND — 0V
    15 — 0V
    RX — TX (Tried connecting and without connecting)
    VCC — 3V3
    CHPD — 3V3

    but I don’t see the AP that EspEasy should create.

    I’ve tried several times, but no change.

    What can I check?


  5. Hi. I bought this esp8266-12f online for $4. The thing is I’m unable to find proper documentation for pinouts and datasheet related to this module. Have you had some hands-on with this module, or do you know where to look for the related documentation. I’m really struck here.

  6. Hi, i read the range was better with this esp-12f and it’s true, i have tested with the esp-12 and esp-07 and on my smartphone i’ve +1 bar for the esp-12f(on 4 bar). I can’t realy do a real test because idk how to do :/.
    Another thing: this esp-12f need the same connectors than the esp-12 for the flash but for power it, for a normal use, we need to connect only the vcc and the grd(so no GPIO15 an CH_PD) !

    1. Hi. I bought this esp8266-12f online for $4. The thing is I’m unable to find proper documentation for pinouts and datasheet related to this module. Have you had some hands-on with this module, or do you know where to look for the related documentation. I’m really struck here.

      1. The pinout is the same as the rest of the ESP12s. It’s just the same with a slightly different aerial layout.

    1. Yes but I don’t think I’ve seen anyone using them – possibly not wanting to interact with the SDK use of them – still it would be nice if someone proves that to be rubbish.

          1. Using the Arduino IDE 8266 plugin.

            Connected the APA102 strip to pins 13 (MOSI) and 14 (SCLK) (and the two other strip pins to +5v and ground).

            Then used the HSPI constructor in the DotStar library

            Adafruit_DotStar strip = Adafruit_DotStar( NUMPIXELS, DOTSTAR_BRG);

            Works fine as does the bitbanging approach (which uses a different constructor specifying the pins to use for MOSI and SCLK).

  7. The antenna is obviously different. It’ll be interesting to see if there’s anything else
    (at least it doesn’t have the almost-impossible-to-solder pin pitch of the ESP13).

    1. I hope someone gets one soon to compare antenna.. not that there’s anything wrong with the antenna on the ESP-12 but you can always do with more signal.

Comments are closed.