Sonoff TH10 with AM2301 V0.03

Hello everyone,

I’m struggling to get an AM2301 (v0.03) sensor working with a Sonoff TH10 running ESPHome. The sensor worked in the past with the original Sonoff TH10 firmware, so I assume the hardware is functional.

Based on the schematics (see below) and a physical boards inspection - I’ve confirmed the following:

  • R19 and R21 are NOT installed (excludes GPIO4).
  • R18 (10kΩ pull-up) and R20 (0Ω jumper) ARE installed.
  • The sensor’s OUT pin connects to GPIO14 (MTMS/SCL) thus - via R20, with an external pull-up via R18.

My configuration:

sensor:
  - platform: dht
    model: DHT22
    update_interval: 30s
    pin: 
      number: GPIO14
      mode: INPUT
    humidity:
      name: "Sonoff TH10 Humidity"
    temperature:
      name: "Sonoff TH10 Temperature"

Despite all that, I am getting consistent nan readings:

[14:29:23.661][C][dht:020]:   Model: DHT22 or equivalent
[14:29:23.661][C][dht:020]:   Internal pull-up: OFF
[14:29:23.670][C][dht:152]:   Pin: GPIO14
[14:29:23.670][C][dht:453]:   Update Interval: 30.0s
[14:29:23.670][C][dht:017]:   Temperature 'Sonoff TH10 Temperature'
[14:29:23.670][C][dht:017]:     State Class: 'measurement'
[14:29:23.670][C][dht:017]:     Unit of Measurement: '°C'
[14:29:23.670][C][dht:017]:     Accuracy Decimals: 1
[14:29:23.670][C][dht:237]:     Device Class: 'temperature'
[14:29:23.682][C][dht:017]:   Humidity 'Sonoff TH10 Humidity'
[14:29:23.682][C][dht:017]:     State Class: 'measurement'
[14:29:23.682][C][dht:017]:     Unit of Measurement: '%'
[14:29:23.682][C][dht:017]:     Accuracy Decimals: 0
[14:29:23.693][C][dht:237]:     Device Class: 'humidity'
...
[14:35:15.444][W][dht:163]: Communication failed
[14:35:15.447][W][dht:056]: Invalid readings! Check pin number and pull-up resistor.
[14:35:15.447][D][sensor:124]: 'Sonoff TH10 Temperature' >> nan °C
[14:35:15.447][D][sensor:124]: 'Sonoff TH10 Humidity' >> nan %

I have tried switching between AUTO_DETECT (did not work), DHT21, DHT22, DHT22_TYPE2, AM2302, and SI7021 (which it is not as far as I can tell) models, and toggling INPUT_PULLUP (which is not neccessary I believe), also tried GPIO4 (for completness :wink:) but the result is the same.

Any help would be appreciated! Thanks

… the AM2301 sensor

… and the Sonoff TH10 board