Constant reboots when using digital pins 6 - 11 with ESP8266 devices

When using an ESP8266 based board (NodeMCU, Wemos D1 Mini, ESP-01 etc) if a digital datastream is added which uses pin 6 to 11 the device will go through a constant cycle of connecting to Blynk then rebooting, like this…

12:50:51.658 -> [68] Connecting to REDACTED
12:50:55.902 -> [4299] Connected to WiFi
12:50:55.902 -> [4299] IP: 192.168.1.6
12:50:55.902 -> [4299] 
12:50:55.902 ->     ___  __          __
12:50:55.902 ->    / _ )/ /_ _____  / /__
12:50:55.902 ->   / _  / / // / _ \/  '_/
12:50:55.902 ->  /____/_/\_, /_//_/_/\_\
12:50:55.902 ->         /___/ v1.1.0 on ESP8266
12:50:55.902 -> 
12:50:55.902 ->  #StandWithUkraine    https://bit.ly/swua
12:50:55.902 -> 
12:50:55.902 -> 
12:50:55.902 -> [4309] Connecting to blynk.cloud:80
12:50:55.939 -> [4367] Ready (ping: 16ms).
12:51:03.761 -> 
12:51:03.761 ->  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
12:51:03.761 -> 
12:51:03.761 -> wdt reset
12:51:03.761 -> load 0x4010f000, len 3460, room 16 
12:51:03.795 -> tail 4
12:51:03.795 -> chksum 0xcc
12:51:03.795 -> load 0x3fff20b8, len 40, room 4 
12:51:03.795 -> tail 4
12:51:03.795 -> chksum 0xc9
12:51:03.795 -> csum 0xc9
12:51:03.795 -> v000461e0
12:51:03.795 -> ~ld
12:51:03.829 -> [67] Connecting to REDACTED
12:51:08.104 -> [4298] Connected to WiFi
12:51:08.104 -> [4299] IP: 192.168.1.6
12:51:08.104 -> [4299] 
12:51:08.104 ->     ___  __          __
12:51:08.104 ->    / _ )/ /_ _____  / /__
12:51:08.104 ->   / _  / / // / _ \/  '_/
12:51:08.104 ->  /____/_/\_, /_//_/_/\_\
12:51:08.104 ->         /___/ v1.1.0 on ESP8266
12:51:08.104 -> 
12:51:08.104 ->  #StandWithUkraine    https://bit.ly/swua
12:51:08.104 -> 
12:51:08.104 -> 
12:51:08.104 -> [4309] Connecting to blynk.cloud:80
12:51:08.138 -> [4354] Ready (ping: 14ms).
12:51:15.968 -> 
12:51:15.968 ->  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
12:51:15.968 -> 
12:51:15.968 -> wdt reset
12:51:15.968 -> load 0x4010f000, len 3460, room 16 
12:51:15.968 -> tail 4
12:51:15.968 -> chksum 0xcc
12:51:15.968 -> load 0x3fff20b8, len 40, room 4 
12:51:15.968 -> tail 4
12:51:15.968 -> chksum 0xc9
12:51:15.968 -> csum 0xc9
12:51:15.968 -> v000461e0
12:51:15.968 -> ~ld
12:51:16.036 -> [69] Connecting to REDACTED
12:51:20.285 -> [4299] Connected to WiFi
12:51:20.285 -> [4300] IP: 192.168.1.6
12:51:20.285 -> [4300] 
12:51:20.285 ->     ___  __          __
12:51:20.285 ->    / _ )/ /_ _____  / /__
12:51:20.285 ->   / _  / / // / _ \/  '_/
12:51:20.285 ->  /____/_/\_, /_//_/_/\_\
12:51:20.285 ->         /___/ v1.1.0 on ESP8266
12:51:20.285 -> 
12:51:20.285 ->  #StandWithUkraine    https://bit.ly/swua
12:51:20.285 -> 
12:51:20.285 -> 
12:51:20.285 -> [4310] Connecting to blynk.cloud:80
12:51:20.352 -> [4375] Ready (ping: 12ms).

This happens because GPIO6 to GPIO11 are reserved pins on the ESP8266 chip and are used for internal communication. These pins aren’t broken-out to physical pins on the board.
(Actually, you don’t get the constant reboots with digital pin 10, but as this pin isn’t broken-out to a pin on the board it’s of no use, and I guess it may cause other issues if it’s used).

The work-around is to simply not choose digital pin numbers 6, 7, 8, 9, 10 or 11 when creating a digital datastream for use with an ESP8266 device.
A better workaround is probably to avoid digital datastreams altogether and use virtual pins instead…


I raised the issue of the discrepancy between the pins available to choose for datastreams and those actually available for the various board types over a year ago…

It seems that what is needed is something similar to what happened in Blynk Legacy - when the board type was selected for a device the list of a available Digital, Analog and Virtual pins was filtered/restricted based on the board type.

Blynk IoT allows users to select a Board Type in the Template screen, but this has no effect on the pins available when choosing Digital or Analog datasterams.

Pete.