ESP

Awesome ESP Awesome Contributor Covenant

A curated list of awesome ESP8266/32 projects and code.

ESP8266 ESP32

Both the ESP8266 and the ESP32 are low-cost Wi-Fi microchips with full TCP/IP stack and microcontroller capabilities produced by the Shanghai-based manufacturer Espressif Systems.
See Contributing for information on how to contribute to this list.


Firmware

  • Espressif AT - The default vanilla firmware for the ESP8266.
  • NodeMCU - An eLua-based firmware for the ESP8266.
  • ESPBasic - A BASIC firmware for easy and wireless programming, ready for the 8266.
  • MicroPython - An implemention of Python3 for the ESP8266 and 32.
  • ESP32 - An experimental firmware for 3D Printers, both the ESP32 and 8266.
  • Frankenstein - A quick and dirty firmware with cool features for the ESP8266.
  • MongooseOS - An IoT specific firmware, with both C and JS. Available for the ESP32/8266.
  • DeviceHive - A firmware made as a client for DeviceHive's IoT data platform, only for the 8266.
  • RT-Thread - Chinese open source firmware available for the ESP32.
  • Sming Framework - Superb C/C++ IoT Framework with support for ESP8266 and ESP32.

Tools

  • ESP Flash Tool - The vanilla firmware flasher for both ESP's.
  • Arduino Core/8266 - The Arduino core for the ESP8266.
  • Arduino Core/32 - The other Arduino core for the ESP32.
  • ESPTool - Espressif's command line tool for bootloader comms in both ESP's.
  • ESP-Open-SDK - An open SDK for the ESP8266.
  • ESPTool-ck - A CLI tool for flashing in the ESP8266.
  • ESPTool-gui - A flashing GUI tool based on ESPTool-ck.
  • NodeMCU Flasher - NodeMCU's official flashing tool for its OS.
  • LuaNode - A lua-only SDK for 32/8266.
  • Tuya-Convert - A Wi-Fi firmware flasher ESP8266 that has been pre-loaded with Tuya firmware.
  • Tasmotizer - A graphical flashing tool for Tasmota firmware. Can manage Wi-Fi & MQTT settings, modules & templates.
  • Arduino FS Plugin - An Arduino plugin for filesystem uploads in the 8266.
  • PlatformIO - Cross Platform IDE and Debugger that supports both the ESP32 and ESP8266.

Projects

Smart Home and IoT

  • OpenMQTTGateway - An implementation of a multiprotocol MQTT gateway for both ESP's among other devices.
  • ESPHome - A full-featured system for controlling ESP's through simple yet powerful configuration files and Home Automation systems.
  • Tasmota - An alternative firmware for Sonoff & other ESP8266/ESP32 devices. Includes a large collection of sensor drivers & integrates with Home Assistant natively or via MQTT.
  • Sonoff-Homekit - An alternative firmware for Sonoff devices (and other 8266 devices) which allows control through Apple's Homekit.
  • DoorsignEPD - A smart... doorsign with an E-Paper display using the ESP32.
  • EPaperWeatherDisplay - A very cute e-ink weather display using the ESP32.
  • SuperGreenOS - A full-featured home farming automation software for the ESP32.
  • CanAirIO - Citizen science project that uses mobile and fixed stations to measure air quality with ESP32 and smartphones.

InfoSec

  • ESP32-BLECollector - A wardriving device which displays BLE devices and collects data from them, all in a nice screen interface.
  • ESP32Marauder - An integrated suite of offensive and defensive tools for WiFi and Bluetooth.
  • ArduinoPcap - A library which allows generation of .pcap files with network traffic, for both ESP's.
  • WiFi Satellite - A giant Wifi "satellite" that can monitor all 14 2.4Ghz channels using, well, 14 ESP32s.
  • ESP8266 Deauther - A very cool pseudojammer (deauther) of Wifi networks that uses the ESP8266.
  • PacketMonitor - A beautiful OLED monitor for packet activity in a WiFi channel. Two versions for each ESP.
  • WiFiDuck - A wireless-enabled keystroke injector, analogous, but even more awesome than the Rubber Ducky.
  • ESP8266 Beacon Spam - Want to confuse people? This device creates hundreds of fake WiFi networks.
  • DeauthDetector - A small device that shines a light if it detects a WiFi deauth attack. Made by the same guy as the last six projects.

Biomedical

  • HeartyPatch - A wearable BLE and WiFi connected ECG-HR patch which uses the ESP32.
  • HealthyPi v4 - An amazing open source vital signs monitor that can monitor ECG, respiration, pulse oximetry and body temperature, all run by an ESP32.

LoRa

  • Meshtastic - ESP32 LoRA boards as secure, long battery life, mesh GPS communicators.
  • ESP32-Paxcounter Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini Paxcounter built on cheap ESP32 LoRa IoT boards
  • Disaster Radio - A disaster-resilient communications network powered by the sun

Others

  • Open SmartWatch - A FOSS smartwatch with GPS, an inertial unit and an extremely cool 3D-printed case.
  • SoftRF - A DIY aviation proximity awareness system that can be used in UAV projects.
  • Retro ESP32 - An extremely cool launcher for the Odroid Go (with the ESP32), which allows emulating several retro consoles.
  • PedalinoMini - A wireless MIDI pedal controller for guitarists, built with the ESP32.
  • StickWatch - A smartwatch module based on the M5Stick, using the ESP32.
  • DroneBridge - An implementation of DroneBridge, a signal link for drones and UAV's on the ESP32.

Libraries

  • Wasm3 - A lightning fast WebAssembly interpreter designed for embedded devices, compatible with both ESP's.
  • Homie8266 - Framework implementation of the Homie protocol for the 8266.
  • ESP-Dash - Beautiful and fast framework for creating remote dashboards in the 8266/32. No internet required.
  • ESP_mqtt - MQTT helper library for the ESP8266.
  • GUIslice - A drag and drop GUI framework for several devices and screen controllers. Compatible with 8266 and 32.
  • MicroWebSrv2 - A very powerful MicroPython web server which can be used in the ESP32.
  • IRremoteESP8266 - Emit and receive IR signals in the ESP8266.
  • esphomelib - Framework to integrate with HomeAssistant in the 8266.
  • TTS - A somehow good text to speech library for several Arduino devices, both ESP's included.
  • Free802.11 - Library to emit arbitrary 802.11 signals with the ESP32.
  • Koyn - A decentralized Bitcoin library for the ESP32 and the ESP8266.
  • TFTLibrary - TFT compatibility for the ESP32.
  • UTFT-ESP - UTFT Support for the ESP32/8266.
  • ESPAudio - Library for playing a diverse range of audio formats in the ESP8266/ESP32.
  • AsyncTCP - Asynchronous TCP Library for both the 8266 and the 32.
  • ESP-HomeKit - Homekit implementation for 8266 on RTOS.
  • ESPHelper - MQTT and Wi-fi automation-oriented library for the 8266.
  • ESPHelper/32 - Port of the ESPHelper library for the 32.
  • ESP8266Wifi - Simple Arduino Wifi library for the 8266.
  • WiFiESP - Arduino library for Wifi management, client/server for 8266 board.
  • TinyGSM - A quick and simple Arduino library for interaction with GSM modules which can also control the 8266 through AT commands.
  • mJS - A lightweight and restricted JS engine that is used by MongooseOS, compatible on the 32 and 8266.
  • ESPUI - A simply library for making interactive web interfaces for both ESP's.
  • ESP32 ePaper - A full-featured library for using ePaper modules with the ESP32.
  • TinyUPnP - A lightweight UPnP IGD library for automatic port forwarding on the 8266 and 32.
  • Esp32SSHClient - A library that implements a SSH client in the ESP32.
  • painlessMesh - A library that takes care of the particulars of creating a simple mesh network using ESP8266 and ESP32 hardware.
  • WifiEspNow - Arduino library for ESP-NOW, a connectionless WiFi communication protocol defined by Espressif.
  • go-mcu - Golang package for interacting with NodeMCU-based boards.
  • CanAirIO SensorLib - ESP32/8266 library with auto-configuration of multiple PM2.5, CO2 and environment sensors.
  • Dhyara - A C/C++ library for making a Mobile Ad hoc Network (MANET) using ESP Now.