How to Configure a Programming Circuit for an ESP32 Module

Поділитися
Вставка
  • Опубліковано 20 жов 2024
  • In the video we look at how to design a circuit for programming an ESP32 module. We also explain the Strapping Pins on the ESP32 and how they work.
    Link to USB Type C tutorial: • How to Configure a USB...
    Support ForceTronics on Patreon: patreon.com/forcetronics

КОМЕНТАРІ • 52

  • @trhosking
    @trhosking Рік тому +14

    1. Sender, in this case the PC, asserts RTS (Request to Send) to initiate handshake.
    2. Receiver asserts CTS (Clear to Send) to indicate that it is ready to receive data.
    3. Sender asserts DTR (Data Terminal Ready) for the duration of the transmission.
    4. Sender transmits data continuously. The receiver may lower CTS during the transmission to exercise flow control.
    5. Sender lowers DTR and RTS to end transmission.
    6. Receiver lowers CTS.

  • @andychess
    @andychess 9 місяців тому +3

    Excellent video. Thank you for taking the time to explain this everyday topic that most of us take for granted. It was 25 mins of time well invested as I learned a huge amount.

    • @ForceTronics
      @ForceTronics  8 місяців тому

      Glad you found it useful. Thanks for the comment

  • @blakel95
    @blakel95 4 місяці тому +1

    Brilliant, been looking all over for help on adding USB programming like the dev boards have.

    • @ForceTronics
      @ForceTronics  4 місяці тому +1

      I'm glad you found it helpful!

  • @mathieuegmann9345
    @mathieuegmann9345 8 місяців тому +2

    Very good explanation, thank you.
    Regarding the mosfet, I would recommend the 2N7002.

  • @BenM0
    @BenM0 6 місяців тому +1

    What a great explanation! Thanks for sharing!

    • @ForceTronics
      @ForceTronics  6 місяців тому

      Glad you enjoyed it, thanks for the comment

  • @aboumohamed4467
    @aboumohamed4467 8 місяців тому +1

    Good job. Well Explained and excellent video.
    I was trying to program an ESP32 WROOM and was able; by using another ESP32 module (EN of the module is connected to GND) and connecting TX0, RX0 to the WROOM + 3V3 + GND.
    EN of the WROOM had the resistor 10k to 3V3 with a 100nf to GND + push button to GND (RESET button).
    GPIO0 of the WROOM is also connected to 100nf to GND + push button to GND (BOOT button).
    To program, press both buttons, then release the reset button. ES32 will start uploading.

    • @ForceTronics
      @ForceTronics  8 місяців тому

      Glad you enjoyed the video. Thank you for sharing another way to program a ESP32, I will give it a try!

  • @soloperformer5598
    @soloperformer5598 Рік тому +2

    Very clear and concise, thank you.

  • @steinamrhein2
    @steinamrhein2 Рік тому +6

    Hi, I just discovered your channel and am absolutely blown away. Super cool content and very well delivered! One question I have though, on the newer esp32 s2 and s3 they have a USB to uart chip already integrated in the chip (at least as far as I understand). How can I flash my software onto these? Do I also need to pull down GPIO 0 to do that or is this already implemented like you did in the internal USB to uart chip?

    • @ForceTronics
      @ForceTronics  Рік тому

      I was not aware of this functionality in the s3 so thanks for pointing it out. From reading the data sheet it appears you are correct but I could not find a place in the datasheet that explicitly says that but plenty of references to "USB Serial." If you look at page 23 of the datasheet it says that strapping pins GPIO0 and GPIO46 must be pulled low to enter the download boot mode.

  • @m.4074
    @m.4074 Місяць тому +1

    Very good Video. Only thing which may was left out is that the ESP32 S series has build in USB. So in that case no UART converter is needed.

    • @ForceTronics
      @ForceTronics  Місяць тому +1

      Hey thanks for the comment. The reason I chose to go to USB to UART is because that is the interface you can upload code to the ESP32. You can't do it through the native USB port.

    • @m.4074
      @m.4074 Місяць тому

      ​@@ForceTronics Sorry then for the comment in the first place. I didn't know that the upload is exclusively possible using UART interface. I thought it would be possible as far as you trigger the RTS pin and set the striped pins. Also a thing a I have now learned by you!

  • @shoelessone
    @shoelessone 19 днів тому +1

    This is gold

  • @haonamtran8061
    @haonamtran8061 Рік тому +1

    thanks for sharing quality knowledge

  • @BuildandTinker
    @BuildandTinker Рік тому +1

    Great video , thanks for taking the time to do this. Can you tell me what part no. you would recommend for the mosfets? Many thanks

  • @Farismujkic-n6c
    @Farismujkic-n6c 3 місяці тому +1

    The video was well explained. However, I have a question. If we have uploaded our code and no longer need the USB connection to the computer, and at some point our device resets (either intentionally or unintentionally), IO2 has a low value, causing the ESP32 to enter boot mode, which we do not want. How can we resolve this issue?

    • @ForceTronics
      @ForceTronics  3 місяці тому

      Thanks for the comment and great question. To enter boot mode there are two pins you need to worry about IO2 and IO0. if only one of them is in boot mode then the ESP32 won't enter boot mode. The way I typically approach this is I allow my application to use IO2 as a GPIO pin but ensure the ESP32 can put it in the default state needed for programming. The IO0 pin is the one that you can't count on the ESP32 controlling for you so I leave that pin free for programming only. Hope this helps

  • @fabiosuriano5433
    @fabiosuriano5433 Рік тому +2

    Hi, what if I want to send keyboard data via uart? If I understand correctly RTS goes high and I enter in configuration mode even if I don't want to? Correct?

  • @borisivankovic4550
    @borisivankovic4550 Рік тому +1

    Nice! Thanks for this video!

  • @NotMarkKnopfler
    @NotMarkKnopfler Рік тому +1

    RTS = Ready to send 👍

  • @christy7557
    @christy7557 2 місяці тому +1

    Strapping pins are advisable to use the Push button and LED??

    • @ForceTronics
      @ForceTronics  2 місяці тому

      Not sure that I understand your question. Esp32 strapping pins can be used for other functions in your design as long as those other uses don't interfere with their functionality as strapping pins.

  • @NemonicanatLarge
    @NemonicanatLarge 7 місяців тому

    As far as the mosfets - you have to use the type for digital circuits

  • @sanyikacsatornacskalyaerde6605

    Great video!!

  • @mak8221
    @mak8221 Рік тому

    Hi Tnx for covering the datasheet completely on this section, I used 2 transistors instead of MOSFETs in my design I used the esp32 chip directly that I'm starting to regret, because first of all it won't go into download mode, DRT and RTS are HIGH, I tried to used a jumper and 10K resistor for strong pull down, yet no luck same error:" Esp32 :No serial data received." The TX led on my design blinks when I try to upload the code but then I receive the error, upon further investigation I noticed that my chip has no internal flash memory, could it be the reason for the error?

  • @deepakkoirala2296
    @deepakkoirala2296 9 місяців тому +1

    Good info !

  • @sepehrsaberi4360
    @sepehrsaberi4360 5 місяців тому +1

    I hope you're doing well. As a developer interested in ESP32-related projects, I'm seeking guidance on how to program the ESP32 WROOM 32D using an ST-Link V2.
    Could you provide some insights into this matter? I would appreciate it if you could direct me to useful resources, relevant instructions, or any tips that could assist me along this path.
    Thank you very much,

    • @ForceTronics
      @ForceTronics  5 місяців тому

      Hello, I don't have any experience using a ST-Link programmer so I can't provide any guidance. If you're looking for an off the shelf programmer you could go with the ESP-Prog. It is low cost and easy to use

  • @midianalbertokhaiyow8195
    @midianalbertokhaiyow8195 Рік тому

    I liked your way of explaining so I joined the channel, can I ask you a question?
    I have a program in the arduino IDE, it runs in a dev module, with a wroom chip, and I bought some SOLO-1 chips, what I did was remove the wroom from the module and solder the SOLO-1 chip. but in the arduino IDE it doesn't exist, or I don't know which module uses the SOLO-1 chip..so I tried to program choosing boards at random and although the IDE shows that it is programmed correctly, but in reality it doesn't run, do you know something about this SOLO-1 chip?

    • @ForceTronics
      @ForceTronics  Рік тому

      Sorry, I don't have any experience with the Solo-1 chip so I can't answer your question

  • @nelisbrink7113
    @nelisbrink7113 Рік тому

    If the CH340C is powered by 3V3, does the chip have some internal circuitry to deal with the D+ and D- voltages at 5V? I can't find any more info on that, hoping you would have some insight?

    • @ForceTronics
      @ForceTronics  Рік тому +1

      Great question and that is my understanding that those input pins are 5V tolerant. I didn't see it documented well either but figured they had to be based on their target application and confirmed by looking at some reference designs

  • @sc0or
    @sc0or Рік тому +2

    These are not “simple” MOSFETs, cause the voltage is 3V3. Not many of them operate with such voltage on a gate.

  • @JM_Tushe
    @JM_Tushe Рік тому +1

    Thank you!

  • @TheOldKid
    @TheOldKid Рік тому

    I bought an s3 wroom a few months back. Once it came in the mail i jumped on arduino ide and realized it wasn't one of their boards. After going to the venders sight for some info i found there wasnt much. After several failed attempts to get the camera going i threw it in a drawer. Lesson learned. Ill buy from more well known vendors. Freenova was a let down

  • @embetronix
    @embetronix Рік тому +1

    Can you name the MOSFETs which you have used?

    • @ForceTronics
      @ForceTronics  Рік тому

      The BSS138 N Channel MOSFET is my go to for low power applications. It is a generic part number and various companies make it.

    • @embetronix
      @embetronix Рік тому

      @@ForceTronics Looking at the specs, I think it can also be done using S8040/J3Y NPN Transistor. Am I correct? Actually I have a lot of these lying around with me.

  • @daviddunn7817
    @daviddunn7817 Рік тому

    I purchased a sparkfun USB-C to FTDI adapter then realized too late that it doesn't have the mosfets to toggle the RTS/DTR IO0/EN pins like they need to be (it just brings RTS/DTS straight out the header). Does anybody make a board that has the CH340 on it w/ the RTS/DTS toggled to a header ? Thanks !

    • @ForceTronics
      @ForceTronics  Рік тому +1

      There is a programmer board for ESP32 called the ESP-Prog. It has the config shown in my video for programming ESP32 chips / modules and you also can do serial comm with it

  • @Edmorbus
    @Edmorbus Рік тому

    Good day can you help me design for Four 12v battery with esp32 12v Battery monitoring

    • @ForceTronics
      @ForceTronics  Рік тому

      Sorry I do not have a video on that topic

  • @alirezaasad8822
    @alirezaasad8822 Рік тому +1

    👌👌👌👌👌🔥

  • @Koroleva_O_A
    @Koroleva_O_A Рік тому +1

    Good day. Do you make robots?

    • @ForceTronics
      @ForceTronics  Рік тому

      Exciting area, but unfortunately i do not