// Datasheet threshold: 30 µs is the boundary if(duration > 30) = (1 << (7 - i));
Always refer to the manufacturer’s YL105 datasheet V1.2 for absolute maximum ratings (TMV: -20°C storage, 5.5V absolute max input).
*data = byte; return true;
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;
#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); 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 |
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. // Datasheet threshold: 30 µs is the boundary
| 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) |