0
\$\begingroup\$

EDIT: I have just tried a brand new esp8266 and the AT commands work. But on 3 others it did not. Would this be because I have uploaded code to them?

I have an esp8266 ES01, the small basic one. I am connecting to the Arduino IDE 1.8.15 via a USB module, with a soldered toggle-switch across the pins to allow it to be in flash mode or not.

I am able to successfully upload the blink code example from the arduino IDE and it works, the LED blinks. I can also send text from the esp8266 via the serial and can read it in the arduino IDE.

But I cant seem to connect to it via any AT commands "AT" or "AT+GMR". I have tried Baud 9600 and 115200 but keep getting an error message.

Any ideas what I would have to do to connect? or why there would be an error? If i try it with the switch in the opposite position it sends, but I get nothing back.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at processing.app.Serial.write(Serial.java:254)
    at processing.app.Serial.write(Serial.java:274)
    at processing.app.SerialMonitor.send(SerialMonitor.java:122)
    at processing.app.SerialMonitor.lambda$new$1(SerialMonitor.java:66)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
\$\endgroup\$
2

2 Answers 2

1
\$\begingroup\$

This is a bug in the Arduino IDE. I think the solution is to use a different terminal program to communicate with the ESP8266. For instance, you can use the freely available program "Putty" as described here:

ESP8266 with AT Commands – Connect from PC with PuTTY

http://flower-platform.com/2015/12/16/esp8266-with-at-commands-connect-from-pc-with-putty/

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for the reply, I have tried it in Putty but the console seems to freeze upon connection and It wont type anything on the console if I press a key. However putty works again for the ESP module that I had not yet uploaded any code too. Is it possible that uploading the code removed the AT Firmware? \$\endgroup\$
    – Ciribear
    Commented Jun 12, 2021 at 1:14
1
\$\begingroup\$

I suppose your problem is long past solved but I'd like to put an answer on the web in case anyone in future finds the same.

I too encountered this error with an ESP32 based device I'm working on. It happened on one specific computer in the office and not others.

What happened was the device during its high current operation part, the COM-port kept getting disconnected.

For me the possible reasons for the serial communication breaking were:

  1. Really long USB cable (3.5m) (use as short as required.)
  2. The USB hub they were using. (Eliminate, if any.)
  3. The onboard CP2102 was getting browned out during the high-current phase. (Check VDD on CP2102/CH340g/whatever.)

In my case, the CP was getting a lower voltage due to the sag caused. It wasn't enough to completely shut-down the CP2102 but it did drop the voltage levels just enough on the D+ and D- lines of USB, that it was getting inaudible to the PC on a cheap USB hub (it's an assumption.) Replacing the long cable and USBhub eliminated the issue completely.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.