Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Projects

English | Español

A collection of ESP-IDF firmware projects for ESP32-C3, ESP32-C5, and ESP32-S3 boards. The repository contains three distinct types of device:

  • Wi-Fi repeaters that share an existing network through a new access point;
  • configurable buttons and digital-sensor nodes that trigger HTTP, MQTT, or WebSocket actions;
  • experimental devices that detect changes in Wi-Fi propagation compatible with movement.

Each project has its own hardware requirements, flashing instructions, configuration guide, and limitations. Most are included as folders in this repository; the ESP32-S3 Tailscale projects link to their own repositories.

Choose a project

I want to... Recommended project Board
Extend a home WPA2-Personal Wi-Fi network WiFi-Repeater ESP32-C3 SuperMini
Extend an enterprise network that uses a username and password WiFi-Repeater-WPA2-Enterprise ESP32-C3 SuperMini
Extend an enterprise network and reach its devices remotely through Tailscale esp32-s3-tailscale-enterprise ESP32-S3
Combine the Tailscale repeater with programmable USB HID automation for authorized labs esp32-s3-tailscale-marauder ESP32-S3
Trigger two HTTP or MQTT actions with physical buttons Smartbutton ESP32-C3 SuperMini ESP32-C3 SuperMini
Trigger five HTTP or MQTT actions Smartbutton ESP32-C3 SuperMini Plus 5 ESP32-C3 SuperMini Plus
Connect PIR, microwave-radar, button, or other digital-output sensors Smartbutton ESP32-C3 Sensors ESP32-C3 SuperMini
Use a two-button node on dual-band Wi-Fi 6 Smartbutton ESP32-C5 ESP32-C5
Add WebSocket actions to the ESP32-C5 button node Smartbutton ESP32-C5 WS ESP32-C5
Experiment with motion sensing through changes in a router-to-ESP32 radio link WiFi Motion RSSI ESP32-C3 ESP32-C3 SuperMini
Run the same experiment with a small local display WiFi Motion RSSI ESP32-C3 OLED 01Space ESP32-C3 0.42 OLED
Run the radio-link experiment on an ESP32-S3 WiFi Motion RSSI ESP32-S3 ESP32-S3
Observe several nearby access points without joining them WiFi Motion RSSI C3 AP Scanner ESP32-C3 SuperMini

Wi-Fi repeaters

These projects connect to an existing Wi-Fi network as a station and create a separate access point for client devices. NAPT routes traffic between both networks.

WiFi-Repeater

WiFi-Repeater extends a conventional WPA2-Personal network. It provides a captive setup portal, a responsive web dashboard, network scanning, connectivity tests, persistent configuration, and web-based firmware updates.

WiFi-Repeater-WPA2-Enterprise

WiFi-Repeater-WPA2-Enterprise is the variant for networks that use EAP-PEAP or EAP-TTLS authentication, commonly found in companies and educational institutions. It also adds TCP/UDP port forwarding and a web log viewer.

esp32-s3-tailscale-enterprise

esp32-s3-tailscale-enterprise combines an ESP32-S3 WPA2-Enterprise repeater with NAPT, a web interface, and Tailscale subnet routing. It is intended for extending an enterprise Wi-Fi network while also making devices behind the ESP32 reachable through a Tailscale network.

esp32-s3-tailscale-marauder

esp32-s3-tailscale-marauder builds on the ESP32-S3 enterprise repeater and Tailscale features with programmable USB HID automation. It supports DuckyScript, stored macros, multiple keyboard layouts, and scheduled execution for authorized laboratory, testing, and automation environments.

Smart buttons and sensor inputs

These devices join your Wi-Fi network and execute a configured action when a physical input changes. Depending on the project, an input can send an HTTP GET/POST request, publish an MQTT message, or send a WebSocket payload.

Project Inputs Actions Local feedback
ESP32-C3 SuperMini 2 buttons HTTP, MQTT Onboard blue LED
ESP32-C3 SuperMini Plus 5 5 buttons HTTP, MQTT Onboard WS2812 RGB LED
ESP32-C3 Sensors 3 configurable digital inputs HTTP, MQTT Onboard blue LED
ESP32-C5 2 buttons HTTP, MQTT WS2812 RGB LED and two button LEDs
ESP32-C5 WS 2 buttons HTTP, MQTT, WebSocket WS2812 RGB LED and two button LEDs

The Sensors variant is not itself a PIR or radar detector. It is an ESP32-C3 interface for up to three external devices with a digital output, such as a PIR sensor, microwave radar, or mechanical button. It adds a startup stabilization period and a cooldown to reduce repeated triggers.

Experimental motion sensing over Wi-Fi

These projects measure how a Wi-Fi radio signal changes over time. Movement of a person or object can alter reflections and paths between a transmitter and the ESP32; the firmware classifies sufficiently large changes as motion-compatible events.

Important

These devices detect changes in radio propagation, not people. They cannot identify or count occupants, may not detect a motionless person, and can react to other environmental changes. They are experiments, not certified presence sensors or security alarms.

Router-linked variants

The following variants join a configured Wi-Fi network and analyze RSSI, CSI, or both. They include calibration, a bilingual web interface, live charts, Telegram notifications, and experimental telemetry.

Project What makes it different
ESP32-C3 SuperMini Base compact ESP32-C3 implementation
ESP32-C3 OLED 0.42 Adds a 72×40 OLED for local state, IP address, RSSI, and scores
ESP32-S3 Port for conventional ESP32-S3 boards, with console and telemetry over UART0

Standalone AP scanner

WiFi Motion RSSI C3 AP Scanner looks for motion-compatible changes in the RSSI of several nearby Wi-Fi access points. It does not connect to those networks and does not need or store their passwords. Instead, it:

  • automatically or manually selects up to eight SSIDs and tracks their BSSIDs;
  • learns a baseline from stable nearby access points;
  • combines signal deviations using an adaptive threshold;
  • creates its own local Wi-Fi network with a captive dashboard;
  • reports insufficient reference coverage separately from motion.

This variant works locally and includes ready-to-flash USB firmware. It does not provide Telegram notifications or OTA updates.

Before flashing

Open the selected project's README before connecting or flashing a board. Pinouts, ESP-IDF versions, flash offsets, prebuilt images, initial credentials, and update methods differ between projects.

In general:

  • configuration is stored in NVS where documented;
  • some projects support OTA updates, while others must be updated over USB;
  • smart buttons may use deep sleep, but Wi-Fi motion experiments must remain active to collect measurements;
  • default access-point and web credentials should be changed before regular use.

License

This repository is distributed under the MIT License. Check the license file inside an individual project when present.

About

Colección de proyectos prácticos con ESP32 y variantes — WiFi repeater, IoT, sensores y más

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages