Can an node mcu 32s program a esp 01 ?

Can i make a porgram that will work wih the esp01 using the nodemcu as aserial to usb adaptor ? Ive tried this pinout :
Esp01 rx to tx esp32 and vice versa gnd to gnd 3v3 to 3v3 enable pin of 32s to gnd of 32s and gpio0 pin of esp01 to esp32s.gnd but it didnt work. Can skmekne help? Dhould j just buy a serial to usb coneverter?

I moved your topic to an appropriate forum category @marinochungus.

In the future, please take some time to pick the forum category that best suits the subject of your topic. There is an "About the _____ category" topic at the top of each category that explains its purpose.

This is an important part of responsible forum usage, as explained in the "How to get the best out of this forum" guide. The guide contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

Unintuitively, this is incorrect.

The reason is that there is an RX-TX, TX-RX electrical connection between the USB to serial bridge chip and the ESP32 microcontroller on the ESP32 board. The pins are marked in the context of the signals on the ESP32 microcontroller (i.e., the pin marked "RX" is connected to the RX pin on the ESP32. This means that the pin marked "RX" is actually connected to the TX pin on the USB to serial bridge chip, and the pin marked "TX" to the RX pin on the USB to serial bridge chip.

Since you are trying to make an RX-TX, TX-RX connection between the ESP-01 module and the USB to serial bridge chip, you must connect the RX pin of the ESP-01 module to the pin marked "RX" on the ESP32 board, and the TX pin of the ESP-01 module to the pin marked "TX" on the ESP32 board.

Another thing you must consider is that if the ESP32 microcontroller sends any serial data on its TX pin, this will interfere with the communication between the ESP-01 module and the USB to serial bridge chip. The ROM bootloader on the ESP32 microcontroller sends some serial data after every reset so even if you uploaded a sketch to the ESP32 board that doesn't use serial at all, it is still possible that the ESP32 could interfere. For this reason, I recommend connecting the "RST" pin to the GND pin on your ESP32 board while you are using it as as serial to USB adapter. This will hold the ESP32 microcontroller in reset so that it can't possibly interfere.

I think it is a valuable tool to have on hand. They are available for a reasonably price on the online marketplaces and other websites where you would buy electronics supplies.

If you buy one, I recommend making sure it uses the standard "FTDI header" pinout:

  • DTR or RTS
  • RX
  • TX
  • VCC
  • CTS
  • GND

That will allow you to plug the adapter right in to boards that use this standard pinout such as the Arduino Pro Mini. If you get an adapter with a non-standard pinout, you would need to use a mess of jumper wires to adapt it to the standard pinout. Some adapters don't even break out the DTR or RTS pin, without which you would need to manually reset some boards at just the right time on every upload.

Stupid chatgpt. I even adked it if the sketch was wrong cause i ve seen other people plug it rx torx and tx to tx but it didnt give a clear answer. I hope nothing bad happenned to the microcontrolers. Btw i know a serial to usb conv is a must tool but idk the esp 32 just got delivered and i have to makea big list to buy things instead of only the converter. Thanks so much for both questions i made you are a lifesaver.

So to end this conversatikn he correct connections shiuld be:
RX RX
TX TX
3V3 3V3
GND GND and Esp 32 rst as well as esp01 gpio0

That is correct.

tried to upload blink but : A fatal esptool.py error occurred: This chip is ESP32 not ESP8266. Wrong --chip argument? I am done uplodaing though cause it didnt stop me and nothing works. at none esp. I use board "Generic ESP8266 module"
is this correct?

@ptillisch please help mr blink doesnt ipload still

I just gave it a try with an ESP-01 module and a "NodeMCU" ESP32 board and it works fine for me.

I should add a note about this thing I wrote before:

I was using my Adafruit Feather ESP32 board as a reference when I wrote that. I noticed that on my "NodeMCU" board, the pin is marked "EN" instead of "RST" as on the Feather board. So if your "NodeMCU" board has an "EN" instead of "RST", then just connect that "EN" pin to the "GND" pin.

This indicates the ESP32 pin wasn't being held in reset. Double check to make sure the EN/RST pin on the NodeMCU is connected to ground.

I. Lnow that the enable pin is rst and ive done that. [quote="ptillisch, post:9, topic:1232786"]
This indicates the ESP32 pin wasn't being held in reset. Double check to make sure the EN/RST pin on the NodeMCU is connected to ground.
[/quote]

It is thiugh so what now

You might have a jumper wire that is damaged or defective in a way that causes it to not conduct electricity. Replace the jumper wire between the EN/RST pin and ground and then try again.

If ,i havent tried yet, but if no cable is damaged what do i do?

Buy a real serial to USB converter module.

Thats oj my list :slight_smile: anyway i wikl try right now and let you know if the cables are damaged

esptool.py v3.0
Serial port COM9
Connecting......................................_____
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header. At least now it recognises automatically its an esp 8266 generic module. Btw it says done uploading (blink program) but nothing happens.

And also i have checked the connections using a polymeter, via ohms. Nothing wrong

Yes! That is definitely progress. It means the ESP32 board is working as a USB to serial adapter now.

I'm confused. The quote above shows an error, which I would expect to cause the upload to fail, but then you seem to be saying that the IDE is indicating to you that the upload was successful:

Please post the full output from an upload:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compilation in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
    The "Preferences" dialog will close.
  5. Attempt an upload, as you did before.
  6. Wait for the upload to finish.
  7. Right click on the black "Output" panel at the bottom of the Arduino IDE window.
    A context menu will open.
  8. From the context menu, click Copy All.
  9. Open a forum reply here by clicking the "Reply" button.
  10. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  11. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the compilation output into the code block.
  12. Move the cursor outside of the code block markup before you add any additional text to your reply.
  13. Click the "Reply" button to post the output.

I currently cant post code i am away from my home rn but i apologise i confused. It didnt automatically find its an esp 8266 generic module. Tgats what i thiught because ive selected frkm before and then it found the com port and then it went bold so ithought it automatically slected it.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.