lightweight mesh-network infrastructure drone
Elevation is key when reaching far via mesh networks. Build a
semi-autonomous (we got auto-pilot just like Tesla!) drone that is
able to relay your messages over the local HEB.
Goals
- sub 250grams
- at least 30 minute flight times
- automation (hover and forget)
- hackable / repairable
Original Part-list
- Frame: Team Blacksheep Podracer 5 Inch
- Flight Controller + ESCs: Speedybee F405 Mini 20x20 Stack
- Radio Receiver: Happymodel 0.42g Tiny 2.4G ExpressLRS EP1 Nano Long...
- Motors: T-MOTOR F2203.5 1500KV
- Props: GEMFAN LR5126 2-Blade (YOU KNOW WHAT COLOR)
- GPS: HGLRC M100 (5883? I think?)
- LoRa Radio: Waveshare RP2040-LoRa
- LoRa Antenna: Gizont Style 915MHz
- Zip-ties
3d Prints
Will post 3d parts soon.
INAV
INAV flies itself. Mostly. Ok, only kinda.
Results
tl;dr
It ain't horribly practical. A lightweight drone requires very calm weather or it wanders. Some of this is likely just lack of tuning of the PIDs for the auto-pilot. Any battery reaching our flight time goal would breach our weight goal. Oh, and you land on your battery. It's fine. Really. Don't worry about it.
INav
Here's what I envisioned: Toss drone, it catches itself, it flies to a pre-determined AGL, it stays there, rock solid until I tell it to return home or it runs low on batteries some days in the future.
Here's what I got: It takes an hour to charge the drone battery. The charger likes to beep, a lot, very loudly. I'm slightly terrified it wants to burn my house down. I go to my backyard, I connect the battery and wait a few minutes until we lock onto a handful of GPS satellites. I hover. I try to remember which switch I bound auto-pilot to. One of the other switches enables ACRO MODE.
WHY THE HECK DID I LEAVE ACRO MODE AVAILABLE ON THIS DRONE?
With auto-pilot on, the controls are extra damped. I slowly climb, manually, avoiding tree branches in my backyard. Not to the legal elevation, no, just high enough above my house that I'm in way more wind than I knew was actually blowing. I attempt to stabilize its drift with my damped controls; resisting the urge to switch to ACRO MODE. Staring straight up, directly at the sun, my sunglasses fall off my face. My remote continuously yells that we lost a telemetry sensor, even though all telemetry seems present and current. I put up with this long enough to eject a few messages off to the mesh, then attempt land (avoid those branches!), and probably break all the 3d printed parts on the drone. With any luck, I don't end up slicing another SMA -> I-PEX/U.FL connector with a prop. I promise myself I'll tune the auto-pilot PIDs next time, then promptly forget.
Meshtastic
Largely works on the drone, but feels slightly clumsy. Set the
drone Meshtastic role to CLIENT or
ROUTER and set your ground node to
CLIENT_MUTE. I'd love the ability to advertise the
node when it reached a certain elevation, but this integration
between INav and Meshtastic would require way more effort than I am
willing to put in. Without modifications, I am unable to force a
remote (drone) node to advertise to the mesh. I can do this with
MeshCore if the drone is running a repeater firmware. We'll get
some MeshCore flights up soon (not with my current drone radio hat,
there is no firmware for the Waveshare RP2040 yet).
Mesh Drones in General
Make a lot of sense. With the AustinMesh we've seen some very long connections that would be rather hard to make otherwise with our rolling-hill terrain. This allows clients that may not have line-of-sight outside of their meshbowl to access the greater mesh.
Mesh Kites
Seem to make even more sense. Several of our members fly kites, they outlast all the drone flight-times without even trying. We'll see if I can over-complicate how to fly a kite in the future.