Published September 30, 2026 | Version v1

Performance Analysis of Arduino DHT11 Sensor Libraries for Resource-constrained IoT/WoT Edge Nodes.

Authors/Creators

  • 1. Department of Medical Education Development, College of Medicine, University of Duhok, Duhok 42001, Kurdistan Region, Iraq.

Description

Abstract: Efficient sensing remains critical in low-cost Internet of Things (IoT) and Web of Things (WoT)-enabled edge nodes, even when the sensor itself is inexpensive and widely used. The DHT11 temperature and humidity sensor employs a single-wire dig-ital protocol and relies on Arduino libraries for data acquisition, timeout handling, and scheduling behavior. In this paper, eight Arduino DHT11 libraries are benchmarked on an Arduino Uno R3 using six criteria: flash memory usage, SRAM consumption, average measured call duration, timing variability, maximum CPU blocking time, and failure-recovery behavior. The results reveal substantial performance trade-offs. Aver-age measured call durations ranged from 5,588 µs for the asynchronous DHT Sensors Non-Blocking implementation to approximately 1.04 s for DHT11; however, these measurements reflect different execution semantics and should not be interpreted as directly equivalent end-to-end acquisition latencies. Flash usage ranged from 4,288 to 5,244 bytes, while SRAM consumption ranged from 238 to 266 bytes. TroykaDHT and SDHT delivered the most stable low-latency readings, DFRobot_DHT11 minimized SRAM usage, and DHT Sensors Non-Blocking was most suitable when asynchronous execution and reduced continuous CPU occupation were required. This study does not directly benchmark application-layer protocols or cloud services, such as HTTP, MQTT, REST, or WebSocket; instead, it characterizes sensing-layer behavior that can influence data freshness, task scheduling, and overall responsiveness in resource-constrained IoT/WoT edge deployments.

Files

(261)_21-28_v(2)_i(3).pdf

Files (408.7 kB)

Name Size Download all
md5:2fd4495f8bbbf200b968fa3079790ab1
408.7 kB Preview Download