Over at RCgroups, user [Cesco] has shared a very interesting project which uses the ever-popular ESP8266 as both a transmitter and receiver for RC vehicles. Interestingly, this code makes use of the ESP-Now protocol, which allows devices to create a mesh network without the overhead of full-blown WiFi. According to the Espressif documentation, this mode is akin to the low-power 2.4GHz communication used in wireless mice and keyboards, and is designed specifically for persistent, peer-to-peer connectivity.
Switching an ESP8266 between being a transmitter or receiver is as easy as commenting out a line in the source code and reflashing the firmware. One transmitter (referred to as the server in the source code) can command eight receiving ESP8266s simultaneously. [Cesco] specifically uses the example of long-range aircraft flying in formation; only coming out of the mesh network when it’s time to manually land each one.
[Cesco] has done experiments using both land and air vehicles. He shows off a very hefty looking tracked rover, as well as a quickly knocked together quadcopter. He warns the quadcopter flies like “a wet sponge”, but it does indeed fly with the ESP’s handling all the over the air communication.
To be clear, you still need a traditional PPM-compatible RC receiver and transmitter pair to use his code. The ESPs are simply handling the over-the-air communication. They aren’t directly responsible for taking user input or running the speed controls, for example.
This isn’t the first time we’ve seen an ESP8266 take the co-pilot’s seat in a quadcopter, but the maniacal excitement we feel when considering the possibility of having our very own swarm of flying robots gives this particular project an interesting twist.
I think you’re a bit confused. Or maybe I am. You do need an RC “transmitter”, but only as a box with controls that generates a PPM signal. One ESP takes that PPM signal and sends it to the other. The other can just be used as a receiver that sends the PPM signal to a flight controller, but I was under the impression here that he turned the ESP into a flight controller by adding an IMU and letting it talk to ESCs.
He might be using a pro-mini board to distribute the PPM signal to the ESCs; I can’t really tell from the picture, since those connections are hidden under the board. I’m guessing about the pro-mini based on the picture of the rover..
so each ESP board outputs a PPM signal that goes directly to an RC receiver ?
also, how much latency is there in this esp-now mesh mode ?
this just sounds silly ? why output PPM, when the ESP should be able to bit-bang enough PWM channels to control all the servos and ESC’s directly ..
ah ok, the PPM is routed to the flight controller, CityZen above cleared that up.
It’s not exactly clear what the setup is, but it looks like the flight controller code is running on the ESP, and it’s outputting PPM controls that are distributed somehow (perhaps by way of a pro-mini board) to the ESCs.
Espnow is super fast! Latency is magnitudues smaller than udp/tcp wifi
What kind of range would this give and how does it allows reconnection?
They really got some stuff wrong here …
> One transmitter (referred to as the server in the source code)
Wrong, receiver is server, transmitter the client.
> specifically uses the example of long-range aircraft flying in formation;
Never mentioned formation.
> with the ESP’s handling all the over the air communication.
Not only comms but ALL control, self-level and mixing
> To be clear, you still need a traditional PPM-compatible RC receiver
No you dont. You only need a ppm generator, which can be a RC transmitter.
> They aren’t directly responsible … for running the speed controls,
Yes they are. The tracked version produces pwm signals while the copter produces a serial datastream for the esc’s.