Program/Flash the ESP8266MOD ESP-12 Module Using the Witty Board and Arduino IDE

106K2819

Intro: Program/Flash the ESP8266MOD ESP-12 Module Using the Witty Board and Arduino IDE

This Instructable will guide you through the process of wiring, configuring and flashing an ESP8266MOD also known as ESP-12 module using the Witty Board.

I have tried various paradigms to flash the ESP8266MOD modules and I do not have a stable solution. In my experience, almost all had some hiccups and were unreliable. Additionally, I wanted to have a clean setup that would work every time.

In this instructable the word program and flash are interchangeable.

STEP 1: Things Needed

Things needed

1 - ESP8266MOD module

1 - ESP8266MOD module adapter plate with pins

1 – Lower half of ESP8266 Witty Board

1 - AMC1117 or XC6206P332PR 3V3 regulator (I used AMC1117)

1 - LED

1 - Micro USB data cable

STEP 2: Why Use ESP8266MOD?

WeMos D1 mini are fairly inexpensive. They come with the CH340 USB to Serial controller chip. Why go through the hassle of using the ESP8266MOD?

The only reason I would not use an integrated WeMos D1 mini is to limit my power consumption and extend the battery life apart from saving a few dollars. The CH340 chip and its associated components draw valuable power and are only required during programming. If it is a remote unit operating on battery power, you might want to consume the least possible.

STEP 3: ESP8266 Witty Board

The ESP8266 Witty Board is a two-part module with the ESP8266

module on the top board whereas the communication and flash circuitry on the bottom board. For our purposes, we will need the bottom board which we will call the programmer.

The programmer consists of the communication IC CH340 along with a micro USB port, a RESET and a FLASH switch.

There are two rows of headers to receive the pins from the adapter plate.

STEP 4: Preparing the ESP8266MOD Module

This part involves five steps in the sequence listed.

Remove the register in the middle, ensure that the two pads are not connected/bridged.

Solder the ESP8266MOD on the adapter plate.

Solder the pins

Solder the LED on GPIO 14

Solder the regulator. If you are using the XC6206P332PR the pads match with the pins of the regulator. I do not know if this is the case with XC6206P332MR (significantly cheaper).

STEP 5: Programming the ESP8266MOD

The instructions to flash/program the ESP8266MOD is described in the following Instructable - Programming the ESP8266 WeMos-D1R2 using Arduino software/IDE. Be sure to select the Board as WeMos D1R2 & Mini. As the program is compiling and uploading to the ESP8266MOD module, hold down the FLASH switch until the upload is complete.

STEP 6: ​List of Other Instructables I Have Written

18 Comments

Thank you. I would not like to shell out $22.

A witty board with a esp8266 module costs $3.50

hi, do you mean "the RESISTOR in the middle"? what is the point of doing that? what is it bridging? thanks.
It's marked on the diagram above and is a zero Ohm link as the manufacturer assumes the board will be supplied with 3v3 by the user. Consequently with the zero Ohm link in place the PCB pin marked Vcc is electrically connected direct to Pin 8 of the ESP8266-12.
If you intend to power from >3v3 then you can solder a 3v3 series shunt regulator to the handy pads on the back of the PCB. However to do so you would need to remove the zero Ohm link so as to feed the Vcc through the regulator.
Also note you would need to use a SOT-89-3 such as the Torex XC6206, though you should really fit 1.0uF ceramics as in the datasheet. However, the pads for which have been missed off.
thanks! what i found worked consistently across all ESP8266 boards (thus far) is that **GPIO0 and GPIO15 must be tied to GND, CH_PD must be tied high and REST must be tied to GND briefly (and released)** to put the ESP8266 into programming mode. You can use the 3.3V from a Witty's base board. I found it simpler to use 2xAA batteries and put a 470uF capacitor across or to use a voltage converter board that came with an ESP8266 i purchased off of ebay. This way, I can use the WItty board OR an FTDI board (which does not provide enough power to on Vcc to run the ESP8266). See the attached image. Ignore the first image -- i wasn't able to delete it. the second is the updated one.
Thanks for your images and info.

Can i use lower witty board as USB to TTL adaptor ? Can you show me how to wiring diagram for that, please ?

This Instructable is about using the lower witty board as a usb to ttl adopter. You can google for the circuit diagram for the witty board.

Thanks! I've read about you solution again.

Can you tell me how to connect AMC1117 pin to lower witty board

AMC1117 is soldered to the ESP8266 board and not the witty board. I believe you could solder it on the witty board. If you do so plese let us know how you did it.

I plan to use the lower witty board to flash other MCU have 3.3V Vcc but it uses 5v input via micro-USB. So I think I need to add AMC1117 to the lower witty board, that's right?

Did you manage to use this board with wifi? I can't find anything

Yes I did. You might want to look at some of my other Instructables for programming tips.

I will. I flashed it with LUA, with Arduino's ESP12E (or Wemos, as you recommended), nothing gives me any return on wifi whatsoever.