Hi makers!

Following up on my previous post, I have assembled a PCB with an ESP01/S, and I will also show you how to program it.

  1. Add the ESP 01/01S board to the Arduino IDE (if it doesn't already exist) by entering the link in the indicated field (Arduino IDE → File → Preferences): http://arduino.esp8266.com/stable/package_esp8266com_index.json

Put a comma (,) between the others, if there are others (this is my case). Now we have the path needed to install the board.

  1. Open Tools → Board → Boards Manager and search for "ESP8266", then install the version created by ESP8266 Community.

Now we need to know that there are physical differences between ESP01 and ESP01S. On the ESP01 the red LED is for power signaling and the blue LED is the "built-in" one that can be controlled by program. On the ESP01S we have a blue LED (built-in) that can be controlled by program.

But the pinout is the same.

The diagram below shows how to program the ESP01S using FTDI. Be careful, put the jumper on 3.3V at FTDI, the ESP 01/01S board works at 3.3V.

455167459-5e677741-72c0-4af1-9b5e-e4e633ee9fea.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTIyNTYwNjYsIm5iZiI6MTc5MjI1NTc2NiwicGF0aCI6Ii85MjUzNTYzMC80NTUxNjc0NTktNWU2Nzc3NDEtNzJjMC00YWYxLTliNWUtZTRlNjMzZWU5ZmVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjEwMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYxMDE3VDE2NDkyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFkODg0MzRlZWFhZmJiM2ZiNWY5OWYzYjM3NDU1ZGJhYjdmZWM5MDQxZDE1YWUyMjU2ZDlhMjViMDhiYzM5ZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.smgAzaKq4-cM1rFIZgfNrie2pUHKusBaK5LTAekZOXshttps://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.instructables.com%2FFTDI-ESP8266-Definitive-Wiring%2F&psig=AOvVaw3O8pTu-lbvlt2pClbHsHaq&ust=1749994602547000&source=images&cd=vfe&opi=89978449&ved=0CBcQjhxqFwoTCMiLhoqE8Y0DFQAAAAAdAAAAABAE

Also for the ESP01 board, if you will use a FTDI serial converter:

• RX -> TX;

• TX -> RX;

• Gnd -> Gnd;

• CHPD/EN -> 3.3V;

• VCC -> 3.3V;

• RST -> Button -> Gnd (it actually works with RST/DTR too);

• GPIO 0 -> Gnd;

https://techtalkies.in/2024/02/05/programming-esp-01-in-different-ways/?i=1

Don't forget that in the case of ESP01, after programming, you have to permanently connect CHPD/EN to 3V3. So just powering the board is not enough to make the program run.

My programmer:

455167834-69918532-a034-4be1-a529-a4abfc387532.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3OTIyNTYwNjYsIm5iZiI6MTc5MjI1NTc2NiwicGF0aCI6Ii85MjUzNTYzMC80NTUxNjc4MzQtNjk5MTg1MzItYTAzNC00YmUxLWE1MjktYTRhYmZjMzg3NTMyLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjEwMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYxMDE3VDE2NDkyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE2ZDZlNGVhYmNkNzI2NDA3NDA2Y2M5Yzc0NjM3OGQyZDlmM2QxZmUyZGQ1NWQ0ZmYwOTljMmUyMTI1NjYzMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmpwZWcifQ.Xg1S7I5EPc9-0M_42Yyw-5V1vIWlm2JPHWIRCv8kYqU

Now, if everything is fine, all you have to do is open the "Blink" sketch and make the LED blink.

  
//You can modifiy the next line if your board has the LED connected to another Pin
#define LED 2 // onboard LED ESP-01S -> Pin 2

void setup() {
  // initialize digital pin LED as an output.
  pinMode(LED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
  delay(1000); // for 1 second
  digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
  delay(2000); // for 2 seconds
}
  
  
//You can modifiy the next line if your board has the LED connected to another Pin
#define LED 2 // onboard LED ESP-01S -> Pin 2

void setup() {
  // initialize digital pin LED as an output.
  pinMode(LED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)
  delay(1000); // for 1 second
  digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW
  delay(2000); // for 2 seconds
}
  

The ESP01 board is a little bit different, the built-in LED is connected to pin 1 (change it in the sketch above), you still need to select like this:

And here you can also see a short video. 👍

https://youtube.com/shorts/QKwVWmvhdyg?feature=share

Makers & Education Spaces

No comments yet. Be the first to comment!