#24971·Tasmota

ESP32-C3: Can't configure GPIO as PWM6 via console, only via web

Author: cmockCreated Aug 20, 2026Updated Sep 1, 2026

PROBLEM DESCRIPTION

On ESP32-C3, when trying to configure GPIO 3 421 nothing happens. But when I go to the Web Configuration page, I can select "PWM" and then "6" for that port; after that, PWM does work, and it also shows correctly in the "GPIO" output:

13:23:05.839 CMD: gpio
13:23:05.844 MQT: stat/hk2/RESULT = {"GPIO0":{"None":0},"GPIO1":{"None":0},"GPIO2":{"None":0},"GPIO3":{"PWM6":421},"GPIO4":{"None":0},"GPIO5":{"None":0},"GPIO6":{"None":0},"GPIO7":{"None":0},"GPIO8":{"None":0},"GPIO9":{"None":0},"GPIO10":{"None":0},"GPIO18":{"None":0},"GPIO19":{"None":0},"GPIO20":{"None":0},"GPIO21":{"None":0}}

On an ESP32 (without -C3), I can use GPIOx 421 as documented.

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

  • Read the Contributing Guide and Policy and the Code of Conduct
  • Searched the problem in issues
  • Searched the problem in discussions
  • Searched the problem in the docs
  • Searched the problem in the chat
  • Problem is not scripter related, in this case open a discussion and tag gemu2015
  • Device used (e.g., Sonoff Basic): ESP32-C3 SuperMini Aliexpress Special
  • Tasmota binary firmware version number used: 15.5.0(release-tasmota32)-3.3.8(2026-06-22T14:10:25) (also tried yesterday's dev build)
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: Web flasher
  • Provide the output of command: Backlog Template; Module; GPIO 255:
lua
  Configuration output here:
13:30:29.862 MQT: stat/hk2/RESULT = {"NAME":"ESP32C3","ARCH":"ESP32C3","GPIO":[1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1],"FLAG":0,"BASE":1}
13:30:30.060 MQT: stat/hk2/RESULT = {"Module":{"1":"ESP32C3"}}
13:30:30.265 MQT: stat/hk2/RESULT = {"GPIO0":{"None":0},"GPIO1":{"None":0},"GPIO2":{"None":0},"GPIO3":{"PWM6":421},"GPIO4":{"None":0},"GPIO5":{"None":0},"GPIO6":{"None":0},"GPIO7":{"None":0},"GPIO8":{"None":0},"GPIO9":{"None":0},"GPIO10":{"None":0},"GPIO11":{"None":0},"GPIO12":{"None":0},"GPIO13":{"None":0},"GPIO18":{"None":0},"GPIO19":{"None":0},"GPIO20":{"None":0},"GPIO21":{"None":0}}
  • If using rules, provide the output of this command: Backlog Rule1; Rule2; Rule3:
lua
  Rules output here:

  • Provide the output of this command: Status 0:
lua
  STATUS 0 output here:
13:31:08.965 MQT: stat/hk2/STATUS = {"Status":{"Module":1,"DeviceName":"hk2","FriendlyName":["Tasmota"],"Topic":"hk2","ButtonTopic":"0","Power":"0","PowerLock":"0","PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0,"StatusRetain":0}}
13:31:08.970 MQT: stat/hk2/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"heizkoerper","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32c3.bin","RestartReason":"Software reset CPU","Uptime":"0T00:15:21","StartupUTC":"2026-08-20T12:15:47","Sleep":0,"CfgHolder":4617,"BootCount":4,"BCResetTime":"2026-08-20T13:14:13","SaveCount":13}}
13:31:08.981 MQT: stat/hk2/STATUS2 = {"StatusFWR":{"Version":"15.5.0(release-tasmota32)","BuildDateTime":"2026-06-22T14:10:25","Core":"3.3.8","SDK":"5.5.4.260407","CpuFrequency":160,"Hardware":"ESP32-C3 v0.4","CR":"416/699"}}
13:31:08.987 MQT: stat/hk2/STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["REDACTED",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008009","2805C80001000600003C5A0A192800000000","00000080","00006000","00000000","00000000"]}}
13:31:08.996 MQT: stat/hk2/STATUS4 = {"StatusMEM":{"ProgramSize":2096,"Free":783,"Heap":169,"StackLowMark":3,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164046","FlashFrequency":80,"FlashMode":"DIO","Features":["0809","9F9AD7DF","0015A001","B7F7BFCF","05DA9BC4","E0360DC7","480840D2","20200000","D4BC482D","810A80F1","00200815"],"Drivers":"1,2,!3,!4,!5,7,!8,9,10,11,12,!14,!16,!17,!20,!21,!24,26,!27,29,!34,!35,38,50,52,!59,!60,62,!63,!66,!67,!68,!71,!73,!75,82,!86,!87,!88,!91,!121","Sensors":"1,2,3,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,26,31,34,37,39,40,42,43,45,51,52,55,56,58,59,64,66,67,74,85,92,95,98,103,105,109,119,127","I2CDriver":"7,8,9,10,11,12,13,14,15,17,18,20,24,29,31,36,41,42,44,46,48,58,62,65,69,76,77,82,89,97"}}
13:31:09.006 MQT: stat/hk2/STATUS5 = {"StatusNET":{"Hostname":"hk2","IPAddress":"192.168.X.X","Gateway":"192.168.X.X","Subnetmask":"255.255.255.0","DNSServer1":"192.168.X.X","DNSServer2":"192.168.X.X","Mac":"B8:1F:3F:FE:40:A8","IP6Global":"","IP6Local":"fe80::ba1f:3fff:fefe:40a8%st2","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"192.168.X.X","DNSServer2":"192.168.X.X","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":0,"WifiConfig":4,"WifiPower":9.0}}
13:31:09.017 MQT: stat/hk2/STATUS6 = {"StatusMQT":{"MqttHost":"mqtt.REDACTED","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_FE40A8","MqttUser":"","MqttCount":1,"MqttTLS":0,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
13:31:09.025 MQT: stat/hk2/STATUS7 = {"StatusTIM":{"UTC":"2026-08-20T12:31:09Z","Local":"2026-08-20T13:31:09","StartDST":"2026-03-29T02:00:00","EndDST":"2026-10-25T03:00:00","Timezone":"+01:00","Sunrise":"05:50","Sunset":"19:56"}}
13:31:09.037 MQT: stat/hk2/STATUS10 = {"StatusSNS":{"Time":"2026-08-20T13:31:09"}}
13:31:09.043 MQT: stat/hk2/STATUS11 = {"StatusSTS":{"Time":"2026-08-20T13:31:09","Uptime":"0T00:15:22","UptimeSec":922,"Heap":171,"SleepMode":"Dynamic","Sleep":0,"LoadAvg":999,"MqttCount":1,"Berry":{"HeapUsed":4,"Objects":50},"PWM":{"PWM6":0},"Wifi":{"AP":1,"SSId":"REDACTED","BSSId":"REDACTED","Channel":1,"Mode":"HT20","RSSI":100,"Signal":-39,"LinkCount":1,"Downtime":"0T00:00:05"},"Hostname":"hk2","IPAddress":"192.168.X.X"}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
lua
  Console output here:
13:38:59.114 CMD: weblog 4
13:38:59.118 MQT: stat/hk2/RESULT = {"WebLog":4}
13:38:59.215 CFG: Saved, Count 14, Bytes 4096
13:39:08.312 CMD: gpio4 421
13:39:08.313 SRC: WebConsole from 192.168.X.X
13:39:08.313 CMD: Grp 0, Cmd 'GPIO', Idx 4, Len 3, Pld 421, Data '421'
13:39:08.320 MQT: stat/hk2/RESULT = {"GPIO0":{"None":0},"GPIO1":{"None":0},"GPIO2":{"None":0},"GPIO3":{"PWM6":421},"GPIO4":{"None":0},"GPIO5":{"None":0},"GPIO6":{"None":0},"GPIO7":{"None":0},"GPIO8":{"None":0},"GPIO9":{"None":0},"GPIO10":{"None":0},"GPIO18":{"None":0},"GPIO19":{"None":0},"GPIO20":{"None":0},"GPIO21":{"None":0}}

TO REPRODUCE

Run GPIO3 421 in the console, directly or via backlog.

EXPECTED BEHAVIOUR

The output should show GPIO3 as 421

SCREENSHOTS

If applicable, add screenshots to help explain your problem.

ADDITIONAL CONTEXT

Add any other context about the problem here.

(Please, remember to close the issue when the problem has been addressed)