esp32-blufi - This component provides bluetooth onboarding for the ESP32 boards.

  •        112

This component provides bluetooth onboarding for the ESP32 boards. It uses bluetooth to delivery the wifi configuration to the device. On top of the existing blufi example in esp-idf it uses Non-Volatile Storage (NVS) to save the credentials and disables the onboarding interface after rebooting, which means it is "closer" to a real demonstration and can be used "as is" in prototypes. As I understand it it uses Diffie–Hellman key exchange (DH) in conjunction with AES to exchange the wifi information over a GATT connection.



Related Projects

blynk-library - Blynk library for embedded hardware

  •    C++

Blynk provides iOS and Android apps to control any hardware over the Internet or directly using Bluetooth. You can easily build graphic interfaces for all your projects by simply dragging and dropping widgets, right on your smartphone. Blynk is the most popular IoT platform used by design studios, makers, educators, and equipment vendors all over the world. Please find examples on how to use different types of connections (transports) and how to do make something great with Blynk. You can easily apply any type of board/connection to all examples.

esp-idf - Espressif IoT Development Framework. Official development framework for ESP32.

  •    C

ESP-IDF is the official development framework for the ESP32 chip. As well as the esp-idf-template project mentioned in Getting Started, ESP-IDF comes with some example projects in the examples directory.

ESPAsyncWebServer - Async Web Server for ESP8266 and ESP32

  •    C++

PlatformIO is an open source ecosystem for IoT development with cross platform build system, library manager and full support for Espressif ESP8266/ESP32 development. It works on the popular host OS: Mac OS X, Windows, Linux 32/64, Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard). If needed, the _tempObject field on the request can be used to store a pointer to temporary data (e.g. from the body) associated with the request. If assigned, the pointer will automatically be freed along with the request.

mongoose-os - Mongoose OS - an open source Operating System for Internet of Things

  •    C

Mongoose OS is released under Commercial and GNU GPL v.2 open source licenses. Commercial Projects: Contact us for the commercial license.

rt-thread - RT-Thread is an open source IoT operating system from China.

  •    C

RT-Thread is an open source IoT operating system from China, which has strong scalability: from a tiny kernel running on a tiny core, for example ARM Cortex-M0, or Cortex-M3/4/7, to a rich feature system running on MIPS32, ARM Cortex-A8, ARM Cortex-A9 DualCore etc. The device driver is more like a driver framework, UART, IIC, SPI, SDIO, USB device/host, EMAC, MTD NAND etc. The developer can easily add low level driver and board configuration, then combined with the upper framework, he/she can use lots of features.

micropython-esp32 - Old port of MicroPython to the ESP32 -- new port is at https://github

  •    C

This is the MicroPython project, which aims to put an implementation of Python 3.x on microcontrollers and small embedded systems. You can find the official website at The ESP32 port has now been merged back into the main MicroPython repository and this repository is maintained for historical purposes.

arduino-esp32 - Arduino core for the ESP32

  •    C

You can use EspExceptionDecoder to get meaningful call trace. Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as for reference.

ESP8266Audio - Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32

  •    C

Arduino library for parsing and decoding MOD, WAV, MP3, FLAC, MIDI, AAC, and RTTL files and playing them on an I2S DAC or even using a software-simulated delta-sigma DAC with dynamic 32x-128x oversampling. ESP8266 is fully supported and most mature, but ESP32 is also mostly there with built-in DAC as well as external ones.

Open-Home-Automation - Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT

  •    C++

Nowadays everything becomes connected to the Internet and gives us a glimpse of many new possibilities. Home automation is part of it and offers many advantages for their users. This repository is dedicated to Home Assistant, an open source project with an amazing community, ESP8266 and ESP32 modules, the MQTT protocol and much more [...]. Home Assistant is a home automation platform running on Python 3. The goal of Home Assistant is to be able to track and control all devices at home and offer a platform for automating control [Home-Assistant].

mjs - Embedded JavaScript engine for C/C++

  •    C

On 32-bit ARM mJS engine takes about 50k of flash memory, and less than 1k of RAM (see intro article). mJS is part of MongooseOS, where it enables scripting for IoT devices. Function arguments should be simple: only int, double, char *, void * are supported. Use char * for NUL-terminated C strings, void * for any other pointers. In order to import more complex functions (e.g. the ones that use structures as arguments), write wrappers.

PJON - PJON® is an open-source network protocol compatible with Arduino, ESP8266, STM32, Teensy, Raspberry Pi, Linux and Windows

  •    C++

PJON® (Padded Jittering Operative Network) is an Arduino compatible, multi-master, multi-media network protocol. It proposes a Standard, it is designed as a framework and implements a totally software emulated network protocol stack that can be easily cross-compiled on many architectures like ATtiny, ATmega, ESP8266, ESP32, STM32, Teensy, Raspberry Pi, Linux, Windows x86 and Apple machines. It is a valid tool to quickly and comprehensibly build a network of devices. Visit wiki and documentation to know more about the PJON Standard. Feel free to send a pull request sharing something you have made that could help. If you want to support us you can also try to solve an issue. Thank you for your support.

esptool - ESP8266 and ESP32 serial bootloader utility

  •    Python

A Python-based, open source, platform independent, utility to communicate with the ROM bootloader in Espressif ESP8266 & ESP32 chips. was started by Fredrik Ahlberg (@themadinventor) as an unofficial community project. It is now also supported by Espressif. Current primary maintainer is Angus Gratton (@projectgus).

EspExceptionDecoder - Exception Stack Trace Decoder for ESP8266 and ESP32

  •    Java

Arduino plugin which lets you get a more meaningful explanation of the stack traces you get on ESP8266/ESP32. If you are searching for a command line version, look at [EspStackTraceDecoder] ( EspStackTraceDecoder is based on the EspExceptionDecoder, but was completely rewritten for the command line usage.

esp32-cam-demo - Demo for working with a camera on ESP32

  •    C

Code provided in this repository gets the image from camera and prints it out as ASCII art to the serial port. See the following sections for more details.

espusb - Software-only ESP8266 USB Device

  •    C

I wanted to have USB on the ESP8266, and a while ago I saw on the ESP32 flier, it read: "Rich Peripherals" ... "Sorry, no USB!" I thought to myself, that is ridiculous. Of course there's USB. So, it was born. This is a software USB stack running on the ESP8266/ESP8285. It requires only one external resistor, between D- and 3.3V.

NeoPixelBus - Adafruit enhanced NeoPixel support library

  •    C++

A library to control one wire protocol RGB and RGBW leds like SK6812, WS2811, WS2812 and WS2813 that are commonly refered to as NeoPixels and two wire protocol RGB like APA102 commonly refered to as DotStars. Supports most Arduino platforms. This is the most functional library for the Esp8266 as it provides solutions for all Esp8266 module types even when WiFi is used. For quick questions jump on Gitter and ask away.