You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Initial UART HW flow control support
* fixup! Initial UART HW flow control support
* Updates README.md to include information how to enable UART HW flow control
* fixup! Initial UART HW flow control support
* fixup! Updates README.md to include information how to enable UART HW flow control
Copy file name to clipboardExpand all lines: README.md
+42-1Lines changed: 42 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,4 +10,45 @@ ESP8266 modules come in different shapes and formats, but the most important fac
10
10
11
11
- The ESP8266 WiFi module does not allow the TCP client to bind on a specific port.
12
12
- Setting up a UDP server is not possible.
13
-
- The serial port does not have hardware flow control enabled. The AT command set does not either have a way to limit the download rate. Therefore, downloading anything larger than the serial port input buffer is unreliable. An application should be able to read fast enough to stay ahead of the network. This affects mostly the TCP protocol where data would be lost with no notification. On UDP, this would lead to only packet losses which the higher layer protocol should recover from.
13
+
- The serial port does not have hardware flow control enabled by default. The AT command set does not either have a way to limit the download rate. Therefore, downloading anything larger than the serial port input buffer is unreliable. An application should be able to read fast enough to stay ahead of the network. This affects mostly the TCP protocol where data would be lost with no notification. On UDP, this would lead to only packet losses which the higher layer protocol should recover from.
14
+
15
+
## UART HW flow control
16
+
17
+
UART HW flow control requires you to additionally wire the CTS and RTS flow control pins between your board and your ESP8266 module. Once this is done remember to add configuration option for flow control in your app config file. Here a [ST NUCLEO-F429ZI](https://os.mbed.com/platforms/ST-Nucleo-F429ZI/) board and [ESPBee XBee Module](https://www.cascologix.com/product/espbee/) are used as an example.
18
+
19
+
**NOTE** Not all modules expose ESP8266's RTS and CTS pins so beware when you are choosing one.
20
+
21
+
Once you have your HW set up add configuration like this in your app config - Arduino pins D1 and D0 assumed for TX and RX:
22
+
23
+
```javascript
24
+
"target_overrides": {
25
+
"NUCLEO_F429ZI": {
26
+
"esp8266.rts":"PG_12",
27
+
"esp8266.cts":"PG_15"
28
+
}
29
+
```
30
+
31
+
### Example board pins
32
+
1. TX - D1 (Arduino Uno Revision 3 connectivity headers)
33
+
2. RX - D0 (Arduino Uno Revision 3 connectivity headers)
With these pictures only consider the green and yellow wires which are connected to ESP8266. Pink wire is for reset and the rest for firmware update. TX and RX go through Arduino pins D1 and D0.
45
+
46
+
**NOTE** GPIO15(ESPBee RTS) needs to be pulled down during startup to boot from flash, instead of firmware update or boot from SD card. Once the software is running the same pin is used as the RTS pin.
0 commit comments