ESP-NOW Overview

ESP-NOW Overview

Apr 07, 2025

The ESP-NOW code is now in the Github repo, along with build targets for the four main firmware types: repeater, USB serial companion radio, room server, and terminal chat. This is still, essentially, just for devs out there. There are just the four Generic_ESPNOW_* targets, which you need to modify for whatever board you want to use.

So, with these you can create a mesh that works exactly the same way as with LoRa gear, but over the WiFi/ESP-NOW radios instead. The range will be about 500 meters maximum between nodes, and more like 100 meters in typical use cases. But, it is basically identical. Repeaters, adverts, messages, rooms, etc. The latency is tiny though, so you can easily go through tens of repeaters, for instance.

image

(an example of an ESP-NOW only mesh, repeater, a room server and some clients nodes)

Bridge

A new firmware is now available, which is a simple ESP-NOW <-> LoRa bridge. This opens up a lot of possibilities. NOTE: this bridge device is not technically a node, as it doesn't have an ID.

image

Regarding hops and paths, the bridge node doesn't add to the path data, so conceptually the two LoRa (blue) nodes go one hop to the ESP-NOW (red) repeater in the middle.

Bridging Two LoRa Meshes

You can use two bridge devices, to link two LoRa meshes which are on, say, two different SF's:

image

Remember that, conceptually, the two repeaters pictured in each SF region go one hop to each other, even though they go via the bridges in the middle.

Gateway Nodes

A more advanced node firmware is in the works called the Gateway node, which is indeed a node (has an ID) and can route packets, like repeaters do, for either side of the gateway, and can also route packets in and out of the 'other' mesh.

image

It will also have the potential to be configured with rules on things like visibility (which ESP-NOW-side devices should only route amongst themselves, and not the wider LoRa mesh, for example)

This type of setup will be very useful for a building, or some cluster of sensors, where only a subset of the traffic on the ESP-NOW side needs to go out to wider mesh.

Private sub-mesh

One thing that will be needed very soon, especially when there are, say, two ESP-NOW meshes physically close to each other, is what Reticulum calls IFAC (Interface Access Codes). It's more likely that an ESP-NOW mesh would, by default, want to be private. If it is just for one property, or building, then it would not want to be routing data for other properties. And, if some wider access is needed, then bridges/gateways are the solution. A public ESP-NOW mesh is not really a likely (or practical) thing.

So, what will be coming, at the protocol level, is a way for IFAC codes to be encoded into individual packets, and repeaters/gateways can instantly deny forwarding if the IFAC code is wrong, or no code at all (ie. a public packet). So, two private ESP-NOW meshes could live side by side (or even overlap) and would ignore the other's packets. The same will hold for a private LoRa mesh. Only authorised nodes will be allowed to use repeaters configured for IFAC codes.

New Gadgets

The 2.8" touch pager I worked on last year has been revived (and simplified) now that it can join the mesh with just the bare dev board (is a Waveshare 2.8" ESP32-S3 with touch display). I've also ported the 'Ultra' firmware to the T-Display S3 Touch Pro, which is such a nice little unit in a tidy case:

image

So, as long as there is a bridge node near by, these two devices (on the left) can happily interact with the rest of the mesh. I'll be publishing the 'ESP-NOW only' T-Display Pro and Waveshare firmwares here very soon.

Business Model

So far, a lot of code has been put out there for free, and if you're willing to commit the time, you can modify it to your heart's content, and write exotic Linux scripts and integrations, and even integrate into Home Assistant. And, the components necessary for a public mesh are readily available, without modification, supporting a lot of commodity hardware.

I've thought, for some time, that at some point I'm going to have to branch off and work on a commercial set of MeshCore components; ones that are probably more attractive to businesses, and these sub-meshes, gateways, etc, are it. It's still to be determined what particular business model these will have--there's talk of potentially making and selling purpose built hardware, which is all ready-to-go. But, either way, the free-train can't keep going forever. I honestly wish it could, and that I could just write cool shit each day, but we all live in a super-expensive world, and it's just a fact of life.

Conclusion

I feel like MeshCore is growing up really fast, and that with the multiple radio mediums it's taking some new steps now, expanding the reach, and ushering in even more types of devices; even ones that may have been sitting in your drawer for a year or two!

Gefällt dir dieser Beitrag?

Kaufe Ripple Radios einen Kaffee

Mehr von Ripple Radios