{"id":19834572,"url":"https://github.com/thingpulse/esp32-espnow-gateway","last_synced_at":"2025-06-14T09:38:32.823Z","repository":{"id":39630141,"uuid":"402052627","full_name":"ThingPulse/esp32-espnow-gateway","owner":"ThingPulse","description":"Project for the ThingPulse ESPNow Gateway","archived":false,"fork":false,"pushed_at":"2022-10-29T09:08:35.000Z","size":1603,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-01T17:31:46.355Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThingPulse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-01T12:28:10.000Z","updated_at":"2024-12-11T03:46:37.000Z","dependencies_parsed_at":"2023-01-19T18:46:50.166Z","dependency_job_id":null,"html_url":"https://github.com/ThingPulse/esp32-espnow-gateway","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThingPulse/esp32-espnow-gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThingPulse%2Fesp32-espnow-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThingPulse%2Fesp32-espnow-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThingPulse%2Fesp32-espnow-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThingPulse%2Fesp32-espnow-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThingPulse","download_url":"https://codeload.github.com/ThingPulse/esp32-espnow-gateway/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThingPulse%2Fesp32-espnow-gateway/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259796304,"owners_count":22912688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:05:05.955Z","updated_at":"2025-06-14T09:38:32.790Z","avatar_url":"https://github.com/ThingPulse.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThingPulse ESPGateway\n\nThe ThingPulse ESPGateway is a versatile device that comes with two ESP32-WROVER-IB modules.\nThe two ESP32s are connected by two lines used for inter-ESP32 communication over Serial\nor other protocols. Each of the ESP32 can also control two WS2812B RGB Leds at the front \nof the device. \n\nThe ESPGateway is available for purchase at [ThingPulse ESPGateway](https://thingpulse.com/product/espgateway/)\n\n![Gateway](https://thingpulse.com/wp-content/uploads/2022/09/GatewayWithAntenna.jpg)\n\n## The Project\n\nThis project shows how the ESPGateway can be used with ESPNow protocol.\nOne of the two ESP32 modules listens for ESPNow messages. When it receives\na message it will send it over the serial line to the other ESP32 module.\nThis module is connected over WiFi to a MQTT broker. When receiving\na message over the serial line it will forward the message to MQTT.\n\nThe project also contains a ESPNow node. The ESPNow node is usually a device \nrunning from battery power. It will send short messages over ESPNow to the gateway and go back to sleep.\n\n![Architecture](/resources/Architecture.png)\n\nIn this blog post we describe how this can extend the battery life by a factor of 6 or more:\n[ESPNow Blog Post](https://thingpulse.com/esp32-ultra-long-battery-life-with-espnow/)\n\n## Building the project\n\nThis project contains actually code for three different ESP32 modules. Control which firmware\nshall be flashed by selecting the right target in platformio.ini:\n\n```\n;default_envs = esp32-wifi-client\n;default_envs = esp32-now-node\ndefault_envs = esp32-now-gateway\n````\nfor instance will build and flash the ESP32 module listening for the ESPNow messages.\n\n## Pins\n\nThese are the occupied pins relevant for programming:\n\n```\n#define BUS_RXD     14\n#define BUS_TXD     15\n#define LED_PIN     32\n```\n\n![Inside](https://thingpulse.com/wp-content/uploads/2021/04/ESPNowGateway1.jpeg)\n\n## Photos\n\n![Labeled](https://thingpulse.com/wp-content/uploads/2021/05/GatewayBackWithLabels.jpg)\n![Back](https://thingpulse.com/wp-content/uploads/2021/05/GatewayBackPerspective.jpg)\n![Perspective](https://thingpulse.com/wp-content/uploads/2022/09/GatewayWithAntenna.jpg)\n![Top](https://thingpulse.com/wp-content/uploads/2021/05/GatewayTop.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthingpulse%2Fesp32-espnow-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthingpulse%2Fesp32-espnow-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthingpulse%2Fesp32-espnow-gateway/lists"}