Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By rudy
#76708
Code: Select allvoid setup() {
  pinMode(0, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(0, HIGH); 
  digitalWrite(12, HIGH);
  digitalWrite(13, HIGH);
  delay(1000);                   
  digitalWrite(0, LOW);   
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);
  delay(1000);                     
}


Works perfectly fine for me on both ESP-12E and ESP-12F modules. But then, I believed it should have worked. You just need to have faith. Don't underestimate the power of placebos. ;)
User avatar
By Erik84750
#76709 Hi Rudy, can you measure the actual output state, ie use a scope or connect a LED that shows the output effectively being 0,0V?
Writing software that drives an output either low or high is simple, but obtaining the actual result on GPIO0 as an output would be interesting to actually see happening for me.
User avatar
By rudy
#76711 Your kidding right?

I tried this on my favorite development platform. It uses a ESP-12E. I have GPIO0 and GPIO2 used for I2C communications. I have a level translator on that board so I can reliably drive a 5 volt I2C character LCD. I have leds connected from Vcc to the IO pin.

All of my development boards have ESP-12E. I have lots of ESP-12F waiting but none that I could use to test this. It really should not have mattered, but I was sure you would say that there must be a difference between the E and the F, causing it not to work for you. So I looked for something I had with an F. I then remembered this.

ESP2_1.jpg


It is a board I designed for work a couple of years ago, but we never got around to developing any software for it. The F had just come out and that is what I purchased for it.

I I loaded the test code and I connected and led from Vcc to GPIO0, and then ran the code. And of course it work just as well as on the E. So I went a lot further than I initially planned.

But then I thought you might say that the pin was only sinking current, and that it would no be able to source current, an led from GPIO0 to gnd. So I connected it all up again and I connected the LED (with series resistor) that way, and of course it worked just fine.

No scope but I did use a DVM to measure the high and low voltage. And the low state goes down to 0.12 volts. High is 3.29 volts, but that is not with it sourcing current.

I don't know what you tried, how you did your tests, but you must have done something wrong. There is no reason for it to not work. If your program is running then it should work.
You do not have the required permissions to view the files attached to this post.
User avatar
By Erik84750
#76717 Your response is much appreciated.
How do you program your ESP8266? I use an autoreset circuit that connects CH_PD and GPIO0 to the DTR output of a FTDI serial interface to USB (set to 3.3V levels on the TX/RX).
The CH_PD is connected to DTR with a 100nF ceramic cap, and to 3.3V with a Schottky diode, cathode to 3.3V as well as a 10k pullup. The GPIO0 is connected to DTR with a Schottky diode, cathode to DTR, a 330pF cap to GND and a 10k pullup to 3.3V.
Now I start to wonder if this would damage the GPIO0 onboard output circuitry.

If I get the time today or the coming days I will experiment with a new but manually programmed ESP8266.