I'm programming an ESP-12E module using the Arduino support package. My setup requires a logic level inverter on the Tx pin (only). I built the following which is working OK :


simulate this circuit – Schematic created using CircuitLab

However the ESP8266 will not boot with that attached to it, I need to unplug it at boot time and plug it back in after. Then everything works fine.

Why is this causing the ESP to not boot ? And how can I make it boot anyway?

(What I tried : a 10K pulldown from Tx to Ground. No effect)

  • \$\begingroup\$ do you have to use TX? \$\endgroup\$ – dandavis May 19 '18 at 19:54
  • \$\begingroup\$ @dandavis yes, my application requires transmitting inverted serial data. \$\endgroup\$ – FrProg34 May 21 '18 at 6:15
  • \$\begingroup\$ you can use softwareserial on a pin without SPECIAL assignments \$\endgroup\$ – dandavis May 21 '18 at 19:07
  • \$\begingroup\$ @dandavis This is right. However my application requires sending the data at 100000 bauds with strict timing requirements that make softserial still « working » but very unreliable... Maybe there could be a way to activate the inverter once the chip is initialized ? \$\endgroup\$ – FrProg34 May 21 '18 at 19:20
  • \$\begingroup\$ can you use an n-chan fet instead of a bjt? that way, you don't pull down the gpio during reset,m since gates are insulted. \$\endgroup\$ – dandavis May 21 '18 at 19:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.