Readit News logoReadit News
the__alchemist · a year ago
Note to anyone unafamiliar: There is a thriving "FPV" ecosystem of drones that can be DIYed. Example common setup, you can mix+match:

  - Small square PCB with the main flight control MCU (STM32), and some sensors
  - Smalls square PCB with motor drivers
  - Carbon fiber frame
  - Small PCB with a LoRa radio
  - Camera and video transmission system. (90s-security-cam style analog, or digital.
  - Brushless DC motors, props etc
Uses Betaflight, ArduPilot, iNav, or PX4 firmware. Or, you could write your own.

The PCB-frame in the article is neat and has obvious convenience advantages, but I speculate that it would not be stiff enough for desirable controllable characteristics under high accel situations.

hylaride · a year ago
And a lot of it is all open source!

ESC software:

- https://github.com/am32-firmware

- https://github.com/mathiasvr/bluejay

Flight controller (you mentioned these):

- https://github.com/betaflight

- https://github.com/ArduPilot

- https://github.com/iNavFlight

Control link:

- https://github.com/ExpressLRS (also uses ESP32/ESP82 chips)

Radio Controllers:

- https://github.com/EdgeTX

5+ years ago the vast majority of this stuff was proprietary-only and getting into the hobby cost thousands of dollars. Now you could start at ~$500 (big price factor for FPV is the goggles, but cheap analog ones can be had for ~$100).

nostrademons · a year ago
You can start for ~$400 - I just bought parts for 2 drones for my kids. My shopping list:

- Flywoo Goku F405 HD 1-2S 12A ELRS AIO V2 flight controller, $64, flywoo.net

- Radiomaster Pocket radio controller, $65, radiomasterrc.com

- EAchine EV800D VR goggles, $109.81, banggood.com

- Meteor 75 frame, $5, tinywhoop.com

- 4x 40mm props, $2.25, tinywhoop.com

- BetaFPV canopy, $5, tinywhoop.com

- TinyWhoop Pinch Premium FPV camera, $20, tinywhoop.com

- 4x 702 26,000kV brushless motors, $40, tinywhoop.com

- 4x BetaFPV BT2.0 550mAH lipo battery, $31, amazon.com

- BetaFPV 1S lipo charger board, $28, amazon.com

Haven't fully soldered it together yet so I hope I'm not forgetting something important, but all the parts have arrived, and I've successfully rough-fitted everything together. The Flywoo Goku board supposedly runs both Betaflight or ArduPilot on a whoop form factor. Note also that the biggest expense are one-time items that can be reused across multiple drones: the radio controller, FPV goggles, and battery charger are $200 together. The BOM for a single drone is about $150 these days, so if you're say putting together multiple ones for multiple family members, it's pretty cheap.

nullstyle · a year ago
With luck the OpenIPC cameras that are starting to come on the market will find traction and the entire hardware stack will run on open source firmware.

https://www.youtube.com/watch?v=EdjI3ZQsmCA

Kadin · a year ago
This is all true, but just to set expectations: the open source ecosystem seems to be lagging the proprietary world pretty significantly, unless there's some corner where development is really chugging along that's not making it out to the rest of the hobbyist market.

Though there have been incremental improvements in flight control software, and video subsystems have moved (mostly) from analog to 2.4/5.8 GHz and digital, the overall architecture is pretty similar to what it was 5+ years ago. You have a hobby R/C transmitter and receiver driving PWM outputs (through the flight controller, typically an STM32) to hobby-type ESCs which control the motors. The ESCs are microcontroller-driven and can be reflashed, but painstakingly and annoyingly. Telemetry is typically separate from control, which is separate from video. Everything is very short-range and non-IP.

In comparison, a COTS quadcopter from DJI has a single backhaul from the airframe to the controller which does control, video, and and telemetry. And the video is impressively low-latency. (I'm pretty sure they use a WiFi-type chipset and just spew raw vendor frames, and the receiver picks up what it can, best effort. You could do this with an ESP32 in ESP-NOW mode, I suspect?) I've seen some efforts to reverse-engineer the DJI protocol but I'm not aware of a fully compatible implementation or equivalent in the OSS world.

And at the upper end of the commercial/proprietary space you have systems with out-of-the-box autonomy, multiple backhauls over IP -- so they can use LOS/BLOS radio, LTE, SATCOM, whatever you want -- integration with navigation beacon systems to reduce GPS dependence, hybrid motor/generators, redundant power systems, the whole shebang.

There's no real reason aside from developer interest that this situation exists, as far as I can see. The components are mostly all available. A Raspberry Pi running a decent RTOS would have orders of magnitude more processing capacity than an STM32 and could easily do the sort of multi-sensor fusion that the commercial systems do. LTE modems are cheap. A bigger hexacopter or fixed-wing could easily loft one of the small Starlink dishes, if someone wanted to. Stuff like "perching" (landing and recharging from solar panels) is entirely possible.

But from what I can tell, the cutting edge of open source drones is happening behind closed doors in Ukraine and Iran.

Happy to be corrected if there's new stuff that I'm not tracking, but the gap between the "art of the possible" and current practice seems large.

Lots of opportunity though, is the other way to view it.

qazxcvbnmlp · a year ago
Everything here is possible, the gap in implementation is that it’s a) expensive and b) non trivial engineering work. There is vanishingly small overlap between the people whom have the capital for parts, the understanding of the engineering needed, free time to do it and desire to do it for free.

The people whom have the true multidisciplinary understanding to do robotics well can usually also consult (with little difficulty finding work) for $$$s per hour and get the same “problem solving satisfaction”.

Open source software shortcuts a couple of these limitations because you can work on it with little investment over than time.

nuker · a year ago
> Telemetry is typically separate from control, which is separate from video. Everything is very short-range and non-IP.

Check out ExpressLRS, very long range, everyone is using it today.

https://www.expresslrs.org/

the__alchemist · a year ago
That is consistent with my experience. My highlights:

- Current betaflight devevelopers and leaders are incompetent (They inherited the code base from others), and are slow, and varying degrees of willing, to add higher-level flight-control mechanics (semi-autonomous modes etc).

- The Ardupilot and PX4 configuration systems, and general experience, are user-hostile.

Note that the converses of these hold: Betaflight has a reasonably-good user experience, and Ardupilot and PX4 have extensive higher-level flight control mechanics. If only you could get the pros of both together!

Regarding hardware, frames generally accommodate flight controllers and ESCs elegantly, but other hardware like cameras, radios, and especially batteries, feel clumsy to assemble in a safe and consistent way.

stavros · a year ago
This is very inaccurate. The receiver doesn't output PWM, it communicates with the FC over UART. Control and telemetry are one link, open source, with a range of more than 100km on commodity hardware. Ardupilot enables advanced autonomy out of the box, DJI uses LTE for more than 20km range of HD video out of the box.

Sure, you don't have sensor fusion from a bunch of disparate exotic sensors, and the control software could be improved a lot, but it's not as bad as you describe it.

Panzer04 · a year ago
Depends on what you want. A lot of the interest in FPV is acro flight, not autonomous, so there isn't a lot of interest in improving that (at least for beta flight)

You act as if separate backhauls is a bad thong - I'm not sure that's self evident. Short range just seems wrong to me - RC transmitters outrage all of the current video tx systems, and in open air video tx is long enough that you run into problems with battery before anything else. The best video tx systems currently is proprietary (DJI).

Open source is good enough for what most people care about. An open source high quality video tx would be awesome, but obviously a significant engineering effort relative to everything else.

Aurornis · a year ago
> In comparison, a COTS quadcopter from DJI has a single backhaul from the airframe to the controller which does control, video, and and telemetry. And the video is impressively low-latency.

Your information is very out of date.

DJI sells their camera and video unit as a standalone part that you can put in your hobby drone. They're on the 3rd generation right now with the 4th coming out soon https://www.dji.com/o3-air-unit

If you want the DJI video feed, you just buy this unit for under $200 and put it in your drone. You get the same video technology as the COTS DJI unit and it integrates with your open-source controller.

> A Raspberry Pi running a decent RTOS would have orders of magnitude more processing capacity than an STM32 and could easily do the sort of multi-sensor fusion that the commercial systems do.

The STM processors have more than enough power to operate the drone.

I think you're missing the point of hobby drones and their controllers. They don't need or even want LTE, Starlink, or any of the other complications you mention. They just need to get up in the air and fly cheaply. The current products work well for that.

People have tried to build drones around Raspberry Pi gear but there's no advantage and a lot of additional cost, size, and weight for something that doesn't help at all.

I don't think people realize how powerful the top STM microcontrollers are these days.

> Happy to be corrected if there's new stuff that I'm not tracking, but the gap between the "art of the possible" and current practice seems large.

Most of what you posted has been tried in open source. It's just not really beneficial or interesting. You can cobble together an LTE drone if you want, but you can't legally fly it past line of sight anyway, so what's the point?

For what it's worth, hobby drones are miles ahead of the COTS drones when it comes to fast flying and control. The gear from DJI is great if you want to safely fly a camera up and hover around, but if you want a fast and challenging drone you basically have to DIY.

aftbit · a year ago
Back in the old days (Phantom 1), it was all IP. The "range extender" box that you could buy for the controller was literally a MIPS box running OpenWRT. I took one apart and used a debug interface to jailbreak it, then connected my own RPi to its network and used it for some degree of autonomous control. I assume things have advanced substantially since then.

I was very disappointed that my Mavic Mini 1 could not be controlled through the DJI SDK so I couldn't use any external apps to drive it. I assume that has also improved, but for a minute at least, the cheaper DJI drones were essentially unusable for my use cases.

To some extent, the availability of cheap commercial gimbal camera drones really set the OSS side of the hobby back. Eventually most of that energy moved to FPV acro drones, but definitely something was lost, as nobody really tries to build a DIY DJI competitor anymore. Of course, DJI drones are absurdly performance limited compared to what is possible with similar sized platforms.

hypercube33 · a year ago
What about those of us who really are awful at flying drones? I personally have tried fpv ones and just don't seem to have the skills for it - however I really enjoy my DJI mini. I never can seem to find information on open drones that fly the same way (maybe I just don't know what I'm looking at or for?)
dheera · a year ago
Also

> All-in-one PCB: Doesn’t need any 3D printed parts or such

I actually am fine 3D printing and laser cutting stuff at home but I don't have the stuff to make a PCB and don't have the hand skills to do anything more than through-hole soldering.

the__alchemist · a year ago
The intent is not at-home fabrication: It's sending it to a company in Shenzhen (e.g. JLCPCB) to do both PCB fab, and SMT assembly for you. 10-day time between order and arrival. (USA), and astonishingly low cost.

PCB are sometimes used in these structural scenarios, (Where they are not the right tool for the job) as they're one of few(?) ways to get a custom part fabricated at low cost. If the device has electronics anyway, the added cost of expanding the PCB footprint for structure, as in this case, is small.

helpfulContrib · a year ago
> There is a thriving "FPV" ecosystem of drones that can be DIYed.

As someone who has for decades built flying things which could be drone'ified any day of the week, it is sort of also necessary to point out that even before drones became so widespread and commonplace, rcgroups.com has been the ecosystem in which to find oneself.

And indeed, the "model airplane/remote control flight" subject has been prosperous and flourishing as a hobby for decades too .. just feast yourself on the categories here:

https://www.rcgroups.com/forums/index.php

A very earnest exploration of the various sub-forums will reveal some extraordinary designs - some which, indeed, break the 'norm' for what a flying thing should look like, in respect to a more casual view. Magnus, aerostat, Fettler are pretty good search terms...

curiousgeorgio · a year ago
Is this just someone reposting espressif's esp-drone (https://github.com/espressif/esp-drone) and passing it off as their own (and DigiKey posting it on their site)? They talk about making a custom PCB, but it looks pretty much the same.

The repository linked from the article (https://github.com/Circuit-Digest/ESP-Drone) has some issues claiming there's malware in it, and the commit history looks a little suspicious, but I could be wrong.

nick__m · a year ago
Since those who filed the issue did not even stated which file is affected this is pure speculation but the virus issue really look like a false positive. The pre-built firmware checked into a repo could easily trigger an anti-virus.

The repo is mostly made of plain text files, the zip and the bin don't look required for anything so if your feeling paranoid delete them before building!

TrapLord_Rhodo · a year ago
both project source crazy flie as their inspiration and may be the cause of the similarities.

https://www.bitcraze.io/products/old-products/crazyflie-2-0/

m00x · a year ago
Yeah, he took the code straight from esp-drone which is copyrighted.

https://github.com/Circuit-Digest/ESP-Drone/blob/main/Firmwa...

I believe this is a violation of the license. Very poor form of Digikey to hire these people.

stavros · a year ago
Wow, yeah, I thought Espressif just wrote the firmware, but this drone is really really similar to the one posted, PCB struts and all.
asadalt · a year ago
damn you are right!
phoronixrly · a year ago
What a great time for this article! The US is having a mass hysteria event and it turns out you can churn out DYI drones for the fat sum of $12-13 each? What a time to be alive!

Edit: Hmm, considering that people are taking stars for UFOs lately, maybe a cheap drone is an overkill and a 20-pack of Chinese sky lanterns would be more than enough to keep the average US neighbourhood in a state of constant fear / see how long it takes for you to get to the front page of /r/UFOs...

abracadaniel · a year ago
Judging from the posts I’ve seen, others have already started. Someone had a drone with a lit Roman candle going the other day. Or it was FAA compliant aliens. One of the two.

Deleted Comment

Dead Comment

Deleted Comment

gitaarik · a year ago
The only way to cover up real sightings is with fake sighthings.
ActorNightly · a year ago
The interesting/scary part is that its not that hard to weaponise these drones. You can make one drop a home made explosive pretty easily, fully autonomous. and then dump itself into a body of water. All for way less cost than a gun.
idunnoman1222 · a year ago
I don’t know what drone you’re talking about but you absolutely cannot make a tiny Wi-Fi drone autonomous or drop things for less than a cost of a gun, every part of your statement is wrong. Currently anyone smart enough to build drone with 7 inch propellers and programmable GPS waypoints, improvised explosives … 3d printed release mechanism .. probably has a pretty good paying job and doesn’t see the value proposition of blowing things up

You know what you can easily do drive a truck into a crowd of people or fill your car with explosives in park it under a building and then blow up the entire building, but people aren’t doing that every day but continue whingeing about drones

bubaumba · a year ago
> home made explosive

With this a lot of damage can be done even without drone. As for weaponized it's not a future, it's a reality in Ukraine for years now. Defense against them is difficult to impossible. A bodyguard who can sacrifice himself may sometimes work.

JKCalhoun · a year ago
It's not scary when it is just a hypothetical. If this were happening with some frequency it would be concerning. Until then I suspect there is something you are overlooking, oversimplifying.

(EDIT: I'm assuming you are talking about non-military use.)

numpad0 · a year ago
I find it funny that the US is so obsessed with infantry firearms and surgical strikes that people think those are the best "ways to go" for certain things. I guess not a bad thing considering we don't need any improved means for those stuffs...
aftbit · a year ago
Why even "drop" an explosive? Just fly it straight into the target.

Dead Comment

diggan · a year ago
> The US is having a mass hysteria event

What is this in reference to? The Chinese weather-balloon drama was years ago, wasn't it?

ChuckMcM · a year ago
Fun! I built a Crazyflie[1] back in the day which was bespoke 2.4GHz protocols (no ESP32 at the time) so this is a great upgrade to that. Also the use of a single low side MOSFET as the motor controller makes it simpler and cheaper at the expense of some moves that BLDC motors give you. All in all, at $10 - $15 that is a great deal and I'm wondering if one will show up in a Hackerbox[2] as that is exactly the kind of thing they do.

I have had a lot of fun playing with the CF microdrones, I'm definitely going to build one of these too.

[1] https://github.com/bitcraze/crazyflie-firmware

[2] https://hackerboxes.com/

mrtksn · a year ago
Fun. I'm looking into turning my old iPhone into a drone as it has great hardware already to do higher level tasks and use ESP32 for the more real time stuff like actually driving the motors based on sensor input.

If you think about it, an old iPhone 6 comes with GPS, gyro, accelerometer, multiple cameras, pretty powerful processors, bluetooth + wifi + LTE, sound + light, ambient + proximity sensors. Get rid of the case, and you have a great mini computer that can be aware of its surroundings and communicate.

On more modern iPhones, you can even use advanced tech like ARKit to have great spatial understanding of your drone and environment and do autonomous drones. With an iPhone 15, you can even get spatial video. How amazing would that be?

I wish Apple provided a straightforward way to unlock(like remove restrictions on the OS level) old phones and use them for DIY projects.

Max-q · a year ago
Do you really need the phone? The dual core 240MHz ESP32 seems to be able to do the job at lower weight and power consumption.

Maybe the old phone is better used as a controller?

mrtksn · a year ago
I got an ESP32 WROOM 32U board that I intent to use it as the flight controller which will keep the drone within its flight envelope and do the maneuvering upon receiving commands from the phone.

I find the phone appealing because I want try to make it somewhat autonomous, like im RTS games where you give a unit a command to go somewhere and it figures the path out by itself and avoids obstacles without direct input. The phone has quite a lot of processing power and sensors and IMHO doing it on board will be more interesting. Also, I'm not sure that the connection will be always stable and high bitrate make the drone a thin client.

talldayo · a year ago
You would want to use quite literally anything except Apple-manufactured hardware for this purpose. Just don't even waste your life-minutes on that kind of thing.
szundi · a year ago
Not a realtime os though
mrtksn · a year ago
True but, IMHO, a lot of the higher level task should be able to handle it. I guess you can have a simple real time IC to handle the flight envelope to provide stable flight and then use the iPhone to do the advanced operations. For example, if you are building a drone that is mapping the environment and follows you through a bike ride, does it really matter if the 3D environment it creates for autonomous navigation is slightly off? You can continuously compensate for it, stick with moving averages and avoid extreme moves.
numpad0 · a year ago
imo "realtime" is such a misnomer. It should be re-termed as "jitter minimized" or "loop interval stabilized" or something along that.
bschwindHN · a year ago
Hence a microcontroller for flight control. The iPhone can just decide on the higher level tasks and send control signals to the microcontroller, similar to how a microcontroller delegates tasks to the underlying hardware peripherals.
anigbrowl · a year ago
Or if you don't want to do it from scratch, you can get a programmable readymade for a little more: https://shop.m5stack.com/products/m5stamp-fly-with-m5stamps3...

The included software stack is very basic, dig around on Japanese nerd Twitter for open source avionics.

rahimnathwani · a year ago
Right, but it's 3x the price and out of stock :(
teruakohatu · a year ago
This is amazing. Even the landing gear (struts?) is part of the PCB. I hope the author considers selling kits or outsourcing kits to SeedStudio. I live in a country where digikey order shipping is quite pricey.

The author estimates the BOM to be a little under US$13. At that price it would be fun to try create a swarm for DIY drone lights show.

[1] https://circuitdigest.com/microcontroller-projects/DIY-wifi-...

jdboyd · a year ago
FWIW, making just 10 might drive that $13 price down quite a bit.

Although, it looks like 1 unit might be closer to $50 (at least for the suppliers I might use), but $150 for 10.

I think costs could be cut somewhat though. The USB->serial chip is nearly $6, but differently packaged it can be $4.40 for 1 or $3.99/ea for 10, and alternative chips that seem like they should be good enough can be cheaper still. The voltage regulator they chose is $1/ea for 500ma, while the one I would normally go to is $0.22/ea for 1000ma (dropping down to $0.13/ea for 10).

pjc50 · a year ago
If you're making lots, you could uncouple the programming interface which isn't needed while in flight, thereby saving both BOM and weight.
sweetjuly · a year ago
The entire BOM is crazy. The USB to UART chip is wholly unnecessary if you simply pick a better (at an equal or lower price) ESP32-S3 module which has a USB interface.

I suspect this was designed based on things the author had in their cupboard as opposed to something that's reasonable for new designs.

numpad0 · a year ago
Does it need a regulator at all? ESP32 should be able to run on raw battery voltage, assuming the ESP is necessary. RealTek TX2/RX2 + PIC10/ATTiny10/CH32V003 could be even cheaper if user is okay with a dedicated transmitter.
awestroke · a year ago
Which is your go-to voltage regulator?
jauntywundrkind · a year ago
Feels like a poor fit, given the limited number of cores available.

Would be awesome to see rp2350 or some such, where there are very low power io cores available that can do work whether the main core is on or not. Embedded really is one of the best places for many-core, but it's so so rare there are good offload architectures and puny Programmable IO systems.

Should out to folks like Silego/Dialog/Renesas with their GreenPAK; ultra tiny but interesting mixed signal little bits of programmable logic with a healthy dollop of peripherals!

crote · a year ago
Calling the RP2350's PIO units "low power io cores" is quite an exaggeration. Although they are technically turing-complete with a lot of hacking, they are absolutely awful at any kind of compute. Heck, you probably don't even want to let it handle UART parity calculation!

If anything the ESP32's Ultra-Low-Power Coprocessor would be perfect for such applications - but realistically it isn't worth the effort. Compute power usage is going to be negligible compared to what is needed for wifi and rotors, and running multiple realtime tasks on a single core isn't exactly rocket science either.

not_the_fda · a year ago
You don't need more cores. Ardupilot runs on much less capable hardware https://ardupilot.org/copter/docs/common-autopilots.html#com..., we've sent people to the moon with less capable hardware. More cores just make things more complicated.
jauntywundrkind · a year ago
I agree that we have a wealth of capabilities available. The modern Cortex M7 cores are fantastically powerful.

Still, cramming everything into a main core had tradeoffs. It's a big core to wake up & run, with significant power draw. If you start running a bunch of stuff, it can be hard to meet realtime constraints, to provide reliable processing where needed.

The blanket statement that more cores is more complicated feels too broad. There's times when io cores are much simpler cinceptually, such as when you have realtime needs such as drones might. Subdivision of responsibility & dedicated cores is a powerful way to de-complect concerns. And it can bring huge energy savings.

Multi-core is also the chip making strategy that actually makes sense. We can cram so many transistors onto a tiny tiny chip, but what do we use the transistors for? We can keep trying to build bigger faster single cores, but there's only so much instruction level parallelism and caching we can actually effectively utilize. Having tiny io cores dedicated to specific tasks can use an incredibly tiny amount of extra die space, while providing incredibly low power dedicated processing for specific subsystems. Seems like a win.

Let's resist making broad statements like "you don't need". What's "needed" might not be what's best. We should have open minds to consider advantages & disadvantages. I for one think tiny io cores can later in amazing possibilities, have seen the rp2040 as a huge leap in capabilities (throwback to the Parallax Propeller with wide SMT like behavior) that's enabled a ton of interesting flexibility & novel low power embedded creations to get off the ground.

boguscoder · a year ago
Even rp2040 is fine running a basic drone. Ive learned a lot from this project https://github.com/holsatus/holsatus-flight