{"id":3920,"date":"2026-03-31T01:57:24","date_gmt":"2026-03-31T05:57:24","guid":{"rendered":"https:\/\/pirhome.com\/?p=3916"},"modified":"2026-03-31T01:57:24","modified_gmt":"2026-03-31T05:57:24","slug":"pir-esp-now-wireless-notification","status":"publish","type":"post","link":"https:\/\/www.pirhome.com\/?p=3920","title":{"rendered":"PIR Sensor Wireless Notification System with ESP-NOW"},"content":{"rendered":"<h2>Project Overview<\/h2>\n<p>This project creates a wireless motion notification system that uses ESP-NOW protocol to send alerts between ESP32 boards without requiring a Wi-Fi network. It&#8217;s perfect for monitoring remote locations like workshops, sheds, or entry gates where Wi-Fi may not reach.<\/p>\n<p><strong>Difficulty:<\/strong> Intermediate<br \/>\n<strong>Estimated time:<\/strong> 2-3 hours<br \/>\n<strong>Estimated cost:<\/strong> $20-30 (two ESP32 boards + PIR sensors)<\/p>\n<h2>How It Works<\/h2>\n<p>Two ESP32 boards communicate via ESP-NOW, a low-power, connectionless protocol developed by Espressif. The transmitter unit has a PIR sensor. When motion is detected, it sends a packet to the receiver unit. The receiver unit can display an alert via LED, buzzer, or LCD, and can also send notifications to a phone via Wi-Fi if available.<\/p>\n<p>ESP-NOW works without Wi-Fi, has very low latency, and can achieve ranges of 50-100 meters line-of-sight.<\/p>\n<h2>Materials Needed<\/h2>\n<ul>\n<li><strong>ESP32 development boards<\/strong> (2) \u2013 one for transmitter, one for receiver<\/li>\n<li><strong>HC-SR501 PIR sensor<\/strong> (1)<\/li>\n<li><strong>LED<\/strong> (for alert indication)<\/li>\n<li><strong>Buzzer<\/strong> (optional)<\/li>\n<li><strong>LCD 16&#215;2 with I2C<\/strong> (optional, for display)<\/li>\n<li><strong>Resistors<\/strong> (220\u03a9 for LEDs)<\/li>\n<li><strong>Jumper wires<\/strong><\/li>\n<li><strong>Power supplies<\/strong> (5V USB or batteries)<\/li>\n<li><strong>Enclosures<\/strong> (for weatherproofing if outdoor)<\/li>\n<\/ul>\n<h2>Circuit Diagram<\/h2>\n<h3>Transmitter Unit Connection Table<\/h3>\n<table border=\"1\">\n<thead>\n<th>Component<\/th>\n<th>Pin<\/th>\n<th>ESP32 Pin<\/th>\n<\/thead>\n<tbody>\n<th>PIR Sensor<\/th>\n<td>VCC<\/th>\n<td>3.3V<\/th>\n<\/tr>\n<th>PIR Sensor<\/th>\n<td>GND<\/th>\n<td>GND<\/th>\n<\/tr>\n<th>PIR Sensor<\/th>\n<td>OUT<\/th>\n<td>GPIO 4<\/th>\n<\/tr>\n<th>Status LED<\/th>\n<td>Anode<\/th>\n<td>GPIO 2 (through 220\u03a9)<\/th>\n<\/tr>\n<th>Status LED<\/th>\n<td>Cathode<\/th>\n<td>GND<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Receiver Unit Connection Table<\/h3>\n<table border=\"1\">\n<thead>\n<th>Component<\/th>\n<th>Pin<\/th>\n<th>ESP32 Pin<\/th>\n<\/thead>\n<tbody>\n<th>Alert LED<\/th>\n<td>Anode<\/th>\n<td>GPIO 2 (through 220\u03a9)<\/th>\n<\/tr>\n<th>Alert LED<\/th>\n<td>Cathode<\/th>\n<td>GND<\/th>\n<\/tr>\n<th>Buzzer<\/th>\n<td>Positive<\/th>\n<td>GPIO 5<\/th>\n<\/tr>\n<th>Buzzer<\/th>\n<td>Negative<\/th>\n<td>GND<\/th>\n<\/tr>\n<th>LCD (I2C)<\/th>\n<td>VCC<\/th>\n<td>3.3V<\/th>\n<\/tr>\n<th>LCD (I2C)<\/th>\n<td>GND<\/th>\n<td>GND<\/th>\n<\/tr>\n<th>LCD (I2C)<\/th>\n<td>SDA<\/th>\n<td>GPIO 21<\/th>\n<\/tr>\n<th>LCD (I2C)<\/th>\n<td>SCL<\/th>\n<td>GPIO 22<\/th>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>ESP-NOW Setup: Get MAC Addresses<\/h2>\n<p>First, upload this code to both ESP32 boards to get their MAC addresses:<\/p>\n<pre><code>#include &lt;WiFi.h&gt;\n\nvoid setup() {\n  Serial.begin(115200);\n  WiFi.mode(WIFI_STA);\n  Serial.print(\"MAC Address: \");\n  Serial.println(WiFi.macAddress());\n}\n\nvoid loop() {}\n<\/code><\/pre>\n<p>Note the MAC address of the receiver board. You&#8217;ll need it for the transmitter code.<\/p>\n<h2>Transmitter Code<\/h2>\n<pre><code>\/\/ ESP-NOW Motion Sensor Transmitter\n#include &lt;esp_now.h&gt;\n#include &lt;WiFi.h&gt;\n\nconst int pirPin = 4;\nconst int ledPin = 2;\n\n\/\/ Replace with receiver's MAC address\nuint8_t receiverAddress[] = {0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX};\n\n\/\/ Message structure\ntypedef struct struct_message {\n  int motionDetected;\n  int sensorId;\n  unsigned long timestamp;\n} struct_message;\n\nstruct_message motionData;\n\nunsigned long lastSendTime = 0;\nconst unsigned long sendCooldown = 5000; \/\/ 5 seconds between sends\n\nvoid OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {\n  Serial.print(\"Send status: \");\n  Serial.println(status == ESP_NOW_SEND_SUCCESS ? \"Success\" : \"Fail\");\n  digitalWrite(ledPin, status == ESP_NOW_SEND_SUCCESS ? HIGH : LOW);\n  delay(100);\n  digitalWrite(ledPin, LOW);\n}\n\nvoid setup() {\n  Serial.begin(115200);\n  pinMode(pirPin, INPUT);\n  pinMode(ledPin, OUTPUT);\n  digitalWrite(ledPin, LOW);\n  \n  WiFi.mode(WIFI_STA);\n  \n  if (esp_now_init() != ESP_OK) {\n    Serial.println(\"ESP-NOW init failed\");\n    return;\n  }\n  \n  esp_now_register_send_cb(OnDataSent);\n  \n  esp_now_peer_info_t peerInfo;\n  memcpy(peerInfo.peer_addr, receiverAddress, 6);\n  peerInfo.channel = 0;\n  peerInfo.encrypt = false;\n  \n  if (esp_now_add_peer(&peerInfo) != ESP_OK) {\n    Serial.println(\"Failed to add peer\");\n    return;\n  }\n  \n  Serial.println(\"Transmitter Ready\");\n  Serial.print(\"Receiver MAC: \");\n  for (int i = 0; i < 6; i++) {\n    Serial.printf(\"%02X\", receiverAddress[i]);\n    if (i < 5) Serial.print(\":\");\n  }\n  Serial.println();\n  \n  delay(60000); \/\/ PIR warm-up\n}\n\nvoid loop() {\n  bool motion = digitalRead(pirPin) == HIGH;\n  \n  if (motion &#038;&#038; (millis() - lastSendTime > sendCooldown)) {\n    motionData.motionDetected = 1;\n    motionData.sensorId = 1;\n    motionData.timestamp = millis();\n    \n    esp_now_send(receiverAddress, (uint8_t *) &motionData, sizeof(motionData));\n    lastSendTime = millis();\n    Serial.println(\"Motion detected - sending alert\");\n  }\n  \n  delay(100);\n}\n<\/code><\/pre>\n<h2>Receiver Code<\/h2>\n<pre><code>\/\/ ESP-NOW Motion Sensor Receiver\n#include &lt;esp_now.h&gt;\n#include &lt;WiFi.h&gt;\n#include &lt;Wire.h&gt;\n#include &lt;LiquidCrystal_I2C.h&gt;\n\nLiquidCrystal_I2C lcd(0x27, 16, 2);\n\nconst int alertLedPin = 2;\nconst int buzzerPin = 5;\n\nunsigned long lastAlertTime = 0;\nconst unsigned long alertDuration = 5000; \/\/ 5 seconds alert indication\n\nbool alertActive = false;\nint lastMotionCount = 0;\n\n\/\/ Message structure (must match transmitter)\ntypedef struct struct_message {\n  int motionDetected;\n  int sensorId;\n  unsigned long timestamp;\n} struct_message;\n\nstruct_message motionData;\n\nvoid OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {\n  memcpy(&motionData, incomingData, sizeof(motionData));\n  \n  Serial.print(\"Motion alert from sensor \");\n  Serial.print(motionData.sensorId);\n  Serial.print(\" at \");\n  Serial.println(motionData.timestamp);\n  \n  lastMotionCount++;\n  lastAlertTime = millis();\n  alertActive = true;\n  \n  \/\/ Activate indicators\n  digitalWrite(alertLedPin, HIGH);\n  tone(buzzerPin, 2000, 500);\n  \n  \/\/ Update LCD\n  lcd.clear();\n  lcd.setCursor(0, 0);\n  lcd.print(\"Motion detected!\");\n  lcd.setCursor(0, 1);\n  lcd.print(\"Sensor \");\n  lcd.print(motionData.sensorId);\n  lcd.print(\" Count: \");\n  lcd.print(lastMotionCount);\n}\n\nvoid setup() {\n  Serial.begin(115200);\n  pinMode(alertLedPin, OUTPUT);\n  pinMode(buzzerPin, OUTPUT);\n  digitalWrite(alertLedPin, LOW);\n  \n  lcd.init();\n  lcd.backlight();\n  lcd.setCursor(0, 0);\n  lcd.print(\"ESP-NOW Monitor\");\n  lcd.setCursor(0, 1);\n  lcd.print(\"Ready\");\n  \n  WiFi.mode(WIFI_STA);\n  \n  if (esp_now_init() != ESP_OK) {\n    Serial.println(\"ESP-NOW init failed\");\n    return;\n  }\n  \n  esp_now_register_recv_cb(OnDataRecv);\n  \n  Serial.println(\"Receiver Ready\");\n  Serial.print(\"MAC Address: \");\n  Serial.println(WiFi.macAddress());\n}\n\nvoid loop() {\n  if (alertActive && (millis() - lastAlertTime > alertDuration)) {\n    digitalWrite(alertLedPin, LOW);\n    alertActive = false;\n    lcd.clear();\n    lcd.setCursor(0, 0);\n    lcd.print(\"System Ready\");\n    lcd.setCursor(0, 1);\n    lcd.print(\"Total alerts: \");\n    lcd.print(lastMotionCount);\n  }\n  \n  delay(100);\n}\n<\/code><\/pre>\n<h2>Multiple Sensors Network<\/h2>\n<p>To add more sensors, modify the transmitter code with a unique sensor ID for each unit:<\/p>\n<pre><code>\/\/ For sensor #2 (different ID)\nmotionData.sensorId = 2;\n\n\/\/ For sensor #3\nmotionData.sensorId = 3;\n<\/code><\/pre>\n<p>The receiver will display which sensor triggered.<\/p>\n<h2>Range Extension Tips<\/h2>\n<ul>\n<li>Use external antennas on ESP32 boards (some boards have IPEX connectors).<\/li>\n<li>Place units with line-of-sight when possible.<\/li>\n<li>Use 2.4GHz Wi-Fi channel 1 for better performance.<\/li>\n<li>Add external power (not USB) to ensure consistent transmission power.<\/li>\n<\/ul>\n<h2>Power-Saving Version (Deep Sleep)<\/h2>\n<p>For battery-powered remote sensors, add deep sleep:<\/p>\n<pre><code>\/\/ Add to transmitter code\n#include &lt;esp_sleep.h&gt;\n\nvoid setup() {\n  \/\/ ... existing setup ...\n  esp_sleep_enable_ext0_wakeup((gpio_num_t)pirPin, 1);\n}\n\nvoid loop() {\n  \/\/ After sending, go to deep sleep\n  esp_deep_sleep_start();\n}\n<\/code><\/pre>\n<p>With deep sleep, battery life can extend to months or even years.<\/p>\n<h2>Installation Steps<\/h2>\n<ol>\n<li><strong>Get MAC addresses:<\/strong> Upload MAC scanner to both boards, record receiver MAC.<\/li>\n<li><strong>Program transmitter:<\/strong> Update receiver MAC address and upload code.<\/li>\n<li><strong>Program receiver:<\/strong> Upload code and test.<\/li>\n<li><strong>Test communication:<\/strong> Place boards within range, trigger motion, verify receiver alerts.<\/li>\n<li><strong>Mount sensors:<\/strong> Place transmitter unit at desired monitoring location (mailbox, gate, shed).<\/li>\n<li><strong>Place receiver:<\/strong> Keep receiver unit where you can see\/hear alerts.<\/li>\n<li><strong>Power up:<\/strong> Use USB power or batteries.<\/li>\n<\/ol>\n<h2>Project Extensions<\/h2>\n<ul>\n<li><strong>Wi-Fi gateway:<\/strong> Add Wi-Fi to receiver to forward alerts to phone via Telegram\/Blynk.<\/li>\n<li><strong>Data logging:<\/strong> Add SD card module to receiver to log all events.<\/li>\n<li><strong>Temperature sensor:<\/strong> Add DS18B20 to transmitter to send temperature data.<\/li>\n<li><strong>Battery monitoring:<\/strong> Add voltage divider to transmitter to send battery level.<\/li>\n<li><strong>Meshing:<\/strong> Add multiple receivers or repeaters for larger coverage area.<\/li>\n<\/ul>\n<h2>Troubleshooting<\/h2>\n<ul>\n<li><strong>No communication:<\/strong> Check MAC address. Ensure boards are within range. Try swapping transmitter\/receiver roles.<\/li>\n<li><strong>Intermittent connection:<\/strong> Reduce distance. Use external antennas.<\/li>\n<li><strong>False alerts:<\/strong> Adjust PIR sensitivity. Ensure sensor not facing heat sources.<\/li>\n<li><strong>Receiver not displaying:<\/strong> Check LCD wiring and I2C address.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>This ESP-NOW wireless notification system provides a low-power, long-range solution for monitoring remote locations without Wi-Fi. It&#8217;s ideal for property perimeter monitoring, mailbox alerts, and workshop security.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Project Overview This project creates a wireless motion notification system that uses ESP-NOW protocol to send alerts between ESP32 boards without requiring a Wi-Fi network. It&#8217;s perfect for monitoring remote locations like workshops, sheds, or entry gates where Wi-Fi may not reach. Difficulty: Intermediate Estimated time: 2-3 hours Estimated cost: $20-30 (two ESP32 boards + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-3920","post","type-post","status-publish","format-standard","hentry","category-projects"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME<\/title>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"http:\/\/www.pirhome.com\/?p=3920\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME\" \/>\r\n<meta property=\"og:description\" content=\"Project Overview This project creates a wireless motion notification system that uses ESP-NOW protocol to send alerts between ESP32 boards without requiring a Wi-Fi network. It&#8217;s perfect for monitoring remote locations like workshops, sheds, or entry gates where Wi-Fi may not reach. Difficulty: Intermediate Estimated time: 2-3 hours Estimated cost: $20-30 (two ESP32 boards + [&hellip;]\" \/>\r\n<meta property=\"og:url\" content=\"http:\/\/www.pirhome.com\/?p=3920\" \/>\r\n<meta property=\"og:site_name\" content=\"PIRHOME\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-03-31T05:57:24+00:00\" \/>\r\n<meta name=\"author\" content=\"nic@nicsky.com\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"nic@nicsky.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920\"},\"author\":{\"name\":\"nic@nicsky.com\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#\\\/schema\\\/person\\\/41049b5236f9c77c9314997d070db3e3\"},\"headline\":\"PIR Sensor Wireless Notification System with ESP-NOW\",\"datePublished\":\"2026-03-31T05:57:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920\"},\"wordCount\":581,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#organization\"},\"articleSection\":[\"Projects\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.pirhome.com\\\/?p=3920#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920\",\"url\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920\",\"name\":\"PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#website\"},\"datePublished\":\"2026-03-31T05:57:24+00:00\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.pirhome.com\\\/?p=3920\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/?p=3920#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/www.pirhome.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PIR Sensor Wireless Notification System with ESP-NOW\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#website\",\"url\":\"http:\\\/\\\/www.pirhome.com\\\/\",\"name\":\"PIRHOME\",\"description\":\"PIR &amp; Motion Sensor\",\"publisher\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/www.pirhome.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#organization\",\"name\":\"PIRHOME\",\"url\":\"http:\\\/\\\/www.pirhome.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.pirhome.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-\u5fae\u4fe1\u56fe\u7247_2026-02-19_222409_472.jpg\",\"contentUrl\":\"https:\\\/\\\/www.pirhome.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-\u5fae\u4fe1\u56fe\u7247_2026-02-19_222409_472.jpg\",\"width\":512,\"height\":512,\"caption\":\"PIRHOME\"},\"image\":{\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/www.pirhome.com\\\/#\\\/schema\\\/person\\\/41049b5236f9c77c9314997d070db3e3\",\"name\":\"nic@nicsky.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g\",\"caption\":\"nic@nicsky.com\"},\"sameAs\":[\"http:\\\/\\\/www.pirhome.com\"],\"url\":\"https:\\\/\\\/www.pirhome.com\\\/?author=1\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.pirhome.com\/?p=3920","og_locale":"en_US","og_type":"article","og_title":"PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME","og_description":"Project Overview This project creates a wireless motion notification system that uses ESP-NOW protocol to send alerts between ESP32 boards without requiring a Wi-Fi network. It&#8217;s perfect for monitoring remote locations like workshops, sheds, or entry gates where Wi-Fi may not reach. Difficulty: Intermediate Estimated time: 2-3 hours Estimated cost: $20-30 (two ESP32 boards + [&hellip;]","og_url":"http:\/\/www.pirhome.com\/?p=3920","og_site_name":"PIRHOME","article_published_time":"2026-03-31T05:57:24+00:00","author":"nic@nicsky.com","twitter_card":"summary_large_image","twitter_misc":{"Written by":"nic@nicsky.com","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.pirhome.com\/?p=3920#article","isPartOf":{"@id":"http:\/\/www.pirhome.com\/?p=3920"},"author":{"name":"nic@nicsky.com","@id":"http:\/\/www.pirhome.com\/#\/schema\/person\/41049b5236f9c77c9314997d070db3e3"},"headline":"PIR Sensor Wireless Notification System with ESP-NOW","datePublished":"2026-03-31T05:57:24+00:00","mainEntityOfPage":{"@id":"http:\/\/www.pirhome.com\/?p=3920"},"wordCount":581,"commentCount":0,"publisher":{"@id":"http:\/\/www.pirhome.com\/#organization"},"articleSection":["Projects"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.pirhome.com\/?p=3920#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.pirhome.com\/?p=3920","url":"http:\/\/www.pirhome.com\/?p=3920","name":"PIR Sensor Wireless Notification System with ESP-NOW - PIRHOME","isPartOf":{"@id":"http:\/\/www.pirhome.com\/#website"},"datePublished":"2026-03-31T05:57:24+00:00","breadcrumb":{"@id":"http:\/\/www.pirhome.com\/?p=3920#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.pirhome.com\/?p=3920"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.pirhome.com\/?p=3920#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/www.pirhome.com\/"},{"@type":"ListItem","position":2,"name":"PIR Sensor Wireless Notification System with ESP-NOW"}]},{"@type":"WebSite","@id":"http:\/\/www.pirhome.com\/#website","url":"http:\/\/www.pirhome.com\/","name":"PIRHOME","description":"PIR &amp; Motion Sensor","publisher":{"@id":"http:\/\/www.pirhome.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.pirhome.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/www.pirhome.com\/#organization","name":"PIRHOME","url":"http:\/\/www.pirhome.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/www.pirhome.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.pirhome.com\/wp-content\/uploads\/2026\/02\/cropped-\u5fae\u4fe1\u56fe\u7247_2026-02-19_222409_472.jpg","contentUrl":"https:\/\/www.pirhome.com\/wp-content\/uploads\/2026\/02\/cropped-\u5fae\u4fe1\u56fe\u7247_2026-02-19_222409_472.jpg","width":512,"height":512,"caption":"PIRHOME"},"image":{"@id":"http:\/\/www.pirhome.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"http:\/\/www.pirhome.com\/#\/schema\/person\/41049b5236f9c77c9314997d070db3e3","name":"nic@nicsky.com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/271d4eaab48e299e4fce771a8c43c537be3ac77a3115cc7de802a6c8b692d971?s=96&d=mm&r=g","caption":"nic@nicsky.com"},"sameAs":["http:\/\/www.pirhome.com"],"url":"https:\/\/www.pirhome.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/posts\/3920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3920"}],"version-history":[{"count":1,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/posts\/3920\/revisions"}],"predecessor-version":[{"id":4037,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=\/wp\/v2\/posts\/3920\/revisions\/4037"}],"wp:attachment":[{"href":"https:\/\/www.pirhome.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pirhome.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}