ESP-01 Module Programming Board

20,095

35

6

Introduction: ESP-01 Module Programming Board

About: Software developer but I love electronics, wood, nature, and everything else as well.

Additional information and document update here on my site

https://www.mischianti.org/2019/01/14/esp-01-modules-programming-board/

ESP-01 is low cost esp8266 module, with built-in WIFI.

It was created as Arduino WIFI module, but It's more power than an Arduino, than now if you must do a little module to control a relay or some simple digital datalogger It's the best solution.

You can find news or update about this board here.

Step 1: Specs

Exists some variant of this module, but all have a processor L106 32-bit RISC microprocessor core based on the Tensilica Xtensa Diamond Standard 106Micro running at 80 MHz, when you buy one of It you must pay attention only on Flash, some have 512 KiB Flash, other 1MiB

Pin Definition

  • VCC: Power 3.0 ~ 3.6V
  • GND: Ground
  • RESET: External reset signal (Low voltage level: Active)
  • CH_PD: Chip Enable. High: On, chip works properly; Low: Off, small current
  • GPIO0: (FLASH) I/O General purpose IO, If low while reset/power on takes chip into serial programming mode
  • GPIO1: (TX)I/O General purpose IO and Serial TXd
  • GPIO3: (RX)I/O General purpose IO and Serial RXd
  • GPIO2: I/O General purpose IO and Serial1 TXd

Step 2: Programming

As you can see this module haven't on board usb so the easiest way to program is to use a USB to TTL converter, you can find it at 0,50$.

I have some problem with more expensive FT232RL or FT232 module, instead a CH340G or CH340 working very good.

Step 3: Base Connection to Programming

The base connection schema is quite simple, you must put 3.3v on VCC and CH_PD (to power and enable), then put on GND the GND and GPIO0 (the last to put module on programming mode), than connect RX to TX and TX to RX.

Step 4: Configure Your Ide

Than you must configure your Arduino IDE, first you must add new board in Boards Manager.

In the board manager, the board to select is esp8266.

Now you can select generic esp8266 board from the list of board

Step 5: Programming Board

This process is tedious, you must connect then remove connection and so on, and to use all pins It's very tedious.

My solution to this problem is to create a programming board (I'm fan of service board).

The functionality is:

  • External power source to give more ampere to the circuit;
  • a switch to select programming mode and than release the GPIO0 pin;
  • 2 switch to activate RX and TX and than to grant the use of that pin for the circuit;
  • a reset button to start programming.

Step 6: PCB Prototype

Check my site for additional information https://www.mischianti.org/2019/01/14/esp-01-modules-programming-board/

Step 7: Result of Milling Process

I'd like to add the result of my old glorious router (created with an epson scanner and printer), quite rough but ok.

There is also a bug fixed by wire (in the file I give you is no more present).

In a few days I hope to add the tutorial to create my new CNC, and the tutorial to create a gcode. This site is a working in progress.

Step 8: PCB Assembly

Now start to assembly the board.

Step 9: How to Use the Programming Board

The usage is quite simple:

First insert esp01 in the board, than connect GND to GND, TX to RX and RX to TX of TTL to USB converter.

Now you are ready to program, I add some usage examples.

Upload a blink file

  • In the board you must set the left switch in programming mode than click the resetbutton.
  • Check that the switch of RX and TX It's in trasfer mode. Than start upload the sketch.
  • When finish put in "use mode" the board to put the programmer pin free, and the button to put TX in "use mode".
  • So you can check that external led blink because BUILTIN_LED is connected to TX pin.

Step 10: Use All 4 Pins of the Board

  • In the board you must set qith left switch in programming mode than click the resetbutton.
  • Check that the switch of RX and TX It's in trasfer mode. Than start upload the sketch.
  • When finish put in "use mode" the board to put the programmer pin free, and the button to put RX and TX pins in "use mode". So you use all 4 pin to control the led.

Step 11: Use 3 Pins to Control Led and One to Serial Debug

  • In the board you must set the left switch in programming mode than click the resetbutton.
  • Check that the switch of RX and TX It's in trasfer mode.
  • Than start upload the sketch.
  • Connect the serial monitor to the correct port.
  • When finish put in "use mode" the board to put the programmer pin free, and the button to put RX in "use mode".
  • So you use 3 pins to control the led and TX to debug the program.

Step 12: Thanks

If you have problem or other write comment or open topic to the forum.

PCB Contest

Participated in the
PCB Contest

Be the First to Share

    Recommendations

    • Mason Jar Speed Challenge

      Mason Jar Speed Challenge
    • Bikes Challenge

      Bikes Challenge
    • Remix Contest

      Remix Contest

    6 Discussions

    0
    PavelL16
    PavelL16

    Question 4 months ago on Step 11

    Dobrý den, Koupil jsem si modul ESP-01 a po připojení na napájení se modul hlásí jako ESP_DA84A8 wifi bez hesla. Potřeboval bych jej konfigurovat na moji WIFI síť SSID a password. Nemám připojení přes sériový port mám pouze wifi možnost. Neexistuje nějaký nástroj, který by uměl změnit nastavení modulu přes wifi?

    0
    kamil47
    kamil47

    Question 1 year ago

    Nice and useful project. To program ESP8266 01 without programming board is not so easy.
    But anyway, can you provide some schematics? I can follow and trace wires from the breadboard (STEP 5), but I prefer to clearly see how components are connected.

    0
    warhawk8080
    warhawk8080

    1 year ago

    Very Awesome! I used an arduino as a passthru and a 5vdc converter module to program mine as a wifi repeater and as a 3D Printer controller
    This is such a great design...good job!

    0
    xxreef
    xxreef

    Reply 1 year ago

    Thanks,
    I used an Arduino as well.
    To check the 3D printer I was interested in this project https://octoprint.org/.
    In this card is missing a pin dedicated to serial debugging with Serial1 (I publish update on my site www.mischianti.org soon).

    In my work in progress, a Solar panel Inverter web centraline

    ( https://www.youtube.com/watch?v=uInRM3YqIv0 )

    I use a D1 wemos as server REST and Web I have found that the debug pin is really useful when you need of a serial hardware interface.

    0
    warhawk8080
    warhawk8080

    Reply 1 year ago

    Oh yeah...octoprint rocks for 3D printing...I use it on 2 of my printers...I just wanted a wifi board and pronterface...
    It's amazing how much can be accomplished with such a tiny little board