Skip to content

PCA9685 pins works only after driver15 reset #24554

@bob-tm

Description

@bob-tm

PROBLEM DESCRIPTION

A clear and concise description of what the problem is.

driver15 pwm,15,4095 do not work at boot. No errors, voltage on PIN is not changed. It do not work for any PIN.

driver15 status display 4095 for pin 15, but there is no voltage on that PIN.

everything work as it should after driver15 reset I run it once after boot.

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): Custom based ESP32 C3 Super Mini
  • Tasmota binary firmware version number used: 15.3.0.2
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: web
  • Provide the output of command: Backlog Template; Module; GPIO 255:
  Configuration output here:

Backlog Template; Module; GPIO 255
00:47:27.978 RSL: RESULT = {"NAME":"ESP32C3","ARCH":"ESP32C3","GPIO":[33,1,1,1,1,640,608,0,1376,32,1,0,0,0,0,0,0,0,1,1,1,1],"FLAG":0,"BASE":1}
00:47:28.204 RSL: RESULT = {"Module":{"0":"ESP32C3"}}
00:47:28.406 RSL: RESULT = {"GPIO0":{"Button2":33},"GPIO1":{"None":0},"GPIO2":{"None":0},"GPIO3":{"None":0},"GPIO4":{"None":0},"GPIO5":{"I2C SDA":640},"GPIO6":{"I2C SCL":608},"GPIO7":{"None":0},"GPIO8":{"WS28121":1376},"GPIO9":{"Button1":32},"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:
  Rules output here:

  • Provide the output of this command: Status 0:
  STATUS 0 output here:

STATUS = {"Status":{"Module":0,"DeviceName":"Tasmota","FriendlyName":["Tasmota"],"Topic":"tasmota_366680","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}}
00:47:53.931 RSL: STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32c3.bin","RestartReason":"Software reset CPU","Uptime":"0T00:09:35","StartupUTC":"2026-03-14T23:38:18","Sleep":50,"CfgHolder":4617,"BootCount":14,"BCResetTime":"2026-03-14T23:42:03","SaveCount":54}}
00:47:53.962 RSL: STATUS2 = {"StatusFWR":{"Version":"15.3.0.2(tasmota32)","BuildDateTime":"2026-03-14T23:43:26","Core":"3.3.7","SDK":"5.3.4.260127","CpuFrequency":160,"Hardware":"ESP32-C3 v0.4","CR":"389/699"}}
00:47:53.979 RSL: STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["/dev/null",""],"TelePeriod":300,"Resolution":"558580C0","SetOption":["0000800B","2805C80001000600003C5A0A192800000000","00008080","00006000","00004000","00000000"]}}
00:47:54.014 RSL: STATUS4 = {"StatusMEM":{"ProgramSize":2109,"Free":770,"Heap":143,"StackLowMark":3,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164046","FlashFrequency":80,"FlashMode":"DIO","Features":["0809","9F9AD7DF","0015E001","B7F7BFCF","05DA9BC4","E0360DD7","480840D2","20200000","D4BC482D","810A80F1","00200815"],"Drivers":"1,2,!3,4,!5,7,!8,9,10,11,12,!14,15,!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,54,55,56,58,59,64,66,67,74,85,92,95,98,103,105,109,119,127","I2CDriver":"1,7,8,9,10,11,!12,13,!14,15,17,18,20,24,29,31,35,36,41,42,44,46,48,58,62,65,69,76,77,82,89,97"}}
00:47:54.091 RSL: STATUS5 = {"StatusNET":{"Hostname":"tasmota-366680-1664","IPAddress":"192.168.104.108","Gateway":"192.168.104.1","Subnetmask":"255.255.255.0","DNSServer1":"192.168.104.1","DNSServer2":"0.0.0.0","Mac":"E8:F6:0A:36:66:80","IP6Global":"","IP6Local":"fe80::eaf6:aff:fe36:6680%st2","Ethernet":{"Hostname":"","IPAddress":"0.0.0.0","Gateway":"0.0.0.0","Subnetmask":"0.0.0.0","DNSServer1":"192.168.104.1","DNSServer2":"0.0.0.0","Mac":"00:00:00:00:00:00","IP6Global":"","IP6Local":""},"Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":19.0}}
00:47:54.143 RSL: STATUS6 = {"StatusMQT":{"MqttHost":"","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_366680","MqttUser":"DVES_USER","MqttCount":0,"MqttTLS":0,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
00:47:54.162 RSL: STATUS7 = {"StatusTIM":{"UTC":"2026-03-14T23:47:54Z","Local":"2026-03-15T00:47:54","StartDST":"2026-03-29T02:00:00","EndDST":"2026-10-25T03:00:00","Timezone":"+01:00","Sunrise":"07:03","Sunset":"18:54"}}
00:47:54.182 RSL: STATUS10 = {"StatusSNS":{"Time":"2026-03-15T00:47:54","INA226-1":{"Id":0,"Voltage":13.30,"Current":0.018,"Power":0}}}
00:47:54.205 RSL: STATUS11 = {"StatusSTS":{"Time":"2026-03-15T00:47:54","Uptime":"0T00:09:36","UptimeSec":576,"Heap":146,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Berry":{"HeapUsed":31,"Objects":600},"POWER":"OFF","Dimmer":100,"Color":"00FF19","HSBColor":"126,100,100","Channel":[0,100,10],"Scheme":0,"Width":1,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"/dev/null","BSSId":"52:FF:20:25:1C:D3","Channel":13,"Mode":"HT20","RSSI":100,"Signal":-49,"LinkCount":1,"Downtime":"0T00:00:05"},"Hostname":"tasmota-366680-1664","IPAddress":"192.168.104.108"}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
  Console output here:

TO REPRODUCE

Steps to reproduce the behavior:

Do not work after fresh boot. No errors

EXPECTED BEHAVIOUR

A clear and concise description of what you expected to happen.
In Tasmota12 (last time I solder something with PCA9685)

SCREENSHOTS

If applicable, add screenshots to help explain your problem.

ADDITIONAL CONTEXT

Add any other context about the problem here.

There are PCA9685 and INA226 on same I2C bus. I try two different PCA9685 boards (from same seller) with same results. Last time I use PCA9685 with Tasmota 12 and they work without additional Driver15 reset.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions