This project was intended to be a low-power, Wi-Fi-connected open-source IoT button, designed primarily for use in environments like restaurants, shops, or offices as a simple "Call Me" or "Request Assistance" button.
It integrates with any backend that accepts HTTP POST requests and was designed with integration into www.sagel-ai.com in mind.
- Built on the ESP8266 (WROOM-02 / D1 Mini) platform
- Uses WiFiManager to let users connect the button to their Wi-Fi network via a web portal
- On every button press (via RST), it:
- Connects to Wi-Fi
- Sends a POST request to your backend (URL configurable in firmware)
- Immediately goes into deep sleep for ultra-low power consumption
- Long press (5+ seconds on GPIO0 at boot) clears saved Wi-Fi credentials and enters config mode
- Designed using Fusion 360
- 3D files (
.f3z
,.step
) included in thehardware/v1
directory - Schematic and pinout images also provided
smart_button/
: PlatformIO-based firmware for the ESP8266backend example/
: Python Flask server for receiving button presseshardware/v1/
: 3D models and production assetspinout.png
: Visual references
This was originally a research and development project exploring feasible integration of physical IoT triggers with the SAGEL-AI automation platform.
However, after testing and evaluation, it became clear that:
- The business use case (e.g., in restaurants) doesn't justify the complexity or cost of managing physical buttons, simply put using a QR code to redirect to our app, where the user can press a button to call someone is a much easier solution compared to a physical button.
This project is released under the MIT License, so you're free to use, modify, and integrate it however you wish.
Although this project won’t be actively developed any further, I hope it serves as a useful reference or a starting point for others building simple IoT interactions.
Pull requests and forks are welcome if you’d like to improve or repurpose it.
Created by: Sagel AI