# Check this out... ESP-NOW (communication protocol)

**URL:** <https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221>\
**Category:** General\
**Created:** [22 January 2026 18:53 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221 "2026-01-22T18:53:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [22 January 2026 18:53 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/1 "2026-01-22T18:53:16Z")

</div>

> **[ESP-NOW Wireless Communication Protocol](https://www.espressif.com/en/solutions/low-power-solutions/esp-now)**
>
> Overview ESP32-C2 Switch ESP32 Remote Control ESP-NOW

> **[Getting Started with ESP-NOW (ESP32 with Arduino IDE) | Random Nerd Tutorials](https://randomnerdtutorials.com/esp-now-esp32-arduino-ide/)**
>
> Learn how ESP-NOW work to exchange data between ESP32 boards using Arduino IDE. ESP-NOW is a connectionless communication protocol developed by Espressif Systems.

[![](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/6/66241aa0078f9131403cd0a4362b7918a72c620e.jpeg "ESP-NOW, Setup, Coding, and Real-World Example") ](https://www.youtube.com/watch?v=hB1pmuN63zc)

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [22 January 2026 19:58 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/2 "2026-01-22T19:58:32Z")

</div>

I think it might be possible to construct a ESP32-NOW Gateway...  
[ESP-NOW Nodes] ---\> [ESP32-S2 Gateway] ---\> [MQTT Broker] ---\> Node-RED

Possible experiment for the weekend.

---

<div class="post-metadata">

**Author:** ![Sean-McG](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/sean-mcg/32/54677_2.png) [@Sean-McG](https://discourse.nodered.org/u/Sean-McG)\
**Post date:** [22 January 2026 23:47 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/3 "2026-01-22T23:47:51Z")

</div>

Dave, this has been around for some time -

> <https://github.com/arendst/Tasmota/blob/development/info/xdrv_57_tasmesh.md>

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [23 January 2026 00:07 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/4 "2026-01-23T00:07:04Z")

</div>

See also [Super Simple ESPNow to Wi-Fi / MQTT Gateway : 7 Steps - Instructables](https://www.instructables.com/Super-Simple-ESPNow-to-Wi-Fi-MQTT-Gateway/)

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [23 January 2026 04:57 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/5 "2026-01-23T04:57:06Z")

</div>

esp-now is nice, except for one downside (to me) - a message is limited to 250 bytes, which should be sufficient for many applications but it takes away some flexibility.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [23 January 2026 15:29 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/6 "2026-01-23T15:29:04Z")

</div>

I couldn't wait until the weekend - had to have a play today.  
I've managed to create, using Micro-Python, a script for a 'now\_sender' and a 'now\_gateway'.  
Note: You will need to change the suffix from .txt to .py as the Forum doesn't allow Python files.

[now\_gateway.txt](https://discourse.nodered.org/uploads/short-url/6Os9azi6oPRNYwujfVKkwyFs7TM.txt) (2.0 KB)  
[now\_sender\_v1.txt](https://discourse.nodered.org/uploads/short-url/t2vFpYtuoLr0CCWRTRcTQVOphy0.txt) (1.4 KB)

The scripts will auto-discover the MAC addresses needed for communication.  
You need to make sure the sender is on the same WiFi channel as the Gateway to MQTT.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [24 January 2026 10:09 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/7 "2026-01-24T10:09:10Z")

</div>

Having got a simple 'Sender' to 'Gateway' setup working I intend to explore what I can do with ESP-NOW further. For example, sending commands (from the Gateway) to the Sender to get it send BME280 T/H/P readings on-demand or change its parameters (like update intervals).

ESP-NOW is a **proprietary, low-power, peer-to-peer communication protocol** developed by Espressif. It doesn’t rely on a WiFi router.

 ![ESP-NOW_WiFi](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/9/d929c9d832af53eafed019cb7361741e53ce6709.jpeg)

### **Features:**

- **Peer-to-peer communication:** Devices can communicate directly without a router or internet.
- **Low-latency:** Message delivery is very fast (milliseconds).
- **Broadcast support:** Can send to a single peer or broadcast to multiple devices.
- **Lightweight protocol:** Minimal overhead, just sending raw data or JSON.
- **MAC address based:** Each device identifies peers by MAC addresses.
- **No IP stack needed:** Works at the link layer.

### **Benefits:**

- **Low power consumption:** Devices can stay in sleep mode most of the time.
- **Reliable for small data:** Perfect for sensor networks or simple control messages.
- **No WiFi network needed:** Useful in remote areas or ad-hoc networks.
- **Fast discovery and communication:** Can instantly send small packets.

### **Limitations:**

- **Short range:** Similar to WiFi (depends on antenna and environment).
- **Limited payload:** Max ~250 bytes per packet.
- **Limited network complexity:** Best for small networks (20-30 nodes practical).
- **No encryption by default:** Requires extra configuration for security.

## **Comparison Table**

| Feature | ESP-NOW | WiFi (Conventional) |
| --- | --- | --- |
| Network Type | Peer-to-peer | Router-based |
| Latency | Very low (ms) | Moderate (ms → s) |
| Payload | Small (~250 bytes) | Large (KB → MB) |
| Power | Very low | Higher |
| Range | ~100 m line-of-sight | ~100 m (depends on AP) |
| Scalability | Limited (20–30 nodes) | High (hundreds of nodes) |
| Security | Optional | Standard (WPA2/WPA3, TLS) |
| Internet Access | ❌ | ✅ |
| Best Use Case | Sensor networks, remote controls, IoT nodes | Cloud IoT, web apps, video, audio |

* * *

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [24 January 2026 10:13 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/8 "2026-01-24T10:13:11Z")

</div>

Perhaps you want to consider a dedicated ESP as gateway, then you are not limited to a single wifi channel.

ie:

 ![FSQJ77TKZWPO7CU](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/1/018fd402a157a80e6d35156d4a23b4781d8c678f.jpeg)  
Where 1 is handling esp-now to wifi and the other is dedicated to esp-now

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [24 January 2026 10:18 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/9 "2026-01-24T10:18:59Z")

</div>

That's a good suggestion - as I was trying work out how my Gateway could tell the Sender which WiFi channel to use. Your method means the 'esp-now to wifi' microcontroller could do a scan and pick the strongest AP (as I do with a number of my other nodes).

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [19 March 2026 12:11 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/11 "2026-03-19T12:11:06Z")

</div>

Quick update on my journey with ESP-NOW.

A week or so ago I managed to get a simple network working using ESP32-S2-Mini devices.  
Flushed with success I replaced the S2's with C3 super-minis - that is when my troubles began.

 ![ESP-NOW_c3_s_m](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/0/403c362ccb23f28522bea56615fb9eda45b00abf.jpeg)  
The PCBs I had designed for the network would accommodate an S2 or an C3 - the only difference was pin-mapping which was taken care-of using an external 'device\_profile' file.

After loads of dead-ends and head-scratching I realised the problem was the power regulation!!  
The ESP32-S2 has a larger linear regulator on the board than the C3 - look at these photos...

 ![esp32-c3-mini-photo.PNG](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/c/0cd3baabf87432d9d06367bd2ae361c0cee9c67a.jpeg)  
 ![esp32-s2-mini-photo_v2.PNG](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/4/3417233b2b72c5b41f63c080144e49db903c80f6.jpeg)  
So what was happening was when the WiFi was in 'transmit' mode the current consumption was very near or exceeded the safe working value on the C3 - which resulted in a power surge that threw the C3 into a re-boot or reset or some situation that prevented the successful transmission of a message!! Difficult to find out as the Micro-Python didn't throw an error - just went silent.

As I'm using Micro-Python to program the devices I found the WiFi transmit power can be controlled with...

`wlan.config(txpower=XX)` where XX can range from 0 to 20.

I found that setting `txpower=15` resulted in reliable transmissions.

I now have a working network (Sensor, Relay & Receiver) using ESP32-C3-Super-Mini devices.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [20 March 2026 06:02 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/12 "2026-03-20T06:02:41Z")

</div>

Here's a table to show **some** of the mappings for txpower to dBm values.

 ![txpower_table](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/8/289e90c7146f6137155648f1bcff1e5127a13e2f.jpeg)  
I'm using **txpower=15** (which is not shown). **txpower=17** also works - also not shown.

I believe the ESP32‑C3 radio supports TX power settings in **0.25 dBm steps** , all the way up to about **19.5 dBm** as I've seen 17.5 and 18.5 being used in some Python scripts.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [20 March 2026 08:27 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/13 "2026-03-20T08:27:13Z")

</div>

Another thing to be aware of is... there many different clones of the ESP32-C3-Super-Mini. Although they are functionally the same, the layout on the printed circuit boards can vary.

A key aspect I have discovered is the positioning of the crystal in relation to the C3 chip antenna.

Here's a photo a typical clone... notice how **close** the crystal is to the C3 antenna.

 ![tenstar_robot_NOT](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/1/d16a1e5d81c39982940e4cdb1bc715b32e857b30.jpeg)

The photo of the ESP32-C3-Super-Mini made by Tenstar Robot - shows **more space** around C3.

 ![tenstar_robot](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/f/af929425f382773e14fa30eae8fe69cdc33c3811.jpeg)  
The Wi-Fi on Tenstar Robot devices has proven to be more reliable on my ESP-NOW project.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [30 March 2026 14:56 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/14 "2026-03-30T14:56:10Z")

</div>

Another quick update...

Spotted these ESP32-C3-Super-Mini boards on [AE](https://www.aliexpress.com/item/1005009484356770.html) that have an IPEX socket on the board (as well as the C3 ceramic antenna) and have the coupling-capacitor already soldered so the IPEX is **active**. The ESP32 [bundle I ordered](https://www.aliexpress.com/item/1005009484356770.html) came with an external antenna and lead for **£2.25 each.**

 ![monday_ESP32_A](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/4/240cb91043ecc05e1dbd4cf3a41e18cf5199051c.jpeg)

 ![monday_ESP32_B](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/d/5df3294a72e9756dfa5d3b5fa35ca756d7006a35.jpeg)

---

<div class="post-metadata">

**Author:** ![markost](https://avatars.discourse-cdn.com/v4/letter/m/3d9bf3/32.png) [@markost](https://discourse.nodered.org/u/markost)\
**Post date:** [30 March 2026 16:13 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/15 "2026-03-30T16:13:50Z")

</div>

How "profitable" is it to buy such modules if they are similar, such as the XIAO ESP32C3, and quite close in price? For a few EUR/USD per piece, you get an excellent design, a schematic with part numbers, and a mechanical drawing.

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [30 March 2026 16:15 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/16 "2026-03-30T16:15:06Z")

</div>

Can you post a link to that item?

---

<div class="post-metadata">

**Author:** ![markost](https://avatars.discourse-cdn.com/v4/letter/m/3d9bf3/32.png) [@markost](https://discourse.nodered.org/u/markost)\
**Post date:** [30 March 2026 16:22 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/17 "2026-03-30T16:22:27Z")

</div>

> **[Seeed Studio XIAO ESP32-C3 (3PCS)](https://www.seeedstudio.com/Seeed-Studio-XIAO-ESP32C3-3PCS-p-5920.html)**
>
> This is a 3PCs pack of XIAO ESP32-C3, an mini thumb-size dev board that adopts the RISC-V architecture, supporting both Wi-Fi and BLE wireless connectivities. With the support of Arduino IDE, MicroPython, CircuitPython, PlatformIO, ESP IDF, Zephyr,...

---

<div class="post-metadata">

**Author:** ![mudwalker](https://avatars.discourse-cdn.com/v4/letter/m/47e85d/32.png) [@mudwalker](https://discourse.nodered.org/u/mudwalker)\
**Post date:** [30 March 2026 16:46 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/18 "2026-03-30T16:46:15Z")

</div>

Just adding this here as things do move quickly on the ESP32 front. One chart to rule them all!

> **[Espressif%20SoC%20Product%20Portfolio.pdf](https://products.espressif.com/static/Espressif%20SoC%20Product%20Portfolio.pdf)**
>
> 342.97 KB

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [31 March 2026 10:00 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/19 "2026-03-31T10:00:53Z")

</div>

OMG - they look nice - I'll have to order some and try them out.

Bit unusual having 7-pins on each edge rather than 8. I like the idea of ditching the C3 ceramic chip antenna and using a decent external rod antenna - should give a good range for the WiFi.

Loads of information on the [Wiki](https://wiki.seeedstudio.com/SeeedStudio_XIAO_Series_Introduction/) and specifically for [XIAO ESP32-C3.](https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started/)

---

<div class="post-metadata">

**Author:** ![mudwalker](https://avatars.discourse-cdn.com/v4/letter/m/47e85d/32.png) [@mudwalker](https://discourse.nodered.org/u/mudwalker)\
**Post date:** [31 March 2026 12:32 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/20 "2026-03-31T12:32:43Z")

</div>

David, Did you see this one?

> **[Seeed Studio XIAO ESP32-S3 Sense](https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html)**
>
> Seeed Studio XIAO ESP32-S3 leverages dual-core ESP32-S3 chip, supporting both Wi-Fi and BLE wireless connectivities, which allows battery charge. It integrates built-in camera sensor, digital microphone. It offers 8MB PSRAM, 8MB FLASH, and external...

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [31 March 2026 12:43 UTC](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221/21 "2026-03-31T12:43:13Z")

</div>

OMG - that looks pretty cool as well.

[Next page](https://discourse.nodered.org/t/check-this-out-esp-now-communication-protocol/100221.md?page=2)
