Yl105: Datasheet Better

This article breaks down the YL105 datasheet in detail and explains exactly where, why, and how this sensor is than its more famous rivals. Part 1: What is the YL105? (A Datasheet Overview) Before we discuss "better," we need a baseline. The YL105 is a digital temperature and humidity sensor module. Unlike the raw DHT11, the YL105 comes pre-soldered onto a PCB with a built-in pull-up resistor and a filtering capacitor. Key Specifications from the YL105 Datasheet: | Parameter | Value | Why it matters | | :--- | :--- | :--- | | Operating Voltage | 3.3V to 5.5V | Better compatibility (works with 3.3V ESP32 & 5V Arduino) | | Humidity Range | 20% to 90% RH | Standard room conditions | | Humidity Accuracy | ±5% RH | Comparable to DHT11 | | Temperature Range | 0°C to 50°C | Indoor/Greenhouse focused | | Temperature Accuracy | ±2°C | Adequate for HVAC monitoring | | Sampling Rate | 1 Hz (1 reading per second) | Better stability than cheap clones | | Signal Type | Single-bus digital | Uses only 1 GPIO pin |

bool readByte(uint8_t* data) uint8_t byte = 0; for (int i = 0; i < 8; i++) while(digitalRead(YL105_PIN) == LOW); // Wait for start of bit uint32_t startTime = micros(); while(digitalRead(YL105_PIN) == HIGH); uint32_t duration = micros() - startTime; yl105 datasheet better

In the crowded world of capacitive humidity sensors, the YL105 is often misunderstood. Viewed by beginners as a "cheap alternative," this sensor module—when paired with a correct reading of its datasheet—offers a superior price-to-performance ratio for 80% of DIY and commercial IoT projects. This article breaks down the YL105 datasheet in

| Parameter | Symbol | Value | Your code must... | | :--- | :--- | :--- | :--- | | Start signal low time | Tbe | > 18 ms | Pull pin LOW for 20ms (not 1ms) | | Sensor response low | Trel | 80 µs | Wait for pin to go LOW | | Sensor response high | Treh | 80 µs | Wait for pin to go HIGH | | Bit "0" high time | Tbit_0 | 24-28 µs | Sample after 30 µs | | Bit "1" high time | Tbit_1 | 70-74 µs | Sample after 50 µs | The YL105 is a digital temperature and humidity

| If you need... | Choose YL105 | Choose DHT22/BME280 | | :--- | :--- | :--- | | Lowest cost for multi-node networks | ✅ | ❌ No | | 3.3V native operation (ESP32) | ✅ Yes | ⚠️ Needs level shifter | | Sub-1-second read intervals | ✅ Yes | ❌ No (2 sec limit) | | Laboratory-grade accuracy (2% RH) | ❌ No | ✅ Yes | | Outdoor weatherproofing | ❌ No | ✅ Yes (with housing) |

#define YL105_PIN 2 void startSignal() pinMode(YL105_PIN, OUTPUT); digitalWrite(YL105_PIN, LOW); delay(20); // Better: 20ms (exceeds 18ms requirement) digitalWrite(YL105_PIN, HIGH); delayMicroseconds(40); pinMode(YL105_PIN, INPUT);

If you are building a battery-powered ESP8266 or ESP32 project, the YL105 is the better datasheet choice. Part 3: The "Better" Way to Read Timing Diagrams (Critical Datasheet Section) Most users fail with the YL105 because they ignore the timing diagram. To make your YL105 perform better than a cheap library default, you must understand these values: