The ESP Mesh Development Framework
The official mesh development framework for the ESP32 chip
One of the more interesting things about the Espressif ESP8266 chip is that it is capable of Wi-Fi mesh networking. In a mesh network, nodes can self-organise and dynamically talk to each other. Any node in the network is able to transmit data to any other node within range, which can then forward packets through the network to their final destination. If nodes are removed from the network, it should self-heal, and route around the damage.
Unfortunately mesh network was officially unsupported on the newer, more powerful, Espressif ESP32 chip. That is at least, until now.
Just before the weekend the initial public release of the new ESP Mesh Development Framework (ESP-MDF) was uploaded to GitHub. Sitting on top of the Espressif IoT Development Framework (ESP-IDF), the official development framework for the chip, this new framework is a way to develop mesh networking solutions using the ESP32 chip.
I’ve been playing around with Wi-Fi mesh networks using the ESP8266 chip for a couple of years now. Including deploying ad hoc networks of inductively-charged, and battery-powered, ESP8266 sensors motes inside ping pong balls using an air cannon. A project that prompted Brian Jepson’s comment that the ESP8266 was “…inexpensive enough to be very much in the territory of ‘thousands of sensors-launched-out-of-a-cannon’-cheap” back when the ESP8266 originally became Arduino-compatible.
However the arrival of official support for mesh networking on the ESP32 is something of a milestone for making the chip a more viable alternative for building mass market Internet of Things smart devices. While the ESP8266 lacks many of the necessary security features needed for ‘production’ devices, the newer ESP32 chips supports needed security features like secure boot and flash encryption. But difficulty getting mesh networking working has been a sticking point with the newer chip, something the arrival of the ESP-MDF now solves.
Documentation on the new ESP-MDF is available in the project’s GitHub repository, along with instructions on how to set up the toolchain and get started with the new framework.