<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: manikanda balamurugan S</title>
    <description>The latest articles on DEV Community by manikanda balamurugan S (@bala02102008).</description>
    <link>https://dev.to/bala02102008</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4171244%2Fe1ba99a0-06ac-4a59-a2cf-4e2be7386701.png</url>
      <title>DEV Community: manikanda balamurugan S</title>
      <link>https://dev.to/bala02102008</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bala02102008"/>
    <language>en</language>
    <item>
      <title>DHT11 Temperature and Humidity Monitoring with ESP8266 and KiwisIoT</title>
      <dc:creator>manikanda balamurugan S</dc:creator>
      <pubDate>Tue, 03 Nov 2026 12:11:20 +0000</pubDate>
      <link>https://dev.to/bala02102008/dht11-temperature-and-humidity-monitoring-with-esp8266-and-kiwisiot-1k08</link>
      <guid>https://dev.to/bala02102008/dht11-temperature-and-humidity-monitoring-with-esp8266-and-kiwisiot-1k08</guid>
      <description>&lt;h1&gt;
  
  
  ESP8266 DHT11 IoT Project: Real-Time Temperature and Humidity Monitoring Using KiwisIoT 🌡️
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In this project, we build an IoT-based temperature and humidity monitoring system using the ESP8266 NodeMCU and DHT11 sensor.&lt;/p&gt;

&lt;p&gt;The DHT11 sensor measures the surrounding temperature and humidity. The ESP8266 collects the sensor readings and sends them to the KiwisIoT dashboard through Wi-Fi.&lt;/p&gt;

&lt;p&gt;The dashboard displays temperature and humidity values in real time, making environmental monitoring simple and convenient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;This project uses an ESP8266 NodeMCU connected to a DHT11 sensor. The sensor collects environmental data, and the microcontroller sends the readings to the KiwisIoT platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time temperature monitoring.&lt;/li&gt;
&lt;li&gt;Real-time humidity monitoring.&lt;/li&gt;
&lt;li&gt;Wireless data transmission using Wi-Fi.&lt;/li&gt;
&lt;li&gt;Live dashboard visualization.&lt;/li&gt;
&lt;li&gt;Simple and beginner-friendly IoT implementation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Components Required
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;ESP8266 NodeMCU&lt;/li&gt;
&lt;li&gt;DHT11 Sensor&lt;/li&gt;
&lt;li&gt;Jumper Wires&lt;/li&gt;
&lt;li&gt;USB Cable&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Software Required
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Arduino IDE&lt;/li&gt;
&lt;li&gt;ESP8266 Board Package&lt;/li&gt;
&lt;li&gt;DHT Sensor Library&lt;/li&gt;
&lt;li&gt;KiwisIoT Arduino Library&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Circuit Connections
&lt;/h2&gt;

&lt;p&gt;Connect the DHT11 sensor to the ESP8266 NodeMCU as follows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;DHT11 Sensor&lt;/th&gt;
&lt;th&gt;ESP8266 NodeMCU&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;VCC&lt;/td&gt;
&lt;td&gt;3.3V&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DATA&lt;/td&gt;
&lt;td&gt;D5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ezj37lcpkkguhvo4453.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ezj37lcpkkguhvo4453.png" alt=" " width="800" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure all connections are correct before powering the board.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working Procedure
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The DHT11 sensor measures the surrounding temperature and humidity.&lt;/li&gt;
&lt;li&gt;The ESP8266 reads the sensor values.&lt;/li&gt;
&lt;li&gt;The ESP8266 connects to the Wi-Fi network.&lt;/li&gt;
&lt;li&gt;The sensor readings are sent to the KiwisIoT platform.&lt;/li&gt;
&lt;li&gt;The KiwisIoT dashboard displays the temperature and humidity values.&lt;/li&gt;
&lt;li&gt;The readings are updated every two seconds.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp0nhz0vlshyk5r8kd4ob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp0nhz0vlshyk5r8kd4ob.png" alt=" " width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboard Configuration
&lt;/h2&gt;

&lt;p&gt;Create a dashboard in the KiwisIoT platform and configure two channels.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Channel 0:&lt;/strong&gt; Temperature (°C)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Channel 1:&lt;/strong&gt; Humidity (%)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Add suitable gauge widgets to display both readings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Arduino Code
&lt;/h2&gt;

&lt;p&gt;Install the required libraries in Arduino IDE before uploading the program.&lt;/p&gt;

&lt;p&gt;Replace the Wi-Fi name, password and dashboard topic ID with your own values. Do not publish your actual Wi-Fi password or private dashboard credentials.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;
#include &amp;lt;KiwisIoT.h&amp;gt;
#include &amp;lt;DHT.h&amp;gt;

const char* ssid = "YOUR_WIFI_NAME";
const char* pass = "YOUR_WIFI_PASSWORD";

const char* topic = "YOUR_DASHBOARD_TOPIC_ID";

#define DHT_PIN D5
#define DHT_TYPE DHT11

DHT dht(DHT_PIN, DHT_TYPE);

KiwisIoT kiwisiot(ssid, pass, topic);

void sendDHTData() {

  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();

  if (isnan(temperature) || isnan(humidity)) {
    Serial.println("Failed to read DHT11!");
    return;
  }

  Serial.println();
  Serial.println("---------- DHT11 MONITORING ----------");

  Serial.print("Temperature: ");
  Serial.print(temperature, 1);
  Serial.println(" °C");

  Serial.print("Humidity: ");
  Serial.print(humidity, 1);
  Serial.println(" %");

  String temperatureData = String(temperature, 1);
  kiwisiot.send("0", temperatureData);

  String humidityData = String(humidity, 1);
  kiwisiot.send("1", humidityData);
}

void setup() {

  Serial.begin(115200);

  Serial.println("DHT11 MONITORING");

  dht.begin();

  Serial.println("DHT11 initialized");

  kiwisiot.begin();

  Serial.println("KiwisIoT initialized");
  Serial.println("Starting monitoring...");
}

void loop() {

  kiwisiot.run();

  static unsigned long lastSend = 0;

  if (millis() - lastSend &amp;gt;= 2000) {

    lastSend = millis();
    sendDHTData();
  }

  delay(100);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;

&lt;p&gt;After uploading the code successfully, the ESP8266 reads the temperature and humidity values from the DHT11 sensor.&lt;/p&gt;

&lt;p&gt;The readings are transmitted to the KiwisIoT dashboard through Wi-Fi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Output:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Temperature: 32.3 °C&lt;/p&gt;

&lt;p&gt;Humidity: 71.0 %&lt;/p&gt;

&lt;p&gt;The dashboard displays both values using gauge widgets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Applications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Indoor environmental monitoring.&lt;/li&gt;
&lt;li&gt;Room temperature monitoring.&lt;/li&gt;
&lt;li&gt;Humidity monitoring.&lt;/li&gt;
&lt;li&gt;Smart home applications.&lt;/li&gt;
&lt;li&gt;IoT-based environmental monitoring systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real time image:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvqkogux81xdblqg2ecll.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvqkogux81xdblqg2ecll.png" alt=" " width="721" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project demonstrates how to build a simple IoT-based temperature and humidity monitoring system using ESP8266 and DHT11.&lt;/p&gt;

&lt;p&gt;By connecting the sensor to the KiwisIoT platform, we can monitor environmental conditions remotely through a dashboard.&lt;/p&gt;

&lt;p&gt;This project also provides practical experience with sensors, microcontrollers, Wi-Fi communication and IoT platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thank you for reading! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>iot</category>
      <category>esp8266</category>
      <category>arduino</category>
      <category>beginners</category>
    </item>
    <item>
      <title>ESP8266 ultrasonic distance monitoring using KiwisIoT.</title>
      <dc:creator>manikanda balamurugan S</dc:creator>
      <pubDate>Fri, 30 Oct 2026 13:05:48 +0000</pubDate>
      <link>https://dev.to/bala02102008/esp8266-ultrasonic-distance-monitoring-using-kiwisiot-5373</link>
      <guid>https://dev.to/bala02102008/esp8266-ultrasonic-distance-monitoring-using-kiwisiot-5373</guid>
      <description>&lt;h1&gt;
  
  
  IoT-Based IR Object Detection Using ESP8266 NodeMCU and KiwisIoT
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Have you ever wondered how we can detect objects and monitor them remotely using IoT?&lt;/p&gt;

&lt;p&gt;In this project, I developed an IoT-based object detection system using an ESP8266 NodeMCU and an IR sensor. The system detects nearby objects and sends the detection status to the KiwisIoT dashboard through Wi-Fi.&lt;/p&gt;

&lt;p&gt;The main objective is to understand how sensors, microcontrollers, wireless communication, and IoT platforms work together in a real-time monitoring application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components Required
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Hardware Components
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ESP8266 NodeMCU&lt;/li&gt;
&lt;li&gt;IR Sensor Module&lt;/li&gt;
&lt;li&gt;Jumper Wires&lt;/li&gt;
&lt;li&gt;USB Cable&lt;/li&gt;
&lt;li&gt;Computer&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Software Requirements
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Arduino IDE&lt;/li&gt;
&lt;li&gt;ESP8266 Board Package&lt;/li&gt;
&lt;li&gt;KiwisIoT Arduino Library&lt;/li&gt;
&lt;li&gt;KiwisIoT Account&lt;/li&gt;
&lt;li&gt;Wi-Fi Connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Circuit Connections
&lt;/h2&gt;

&lt;p&gt;The IR sensor is connected to the ESP8266 NodeMCU.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IR Sensor&lt;/th&gt;
&lt;th&gt;ESP8266 NodeMCU&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;VCC&lt;/td&gt;
&lt;td&gt;3.3V (if supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;td&gt;GND&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OUT&lt;/td&gt;
&lt;td&gt;D7&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The sensor sends a digital signal to the ESP8266 based on object detection.&lt;/p&gt;

&lt;h2&gt;
  
  
  CIRCUIT IMAGE:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdbwanp6h33du68hs2we7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdbwanp6h33du68hs2we7.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does It Work?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The IR sensor detects whether an object is present.&lt;/li&gt;
&lt;li&gt;The ESP8266 reads the digital output using &lt;code&gt;digitalRead()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If the sensor output is LOW, the status becomes DETECTED.&lt;/li&gt;
&lt;li&gt;If the sensor output is HIGH, the status becomes NOT DETECTED.&lt;/li&gt;
&lt;li&gt;The ESP8266 sends the status to KiwisIoT using Wi-Fi.&lt;/li&gt;
&lt;li&gt;The dashboard displays the object detection status.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Arduino Programming
&lt;/h2&gt;

&lt;p&gt;I used Arduino IDE to program the ESP8266 NodeMCU.&lt;/p&gt;

&lt;p&gt;The program uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ESP8266WiFi library for Wi-Fi connectivity.&lt;/li&gt;
&lt;li&gt;KiwisIoT library for IoT communication.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;digitalRead()&lt;/code&gt; for reading sensor values.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;if-else&lt;/code&gt; conditions for object detection.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kiwisiot.send()&lt;/code&gt; to send information to the dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Arduino Code:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;ESP8266WiFi.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;KiwisIoT.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_WIFI_NAME"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_WIFI_PASSWORD"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;topic&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_DASHBOARD_TOPIC_ID"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cp"&gt;#define IR_PIN D7
&lt;/span&gt;
&lt;span class="n"&gt;KiwisIoT&lt;/span&gt; &lt;span class="nf"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;sendObjectStatus&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;irState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;digitalRead&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IR_PIN&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;irState&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;LOW&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;objectStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"DETECTED"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;objectStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"NOT DETECTED"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"---------- IR MONITORING ----------"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"IR Sensor Value: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;irState&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Object Status: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Sent to KiwisIoT Channel 0: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;115200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"     IR OBJECT MONITORING     "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IR_PIN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;INPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"IR sensor initialized"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Connecting to KiwisIoT..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"KiwisIoT initialized"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Starting object monitoring..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="n"&gt;sendObjectStatus&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  KiwisIoT Dashboard
&lt;/h2&gt;

&lt;p&gt;The KiwisIoT platform is used to monitor the object detection status remotely.&lt;/p&gt;

&lt;p&gt;The ESP8266 sends the sensor information through Wi-Fi, and the dashboard displays two possible statuses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DETECTED&lt;/li&gt;
&lt;li&gt;NOT DETECTED&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps monitor object presence without continuously checking the physical sensor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8tzkyj5qyamlrokkiuyl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8tzkyj5qyamlrokkiuyl.png" alt=" " width="740" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Applications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Object Detection Systems&lt;/li&gt;
&lt;li&gt;Entry Monitoring&lt;/li&gt;
&lt;li&gt;Smart Parking Concepts&lt;/li&gt;
&lt;li&gt;Obstacle Detection&lt;/li&gt;
&lt;li&gt;Industrial Automation&lt;/li&gt;
&lt;li&gt;IoT Monitoring Systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Through this project, I learned how to connect an IR sensor with an ESP8266 NodeMCU, read digital sensor values, establish Wi-Fi communication, and send real-time data to an IoT dashboard.&lt;/p&gt;

&lt;p&gt;This project improved my practical understanding of IoT, Arduino programming, sensor interfacing, and embedded systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Adding a buzzer for object detection alerts.&lt;/li&gt;
&lt;li&gt;Integrating multiple IR sensors.&lt;/li&gt;
&lt;li&gt;Adding mobile notifications.&lt;/li&gt;
&lt;li&gt;Storing detection history in a cloud database.&lt;/li&gt;
&lt;li&gt;Developing an automated monitoring system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project demonstrates how an IR sensor, ESP8266 NodeMCU, and KiwisIoT platform can be combined to build a simple real-time object monitoring system.&lt;/p&gt;

&lt;p&gt;It was a valuable learning experience that helped me explore the practical applications of IoT and embedded systems.&lt;/p&gt;

&lt;p&gt;I hope this project helps other beginners who are interested in learning IoT and hardware development.&lt;/p&gt;

</description>
      <category>esp8266</category>
      <category>iot</category>
      <category>arduino</category>
      <category>beginners</category>
    </item>
    <item>
      <title>ESP8266 IR Sensor IoT Project with KiwisIoT</title>
      <dc:creator>manikanda balamurugan S</dc:creator>
      <pubDate>Wed, 14 Oct 2026 12:58:24 +0000</pubDate>
      <link>https://dev.to/bala02102008/esp8266-ir-sensor-iot-project-with-kiwisiot-214o</link>
      <guid>https://dev.to/bala02102008/esp8266-ir-sensor-iot-project-with-kiwisiot-214o</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;This project uses an ESP8266 NodeMCU and an IR sensor to detect objects in real time. The detection status is sent to the KiwisIoT dashboard through Wi-Fi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components Required
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ESP8266 NodeMCU&lt;/li&gt;
&lt;li&gt;IR sensor module&lt;/li&gt;
&lt;li&gt;Jumper wires&lt;/li&gt;
&lt;li&gt;USB cable&lt;/li&gt;
&lt;li&gt;Computer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Software Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Arduino IDE&lt;/li&gt;
&lt;li&gt;ESP8266 board package&lt;/li&gt;
&lt;li&gt;KiwisIoT Arduino library&lt;/li&gt;
&lt;li&gt;KiwisIoT account&lt;/li&gt;
&lt;li&gt;Wi-Fi connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CIRCUIT DIAGRAM
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxnkhqd9pwu0a1udob654.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxnkhqd9pwu0a1udob654.png" alt=" " width="676" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The IR sensor detects whether an object is present.&lt;/li&gt;
&lt;li&gt;The ESP8266 reads the sensor's digital output.&lt;/li&gt;
&lt;li&gt;The system identifies the status as DETECTED or NOT DETECTED.&lt;/li&gt;
&lt;li&gt;The ESP8266 sends the status to KiwisIoT over Wi-Fi.&lt;/li&gt;
&lt;li&gt;The dashboard displays the detection status for remote monitoring.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this project, a LOW signal indicates that an object has been detected, while a HIGH signal indicates that no object is detected.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2btsm0gtlra1ktyj1nkp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2btsm0gtlra1ktyj1nkp.png" alt=" " width="800" height="355"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ARDUINO CODE:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;ESP8266WiFi.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;KiwisIoT.h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;ssid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_WIFI_NAME"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_WIFI_PASSWORD"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;topic&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"YOUR_DASHBOARD_TOPIC_ID"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cp"&gt;#define IR_PIN D7
&lt;/span&gt;
&lt;span class="n"&gt;KiwisIoT&lt;/span&gt; &lt;span class="nf"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ssid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pass&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;sendObjectStatus&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;irState&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;digitalRead&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IR_PIN&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;irState&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;LOW&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;objectStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"DETECTED"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;objectStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"NOT DETECTED"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"---------- IR MONITORING ----------"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"IR Sensor Value: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;irState&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Object Status: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Sent to KiwisIoT Channel 0: "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;objectStatus&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;115200&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"     IR OBJECT MONITORING     "&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;pinMode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IR_PIN&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;INPUT&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"IR sensor initialized"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Connecting to KiwisIoT..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;begin&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"KiwisIoT initialized"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;Serial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Starting object monitoring..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;loop&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;kiwisiot&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;lastSend&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;millis&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="n"&gt;sendObjectStatus&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;delay&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Applications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Object detection&lt;/li&gt;
&lt;li&gt;Entry monitoring&lt;/li&gt;
&lt;li&gt;Smart parking concepts&lt;/li&gt;
&lt;li&gt;Obstacle detection&lt;/li&gt;
&lt;li&gt;Automation projects&lt;/li&gt;
&lt;li&gt;IoT monitoring systems&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Through this project, I learned how to connect an IR sensor to an ESP8266, read digital sensor values, and send sensor data to an IoT dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project demonstrates how basic sensors and Wi-Fi connectivity can be combined with an IoT platform for real-time object monitoring.&lt;/p&gt;

&lt;p&gt;I hope this project helps beginners explore IoT and embedded systems.&lt;/p&gt;

</description>
      <category>iot</category>
      <category>arduino</category>
      <category>esp8266</category>
      <category>ir</category>
    </item>
    <item>
      <title>LDR-Based Light Intensity Monitoring Using KiwisIoT</title>
      <dc:creator>manikanda balamurugan S</dc:creator>
      <pubDate>Fri, 09 Oct 2026 13:41:04 +0000</pubDate>
      <link>https://dev.to/bala02102008/ldr-based-light-intensity-monitoring-using-iot-and-kiwis-iot-5a6j</link>
      <guid>https://dev.to/bala02102008/ldr-based-light-intensity-monitoring-using-iot-and-kiwis-iot-5a6j</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;The Internet of Things (IoT) allows physical devices to collect and exchange data through the internet. In this project, an LDR (Light Dependent Resistor) sensor is used to monitor changes in surrounding light intensity.&lt;/p&gt;

&lt;p&gt;The sensor reading is collected by a microcontroller and monitored through the KiWiS IoT platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective
&lt;/h2&gt;

&lt;p&gt;The main objective is to monitor light intensity in real time and display the sensor readings on an IoT dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components Required
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;LDR sensor&lt;/li&gt;
&lt;li&gt;Microcontroller with Wi-Fi capability&lt;/li&gt;
&lt;li&gt;Resistor&lt;/li&gt;
&lt;li&gt;Breadboard&lt;/li&gt;
&lt;li&gt;Jumper wires&lt;/li&gt;
&lt;li&gt;Power supply&lt;/li&gt;
&lt;li&gt;Wi-Fi connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Software and Platform
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Arduino IDE&lt;/li&gt;
&lt;li&gt;KiwisIoT platform&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Working Principle
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The LDR sensor detects the light falling on its surface.&lt;/li&gt;
&lt;li&gt;The sensor's electrical response changes according to the surrounding light.&lt;/li&gt;
&lt;li&gt;The microcontroller reads the sensor signal.&lt;/li&gt;
&lt;li&gt;The microcontroller sends the reading to the KiwisIoT platform through Wi-Fi.&lt;/li&gt;
&lt;li&gt;The dashboard displays the received sensor data.&lt;/li&gt;
&lt;li&gt;The displayed reading changes when the surrounding light conditions change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9f64gjlm9m4luyudp9q.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9f64gjlm9m4luyudp9q.jpeg" alt=" " width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Circuit Diagram
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9924w0w46y4czgjhlafl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9924w0w46y4czgjhlafl.png" alt=" " width="799" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  System Flow
&lt;/h2&gt;

&lt;p&gt;Light Source → LDR Sensor → Microcontroller → Wi-Fi → KiwisIoT Dashboard&lt;/p&gt;

&lt;h2&gt;
  
  
  Realtime Image
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa99s20e8paet7txfrf9v.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa99s20e8paet7txfrf9v.jpeg" alt=" " width="800" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  LIGHT MONITORING CODE
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;ESP8266WiFi.h&amp;gt;
#include &amp;lt;KiwisIoT.h&amp;gt;

const char* ssid = "XXX";
const char* pass = "YYY";

const char* topic = "dash_1234";

#define LDR_PIN A0

KiwisIoT kiwisiot(ssid, pass, topic);

void sendLightData() {

  int rawValue = analogRead(LDR_PIN);

  int lightLevel = 1023 - rawValue;

  String lightStatus;

  if (lightLevel &amp;gt;= 700) {
    lightStatus = "BRIGHT";
  }
  else if (lightLevel &amp;gt;= 300) {
    lightStatus = "MEDIUM";
  }
  else {
    lightStatus = "DARK";
  }

  Serial.println();
  Serial.println("---------- LIGHT MONITORING ----------");

  Serial.print("Raw LDR Value: ");
  Serial.println(rawValue);

  Serial.print("Light Level: ");
  Serial.println(lightLevel);

  Serial.print("Light Status: ");
  Serial.println(lightStatus);

  kiwisiot.send("0", String(lightLevel));

  kiwisiot.send("1", lightStatus);

  Serial.print("Sent to KiwisIoT Channel 0: ");
  Serial.println(lightLevel);

  Serial.print("Sent to KiwisIoT Channel 1: ");
  Serial.println(lightStatus);
}

void setup() {

  Serial.begin(115200);

  Serial.println();
  Serial.println("    LDR LIGHT MONITORING    ");

  pinMode(LDR_PIN, INPUT);

  Serial.println("LDR initialized");

  Serial.println("Connecting to KiwisIoT...");

  kiwisiot.begin();

  Serial.println("KiwisIoT initialized");
  Serial.println("Starting light monitoring...");
}

void loop() {

  kiwisiot.run();

  static unsigned long lastSend = 0;

  if (millis() - lastSend &amp;gt;= 2000) {

    lastSend = millis();

    sendLightData();
  }

  delay(100);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Applications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Smart lighting systems&lt;/li&gt;
&lt;li&gt;Indoor light monitoring&lt;/li&gt;
&lt;li&gt;Smart classrooms&lt;/li&gt;
&lt;li&gt;Energy-saving automation&lt;/li&gt;
&lt;li&gt;IoT-based environmental monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Future Enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Automatic light ON/OFF control&lt;/li&gt;
&lt;li&gt;Mobile notifications&lt;/li&gt;
&lt;li&gt;Sensor data logging&lt;/li&gt;
&lt;li&gt;Historical data analysis&lt;/li&gt;
&lt;li&gt;Automatic brightness control&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project demonstrates how an LDR sensor and a Wi-Fi-enabled microcontroller can be used for IoT-based light monitoring. By connecting the system to KiwisIoT, sensor readings can be viewed through an online dashboard.&lt;/p&gt;

&lt;p&gt;The project provides a foundation for developing more advanced smart lighting and environmental monitoring applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Category
&lt;/h2&gt;

&lt;p&gt;IoT | Embedded Systems | Sensor Monitoring&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback
&lt;/h2&gt;

&lt;p&gt;Have you worked on a similar IoT project? Share your ideas and suggestions in the comments!&lt;/p&gt;

</description>
      <category>iot</category>
      <category>arduino</category>
      <category>beginners</category>
      <category>electronics</category>
    </item>
  </channel>
</rss>
