A minimal UPnP IGD library for ESP8266/ESP32 to automate port forwarding on routers.
TinyUPnP is an Arduino library that provides a minimal UPnP Internet Gateway Device (IGD) implementation for ESP8266 and ESP32 microcontrollers. It automates port forwarding on compatible routers, allowing IoT devices to accept incoming connections without manual router configuration. This solves the problem of accessing IoT servers behind NAT or firewall restrictions.
IoT developers and hobbyists building ESP8266/ESP32 projects that need to accept incoming network connections, such as web servers, API endpoints, or remote control interfaces.
Developers choose TinyUPnP for its simplicity, small footprint, and dedicated focus on UPnP port forwarding for ESP platforms, avoiding the complexity of larger networking libraries. It provides a straightforward API that handles router communication automatically.
A very small UPnP IGD implementation for your ESP8266 for automatic port forwarding
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Focuses solely on essential UPnP IGD commands, avoiding bloat and keeping the codebase small for resource-constrained ESP devices, as stated in its philosophy.
Handles UPnP requests to routers automatically, enabling inbound connections without manual configuration, which is core to its value proposition.
Specifically supports ESP8266 and ESP32, with clear installation guides for these boards in the README, ensuring compatibility.
Includes serial debug prints and methods like printPortMappingConfig to list rules, aiding in development and troubleshooting.
Admits in the README that it skips the SCPDURL stage and assumes query similarity, which may cause failures with non-standard UPnP implementations.
Requires external libraries like EasyDDNS for dynamic DNS functionality, adding setup complexity and reducing out-of-the-box utility.
Installation involves copying folders and managing board managers manually, which can be cumbersome compared to more integrated solutions.