ESPNowCam is an open-source library for ESP32 camera boards that relies on the ESP-NOW protocol for efficient point-to-point, one-to-many, or many-to-one video or data transmission.
ESP32 microcontrollers already support WiFi or Bluetooth connectivity, but the ESP-NOW offers an alternative in scenarios where low latency is required and/or access to a router is not feasible or practical. That’s why we’ve previously seen ESPNOW used in ESP32 drones. As its name implies, the ESPNowCam project leverages the ESP_NOW wireless protocol for ESP32 video cameras, but can also be used for data transmission.
ESPNowCam highlights:
- Transmission modes
- One transmitter to multiple receivers using the internal ESPNow broadcasting feature (1:N mode)
- Peer-to-peer (P2P) connections utilizing MAC address targeting (1:1 mode)
- Multi-sender mode with one receiver (N:1 mode)
- No need for IPs, routers, or credentials
The project was first released in January 2024, but I’ve only noticed it, and it had several iterations since then. It has been tested on various ESP32 hardware platforms with QVGA and HVGA cameras including TTGO T-Journal, XIAO Sense S3, Freenove S3 (QVGA), Freenove S3 (HVGA), M5CoreS3, and M5Stack Unit CamS3. The performance is around 9 to 11 FPS with a QVGA camera and 6 FPS with an HVGA camera. The latest release also adds support for CrowPanel ESP32C3. Here’s a quick demo for P2P and multicast (one to many modes):
The library can be installed with Platform.io or the Arduino IDE, but it’s not quite as straightforward with the latter because its “dependencies resolver is very bad”, and you may need to manually install the Nanopb library and then find and install ESPNowCam with the library manager. You’ll find the source code and instructions on GitHub.
But it looks like it could be further improved, as the reason I wrote about the ESPNowCam project today, is because I noticed YohanHadji showcased a 30fps live video between two (unmodified) ESP32 at 100m distance with a drone and he plans to test it at a 1000m distance next weekend. Here’s the short video demo that was uploaded to X.
30fps live video between two (unmodified) esp32 at 100m distance, next weekend it’ll be from 1000m distance pic.twitter.com/nT7h5KMkLe
— Yohan (@YohanHadji) February 23, 2025
It’s most probably not using the ESPNowCam library because the reported performance is quite better, or maybe the FPS numbers were computed differently. Yohan has yet to release the code, but he hints he might do it soon.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress