ESP8266/Serial Debugging
From charlesreid1
Experiments
Variables and Parameters
I had to try a couple of combinations of different parameters.
Variables:
- Baudrate - 57600 or 115200 (depending on chip/board version)
- RX/TX pinouts
- High/floating CH_PD pin
First Set of Experiments
With this first set of experiments, I was connecting to the serial device at /dev/tty.usbserial.
Connecting to serial port at /dev/tty.usbserial with timeout of 5 seconds:
First Round
First round (slow rate, v 1):
Test 1A: 57600 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin floating
- Nope.
Test 2A: 57600 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin high
- Nope.
Test 3A: 57600 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin floating
- Nope.
Test 4A: 57600 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin high
- Nope.
Second Round
Second round (fast rate, v 2):
Test 1B: 115200 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin floating
- Nope.
Test 2B: 115200 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin high
- Nope.
Test 3B: 115200 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin floating
- Nope.
Test 4B: 115200 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin high
- Nope.
Second Set of Experiments
Keep on trying. I ran the serial library's port discovery tool, and it listed /dev/cu.usbserial, so maybe that's the device we should be using:
$ python -m serial.tools.list_ports /dev/cu.Bluetooth-Incoming-Port /dev/cu.usbserial 2 ports found
First Set of Experiments
Connecting to serial port at /dev/cu.usbserial with timeout of 5 seconds:
Test 1A: 57600 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin floating
- Nope.
Test 2A: 57600 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin high
- Nope.
Test 3A: 57600 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin floating
Test 4A: 57600 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin high
Second Set of Experiments
Second round (fast rate, v 2):
Test 1B: 115200 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin floating
Test 2B: 115200 baud rate, RX on ESP8266 connected to TX on PL2302 (mini usb to serial board), CH_PD pin high
Test 3B: 115200 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin floating
Test 4B: 115200 baud rate, RX on ESP8266 connected to RX on PL2302 (mini usb to serial board), CH_PD pin high
Starting Over
Okay, let's start over.
Installing the esp8266/arduino library from Github makes it possible to program the ESP8266 microcontroller directly from the Arduino IDE, and provides some nice API functions as well. It takes a couple of steps to install, but the steps are dead simple.
Preparing Arduino to Work with ESP8266
Start by installing the necessary packages to program the ESP8266 directly from the Arduino IDE. This will require Arduino version 1.6.8 or later.
Download the ESP8266 Arduino repository here: https://github.com/esp8266/Arduino
Next, install using the Arduino Boards Manager. Open the Arduino IDE, and click Arduino > Preferences. In the "Additional Board Manager URLs" field, enter the following URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Go to Tools > Board > Boards Manager and do a search for the term "ESP." This should pull up the ESP board, and you should see a button that says "Install."
Manual Programming
To set the ESP8266 up for manual programming (whatever that means...), we can arrange the circuit as follows: