Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Ray Marshall
#94770 The problem with the Rx pin on D1 Mini is that it is connected to the USB/UART converter chip.
So you would hope it is high impedance and can easily be driven - but you are really seeing the impedance of the USB chip output pin.
A real WEMOS D1 mini has a 500 ohm resistor in series so you can overdrive that output, but many of the clones omit this series resistor, making the Rx pin unusable.

But do not despair!
You have two options:
SoftwareSerial is a library that implement UART on any pair of pins you choose. Pick two unused pins and connect your serial there. 9600 baud is quite within the capability of SoftwareSerial.
Or, ESP8266 has a neat feature that can swap the TX and RX pins away from GPIO1 & GPIO3 to GPIO13 & GPIO15. So you connect serial data to GPIO13 & GPIO15 and use the command Serial.swap(); to swap the pins.
But beware, GPIO15 needs to be pulled low during reset for the ESP8266 to boot. So don't do anything that pulls GPIO15 high during reset

I hope that helps

User avatar
By UN26uxx
#94838 Hello Ray,

Thank you for the reply. I made some trials and I have been able to make some progress with it.

So I tried the solution of swaping Tx/Rx on GPIO13 & GPIO15 with success.
But I faced to the issue you highlighted here :
Ray Marshall wrote:But beware, GPIO15 needs to be pulled low during reset for the ESP8266 to boot. So don't do anything that pulls GPIO15 high during reset

Do you know a solution that can lead the GPIO15 to an open circuit during ESP8266 start-up, then close the circuit to let the information go the the stove ? I mean a kind of switch that can be control by another third pin output.

I made some trial to put a double NAND between the ESP and the stove, and plug the +3.3V on NAND only after start-up, but seems to not work on all cases (I also have some trouble with my power supply cable, so I don't know where the issue is coming from). Do you think it is a good solution ?
If yes, I can send the +3.3V after start-up by a third pin output by putting a wait at "setup" function then switch on the pin.
User avatar
By Ray Marshall
#94852 GPIO15 is the Tx pin.
So it is an output once you have run Serial.swap().
But during reset it is an input. And your board should have a pulldown on that pin. Probably 10k.
So it all works fine as long as you have not added a pull up on that pin as well. If you have, the ESP8266 will not boot.
Send your circuit so I can see what you are trying to connect
User avatar
By UN26uxx
#94862 Hello,

The circuit is currently like on attached picture (not sure about the Rx pin, is it on n°13 or on D7. Anyhow It's correctly plug on my physical D1 mini board).

As far as, I unplug Tx from the board during stat-up, it's works fine, meaning I can send request and receive answer from the stove, but when the Tx is plug it most of the time dosen't start-up.
The issue I have is that I don't know what is the internal circuit of the stove. But I know that once the circuit is plug the nominal voltage is 3.3V continuous coming from the stove.
You do not have the required permissions to view the files attached to this post.