355 lines
18 KiB
HTML
355 lines
18 KiB
HTML
<h1 id="awesome-esp-awesome-contributor-covenant">Awesome ESP <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a> <a href="code-of-conduct.md"><img
|
||
src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg"
|
||
alt="Contributor Covenant" /></a></h1>
|
||
<p>A curated list of awesome ESP8266/32 projects and code.</p>
|
||
<p><a href="http://espressif.com/en/products/hardware/esp8266ex/overview"><img src="img/esp8266.jpg" alt="ESP8266" align="left" style="margin-right: 25px" height=150></a>
|
||
<a href="http://espressif.com/en/products/hardware/esp32/overview"><img src="https://pbs.twimg.com/profile_images/863510403120222208/rjVOiTe3.jpg" alt="ESP32" align="left" style="margin-right: 25px" height=150></a>
|
||
> Both the <a
|
||
href="http://espressif.com/en/products/hardware/esp8266ex/overview">ESP8266</a>
|
||
and the <a
|
||
href="http://espressif.com/en/products/hardware/esp32/overview">ESP32</a>
|
||
are low-cost Wi-Fi microchips with full TCP/IP stack and microcontroller
|
||
capabilities produced by the Shanghai-based manufacturer Espressif
|
||
Systems. > <br/> > See <a href="contributing.md">Contributing</a>
|
||
for information on how to contribute to this list. > <br/><br/> —</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#firmware">Firmware</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#projects">Projects</a>
|
||
<ul>
|
||
<li><a href="#smart-home-and-iot">Smart Home and IoT</a></li>
|
||
<li><a href="#infosec">InfoSec</a></li>
|
||
<li><a href="#biomedical">Biomedical</a></li>
|
||
<li><a href="#lora">LoRa</a></li>
|
||
<li><a href="#music-and-audio">Music and Audio</a></li>
|
||
<li><a href="#smartwatches">Smartwatches</a></li>
|
||
<li><a href="#others">Others</a></li>
|
||
</ul></li>
|
||
<li><a href="#libraries">Libraries</a></li>
|
||
</ul>
|
||
<h2 id="firmware">Firmware</h2>
|
||
<ul>
|
||
<li><a href="http://bbs.espressif.com/">Espressif AT</a> - The default
|
||
vanilla firmware for the ESP8266.</li>
|
||
<li><a href="https://github.com/nodemcu/nodemcu-firmware">NodeMCU</a> -
|
||
An eLua-based firmware for the ESP8266.</li>
|
||
<li><a href="http://www.esp8266basic.com/">ESPBasic</a> - A BASIC
|
||
firmware for easy and wireless programming, ready for the 8266.</li>
|
||
<li><a
|
||
href="https://github.com/micropython/micropython/">MicroPython</a> - An
|
||
implemention of Python3 for the ESP8266 and 32.</li>
|
||
<li><a href="https://github.com/luc-github/ESP3D">ESP3D</a> - An
|
||
experimental firmware for 3D Printers, both the ESP32 and 8266.</li>
|
||
<li><a
|
||
href="https://github.com/nekromant/esp8266-frankenstein">Frankenstein</a>
|
||
- A quick and dirty firmware with cool features for the ESP8266.</li>
|
||
<li><a href="https://github.com/cesanta/mongoose-os">MongooseOS</a> - An
|
||
IoT specific firmware, with both C and JS. Available for the
|
||
ESP32/8266.</li>
|
||
<li><a href="https://devicehive.com/">DeviceHive</a> - A firmware made
|
||
as a client for DeviceHive’s IoT data platform, only for the 8266.</li>
|
||
<li><a href="https://github.com/RT-Thread/rt-thread">RT-Thread</a> -
|
||
Chinese open source firmware available for the ESP32.</li>
|
||
<li><a href="https://github.com/SmingHub/Sming">Sming Framework</a> -
|
||
Superb C/C++ IoT Framework with support for ESP8266 and ESP32.</li>
|
||
</ul>
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li><a href="http://espressif.com/en/support/download/other-tools">ESP
|
||
Flash Tool</a> - The vanilla firmware flasher for both ESP’s.</li>
|
||
<li><a href="https://github.com/esp8266/arduino">Arduino Core/8266</a> -
|
||
The Arduino core for the ESP8266.</li>
|
||
<li><a href="https://github.com/espressif/arduino-esp32">Arduino
|
||
Core/32</a> - The other Arduino core for the ESP32.</li>
|
||
<li><a href="https://github.com/espressif/esptool">ESPTool</a> -
|
||
Espressif’s command line tool for bootloader comms in both ESP’s.</li>
|
||
<li><a href="https://github.com/pfalcon/esp-open-sdk">ESP-Open-SDK</a> -
|
||
An open SDK for the ESP8266.</li>
|
||
<li><a href="https://github.com/igrr/esptool-ck">ESPTool-ck</a> - A CLI
|
||
tool for flashing in the ESP8266.</li>
|
||
<li><a href="https://github.com/Rodmg/esptool-gui">ESPTool-gui</a> - A
|
||
flashing GUI tool based on ESPTool-ck.</li>
|
||
<li><a href="https://github.com/Nicholas3388/LuaNode">LuaNode</a> - A
|
||
lua-only SDK for 32/8266.</li>
|
||
<li><a
|
||
href="https://github.com/ct-Open-Source/tuya-convert">Tuya-Convert</a> -
|
||
A Wi-Fi firmware flasher ESP8266 that has been pre-loaded with Tuya
|
||
firmware.</li>
|
||
<li><a href="https://github.com/nodemcu/nodemcu-flasher">NodeMCU
|
||
Flasher</a> - The official flashing tool for the NodeMCU OS.</li>
|
||
<li><a href="https://github.com/tasmota/tasmotizer">Tasmotizer</a> - A
|
||
graphical flashing tool for Tasmota firmware. Can manage Wi-Fi &
|
||
MQTT settings, modules & templates.</li>
|
||
<li><a
|
||
href="https://github.com/esp8266/arduino-esp8266fs-plugin">Arduino FS
|
||
Plugin</a> - An Arduino plugin for filesystem uploads in the 8266.</li>
|
||
<li><a
|
||
href="https://github.com/platformio/platformio-core">PlatformIO</a> -
|
||
Cross Platform IDE and Debugger that supports both the ESP32 and
|
||
ESP8266.</li>
|
||
</ul>
|
||
<h2 id="projects">Projects</h2>
|
||
<h3 id="smart-home-and-iot">Smart Home and IoT</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/1technophile/OpenMQTTGateway">OpenMQTTGateway</a>
|
||
- An implementation of a multiprotocol MQTT gateway for both ESP’s among
|
||
other devices.</li>
|
||
<li><a href="https://esphome.io/">ESPHome</a> - A full-featured system
|
||
for controlling ESP’s through simple yet powerful configuration files
|
||
and Home Automation systems.</li>
|
||
<li><a href="https://tasmota.github.io/docs/">Tasmota</a> - An
|
||
alternative firmware for Sonoff & other ESP8266/ESP32 devices.
|
||
Includes a large collection of sensor drivers & integrates with <a
|
||
href="https://www.home-assistant.io/">Home Assistant</a> natively or via
|
||
MQTT.</li>
|
||
<li><a href="https://github.com/letscontrolit/ESPEasy">ESPEasy</a> -
|
||
Easily turn ESP modules into multifunction sensor devices for home
|
||
automation systems.</li>
|
||
<li><a
|
||
href="https://github.com/Gruppio/Sonoff-Homekit">Sonoff-Homekit</a> - An
|
||
alternative firmware for Sonoff devices (and other 8266 devices) which
|
||
allows control through Apple’s Homekit.</li>
|
||
<li><a href="https://github.com/jamct/DoorsignEPD">DoorsignEPD</a> - A
|
||
smart doorsign with an E-Paper display using the ESP32.</li>
|
||
<li><a
|
||
href="https://github.com/henri98/esp32-e-paper-weatherdisplay">EPaperWeatherDisplay</a>
|
||
- A very cute e-ink weather display using the ESP32.</li>
|
||
<li><a href="https://github.com/sieren/Homepoint">HomePoint</a> -
|
||
Control MQTT/HomeKit smart home devices from an ESP32-powered
|
||
screen.</li>
|
||
<li><a href="https://www.openhasp.com/">openHASP</a> - Control your home
|
||
automation devices from a customizable touchscreen UI connected via
|
||
MQTT.</li>
|
||
<li><a
|
||
href="https://github.com/supergreenlab/SuperGreenOS">SuperGreenOS</a> -
|
||
A full-featured home farming automation software for the ESP32.</li>
|
||
<li><a
|
||
href="https://github.com/kike-canaries/canairio_firmware#canairio-firmware">CanAirIO</a>
|
||
- Citizen science project that uses mobile and fixed stations to measure
|
||
air quality with ESP32 and smartphones.</li>
|
||
</ul>
|
||
<h3 id="infosec">InfoSec</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/tobozo/ESP32-BLECollector">ESP32-BLECollector</a>
|
||
- A wardriving device which displays BLE devices and collects data from
|
||
them, all in a nice screen interface.</li>
|
||
<li><a
|
||
href="https://github.com/justcallmekoko/ESP32Marauder">ESP32Marauder</a>
|
||
- An integrated suite of offensive and defensive tools for WiFi and
|
||
Bluetooth.</li>
|
||
<li><a href="https://github.com/spacehuhn/ArduinoPcap">ArduinoPcap</a> -
|
||
A library which allows generation of .pcap files with network traffic,
|
||
for both ESP’s.</li>
|
||
<li><a href="https://hackaday.io/project/28831-wifi-satellite-34c3">WiFi
|
||
Satellite</a> - A giant Wifi “satellite” that can monitor all 14 2.4Ghz
|
||
channels using, well, 14 ESP32s.</li>
|
||
<li><a href="https://github.com/spacehuhn/esp8266_deauther">ESP8266
|
||
Deauther</a> - A very cool pseudojammer (deauther) of Wifi networks that
|
||
uses the ESP8266.</li>
|
||
<li><a
|
||
href="https://github.com/spacehuhn/PacketMonitor32">PacketMonitor</a> -
|
||
A beautiful OLED monitor for packet activity in a WiFi channel. Two
|
||
versions for each ESP.</li>
|
||
<li><a href="https://github.com/spacehuhn/WiFiDuck">WiFiDuck</a> - A
|
||
wireless-enabled keystroke injector, analogous, but even more awesome
|
||
than the Rubber Ducky.</li>
|
||
<li><a href="https://github.com/spacehuhn/esp8266_beaconSpam">ESP8266
|
||
Beacon Spam</a> - Want to confuse people? This device creates hundreds
|
||
of fake WiFi networks.</li>
|
||
<li><a
|
||
href="https://github.com/spacehuhn/DeauthDetector">DeauthDetector</a> -
|
||
A small device that shines a light if it detects a WiFi deauth attack.
|
||
Made by the same guy as the last six projects.</li>
|
||
</ul>
|
||
<h3 id="biomedical">Biomedical</h3>
|
||
<ul>
|
||
<li><a href="https://heartypatch.protocentral.com/">HeartyPatch</a> - A
|
||
wearable BLE and WiFi connected ECG-HR patch which uses the ESP32.</li>
|
||
<li><a
|
||
href="https://www.crowdsupply.com/protocentral/healthypi-v4-unplugged">HealthyPi
|
||
v4</a> - An amazing open source vital signs monitor that can monitor
|
||
ECG, respiration, pulse oximetry and body temperature, all run by an
|
||
ESP32.</li>
|
||
</ul>
|
||
<h3 id="lora">LoRa</h3>
|
||
<ul>
|
||
<li><a href="https://www.meshtastic.org/">Meshtastic</a> - ESP32 LoRA
|
||
boards as secure, long battery life, mesh GPS communicators.</li>
|
||
<li><a
|
||
href="https://github.com/cyberman54/ESP32-Paxcounter#esp32-paxcounter">ESP32-Paxcounter</a>
|
||
- Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini
|
||
Paxcounter built on cheap ESP32 LoRa IoT boards.</li>
|
||
<li><a href="https://disaster.radio/">Disaster Radio</a> - A
|
||
disaster-resilient communications network powered by the sun.</li>
|
||
</ul>
|
||
<h3 id="music-and-audio">Music and Audio</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/bwhitman/alles">Alles</a> - A many
|
||
speaker distributed music synthesizer using UDP multicast over WiFi,
|
||
modeled after the alles machine/AMY.</li>
|
||
<li><a href="https://github.com/Edzelf/ESP32-Radio">ESP32-Radio</a> -
|
||
Internet radio based on ESP32, VS1053 and a TFT screen.</li>
|
||
<li><a href="https://github.com/biologist79/ESPuino">ESPuino</a> -
|
||
RFID-controlled music player powered by ESP32.</li>
|
||
<li><a href="https://github.com/quadule/knobby">Knobby</a> - A handheld
|
||
Spotify remote that encourages you to explore unfamiliar music.</li>
|
||
<li><a href="https://github.com/alf45tar/PedalinoMini">PedalinoMini</a>
|
||
- A wireless MIDI pedal controller for guitarists, built with the
|
||
ESP32.</li>
|
||
<li><a
|
||
href="https://github.com/sle118/squeezelite-esp32">Squeezelite-esp32</a>
|
||
- Streaming audio receiver with multi-room sync, AirPlay, Bluetooth,
|
||
hardware buttons, display and more.</li>
|
||
<li><a
|
||
href="https://github.com/ThingPulse/esp8266-spotify-remote">ThingPulse
|
||
esp8266-spotify-remote</a> - Control your Spotify player from a ESP8266
|
||
with color touch display.</li>
|
||
</ul>
|
||
<h3 id="smartwatches">Smartwatches</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://mutantcybernetics.com/mutantW_V1.html">mutantW_V1</a> - An
|
||
ESP32 based open source smartwatch with 1.7 inch display, WiFi,
|
||
Bluetooth, NeoPixel and vibration.</li>
|
||
<li><a href="https://open-smartwatch.github.io/">Open SmartWatch</a> - A
|
||
FOSS smartwatch with GPS, an inertial unit and an extremely cool
|
||
3D-printed case.</li>
|
||
<li><a href="https://github.com/eggfly/StickWatch">StickWatch</a> - A
|
||
smartwatch module based on the M5Stick, using the ESP32.</li>
|
||
<li><a href="https://watchy.sqfmi.com">Watchy</a> - An open source
|
||
e-paper watch with lots of options for customization.</li>
|
||
</ul>
|
||
<h3 id="others">Others</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/lyusupov/SoftRF">SoftRF</a> - A DIY
|
||
aviation proximity awareness system that can be used in UAV
|
||
projects.</li>
|
||
<li><a href="https://github.com/retro-esp32/RetroESP32">Retro ESP32</a>
|
||
- An extremely cool launcher for the Odroid Go (with the ESP32), which
|
||
allows emulating several retro consoles.</li>
|
||
<li><a href="https://github.com/DroneBridge/ESP32">DroneBridge</a> - An
|
||
implementation of DroneBridge, a signal link for drones and UAV’s on the
|
||
ESP32.</li>
|
||
<li><a href="https://github.com/andreisperid/E-TKT">E-TKT</a> - An ESP32
|
||
powered DIY label maker that mixes both old fashioned and contemporary
|
||
technology.</li>
|
||
<li><a
|
||
href="https://github.com/DustinWatts/FreeTouchDeck">FreeTouchDeck</a> -
|
||
Open source touch macropad and stream control deck with built-in web
|
||
configurator.</li>
|
||
<li><a href="https://github.com/doudar/SmartSpin2k">SmartSpin2k</a> -
|
||
Transform your spin bike into a smart trainer with automatic resistance
|
||
knob control in fitness apps like Zwift.</li>
|
||
<li><a
|
||
href="https://github.com/probonopd/WirelessPrinting">WirelessPrinting</a>
|
||
- Print wirelessly from Cura, PrusaSlicer or Slic3r to your 3D printer
|
||
connected to an ESP module.</li>
|
||
<li><a href="https://kno.wled.ge/">WLED</a> - Control many types of
|
||
RGB(W) LED strips with an ESP8266 or ESP32 over WiFi.</li>
|
||
</ul>
|
||
<h2 id="libraries">Libraries</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/wasm3/wasm3">Wasm3</a> - A lightning
|
||
fast WebAssembly interpreter designed for embedded devices, compatible
|
||
with both ESP’s.</li>
|
||
<li><a href="https://github.com/marvinroger/homie-esp8266">Homie8266</a>
|
||
- Framework implementation of the Homie protocol for the 8266.</li>
|
||
<li><a href="https://github.com/ayushsharma82/ESP-DASH">ESP-Dash</a> -
|
||
Beautiful and fast framework for creating remote dashboards in the
|
||
8266/32. No internet required.</li>
|
||
<li><a href="https://github.com/tuanpmt/esp_mqtt">ESP_mqtt</a> - MQTT
|
||
helper library for the ESP8266.</li>
|
||
<li><a href="https://github.com/ImpulseAdventure/GUIslice">GUIslice</a>
|
||
- A drag and drop GUI framework for several devices and screen
|
||
controllers. Compatible with 8266 and 32.</li>
|
||
<li><a href="https://lvgl.io">LVGL</a> - An open-source graphics library
|
||
providing everything you need to create embedded GUIs with easy-to-use
|
||
graphical elements, beautiful visual effects and low memory
|
||
footprint.</li>
|
||
<li><a href="https://github.com/jczic/MicroWebSrv2">MicroWebSrv2</a> - A
|
||
very powerful MicroPython web server which can be used in the
|
||
ESP32.</li>
|
||
<li><a
|
||
href="https://github.com/markszabo/IRremoteESP8266">IRremoteESP8266</a>
|
||
- Emit and receive IR signals in the ESP8266.</li>
|
||
<li><a href="https://github.com/OttoWinter/esphomelib">esphomelib</a> -
|
||
Framework to integrate with HomeAssistant in the 8266.</li>
|
||
<li><a href="https://github.com/jscrane/TTS">TTS</a> - A somehow good
|
||
text to speech library for several Arduino devices, both ESP’s
|
||
included.</li>
|
||
<li><a href="https://github.com/Jeija/esp32free80211">Free802.11</a> -
|
||
Library to emit arbitrary 802.11 signals with the ESP32.</li>
|
||
<li><a href="https://github.com/elkrem/koyn">Koyn</a> - A decentralized
|
||
Bitcoin library for the ESP32 and the ESP8266.</li>
|
||
<li><a
|
||
href="https://github.com/loboris/ESP32_TFT_library">TFTLibrary</a> - TFT
|
||
compatibility for the ESP32.</li>
|
||
<li><a href="https://github.com/gnulabis/UTFT-ESP">UTFT-ESP</a> - UTFT
|
||
Support for the ESP32/8266.</li>
|
||
<li><a
|
||
href="https://github.com/earlephilhower/ESP8266Audio">ESPAudio</a> -
|
||
Library for playing a diverse range of audio formats in the
|
||
ESP8266/ESP32.</li>
|
||
<li><a
|
||
href="https://github.com/schreibfaul1/ESP32-audioI2S">ESP32-audioI2S</a>
|
||
- Plays mp3, m4a and wav files from SD card or stream via I2S
|
||
interface.</li>
|
||
<li><a href="https://github.com/me-no-dev/ESPAsyncTCP">AsyncTCP</a> -
|
||
Asynchronous TCP Library for both the 8266 and the 32.</li>
|
||
<li><a href="https://github.com/maximkulkin/esp-homekit">ESP-HomeKit</a>
|
||
- Homekit implementation for 8266 on RTOS.</li>
|
||
<li><a href="https://github.com/HomeSpan/HomeSpan">HomeSpan</a> - A
|
||
robust and extremely easy-to-use Arduino library for creating your own
|
||
ESP32-based HomeKit devices.</li>
|
||
<li><a href="https://github.com/ItKindaWorks/ESPHelper">ESPHelper</a> -
|
||
MQTT and Wi-fi automation-oriented library for the 8266.</li>
|
||
<li><a
|
||
href="https://github.com/ItKindaWorks/ESPHelper32">ESPHelper/32</a> -
|
||
Port of the ESPHelper library for the 32.</li>
|
||
<li><a href="https://github.com/ekstrand/ESP8266wifi">ESP8266Wifi</a> -
|
||
Simple Arduino Wifi library for the 8266.</li>
|
||
<li><a href="https://github.com/bportaluri/WiFiEsp">WiFiESP</a> -
|
||
Arduino library for Wifi management, client/server for 8266 board.</li>
|
||
<li><a href="https://github.com/vshymanskyy/TinyGSM">TinyGSM</a> - A
|
||
quick and simple Arduino library for interaction with GSM modules which
|
||
can also control the 8266 through AT commands.</li>
|
||
<li><a href="https://github.com/cesanta/mjs">mJS</a> - A lightweight and
|
||
restricted JS engine that is used by MongooseOS, compatible on the 32
|
||
and 8266.</li>
|
||
<li><a href="https://github.com/s00500/ESPUI">ESPUI</a> - A simply
|
||
library for making interactive web interfaces for both ESP’s.</li>
|
||
<li><a href="https://github.com/loboris/ESP32_ePaper_example">ESP32
|
||
ePaper</a> - A full-featured library for using ePaper modules with the
|
||
ESP32.</li>
|
||
<li><a href="https://github.com/ofekp/TinyUPnP">TinyUPnP</a> - A
|
||
lightweight UPnP IGD library for automatic port forwarding on the 8266
|
||
and 32.</li>
|
||
<li><a
|
||
href="https://github.com/J-Rios/Arduino-esp32sshclient">Esp32SSHClient</a>
|
||
- A library that implements a SSH client in the ESP32.</li>
|
||
<li><a href="https://github.com/gmag11/painlessMesh">painlessMesh</a> -
|
||
A library that takes care of the particulars of creating a simple mesh
|
||
network using ESP8266 and ESP32 hardware.</li>
|
||
<li><a href="https://github.com/yoursunny/WifiEspNow">WifiEspNow</a> -
|
||
Arduino library for <a
|
||
href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_now.html">ESP-NOW</a>,
|
||
a connectionless WiFi communication protocol defined by <a
|
||
href="https://github.com/espressif">Espressif</a>.</li>
|
||
<li><a href="https://github.com/matiasinsaurralde/go-mcu">go-mcu</a> -
|
||
Golang package for interacting with NodeMCU-based boards.</li>
|
||
<li><a
|
||
href="https://github.com/kike-canaries/canairio_sensorlib#canairio-air-quality-sensors-library">CanAirIO
|
||
SensorLib</a> - ESP32/8266 library with auto-configuration of multiple
|
||
PM2.5, CO2 and environment sensors.</li>
|
||
<li><a href="https://github.com/neel/dhyara">Dhyara</a> - A C/C++
|
||
library for making a Mobile Ad hoc Network (MANET) using ESP Now.</li>
|
||
<li><a href="https://github.com/LedFx/LedFx">LedFx</a> - A library for
|
||
using audio input to create realtime light shows. LedFx can control
|
||
multiple devices and works great with cheap ESP8266 nodes.</li>
|
||
</ul>
|