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;
*data = byte; return true;
// Datasheet threshold: 30 µs is the boundary if(duration > 30) = (1 << (7 - i));
| 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) | yl105 datasheet better
It respects the 20ms start signal and uses a 30µs threshold (midpoint between bit0's 26µs and bit1's 70µs). Most libraries incorrectly use 40µs, causing bit errors at the edges of the tolerance range. Part 6: Common Pitfalls (What the Datasheet Doesn't Explicitly Say) The YL105 datasheet is good, but it misses three practical details. Knowing these makes your usage better than 90% of other engineers. 1. Power Supply Noise The datasheet mentions "VDD ripple < 50mV." In reality, if you power the YL105 from the same 5V rail as a servo motor, you will get +10% RH errors. Better solution: Use a dedicated 3.3V LDO regulator or add a 470µF capacitor on the power rail. 2. Self-Heating If you read the YL105 faster than 1 Hz (e.g., every 500ms), the internal thermistor will self-heat by 2-3°C. The datasheet does not warn about this clearly. Better practice: Limit reads to once every 2 seconds for temperature accuracy, even if humidity can refresh faster. 3. Condensation Recovery The datasheet says "non-condensing environment." But if condensation occurs, the sensor requires 2 hours of drying at 50°C. Better design: Mount the YL105 vertically, not horizontally, so water drips off the PCB. Part 7: Conclusion – Is the YL105 "Better" for YOU? After reading this deep dive into the yl105 datasheet better analysis, ask yourself:
#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); This article breaks down the YL105 datasheet in
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: