I have very little time until I get to the USA to buy the material to put together a drone which I want to use to measure antenna gain patterns for HF radio. Example, a 20m band half-wavelength dipole antenna is 10 m wide and should be mounted 10 m above ground, probably it will have to be less. Additional parasitic elements of about 10 m wide spans are added around the main driven element to achieve directional gain.

The issue is measuring this gain for which one needs to get two wave lengths away and up all around the antenna assembly, which is easily 100 m all around. And for 40m, 80m, 160m band antennas it would scale accordingly.

The measurement device we would need to lift up is an SDR (software defined radio) device, which can be as small as a USB dongle, along with some small receiving antenna. The drone would fly around the transmitting antenna and would measure the antenna's gain pattern on a set of chosen frequencies and transmit power while we would be intermittently transmitting our call sign in Morse code like a beacon. Given the fact that it's an experimental antenna assembly, the drone should re-take the same flight path several times as we adjust the setup.

Since an SDR dongle needs to be plugged into a USB port of a computer running some Linux, the Raspberry PI comes to mind. And to avoid having to carry that as extra payload, I want to have a drone which has a PI as its main control and communication module.

I have seen several PI drone projects, dating as far back as 2016, but even after all that time I have not seen an affordable kit. It should be around $200, as even in 2016 a ZDnet article talked about a DIY PI drone in that budget. Since I have very little time to get the parts together while on a short visit to the USA before returning to South America where everything is twice as expensive, I would like to find something that I can just buy. Do you know of a kit or a state of the art shopping list that is based on a generic drone kit?

[Hey Stack-Exchange police: this is not just a shopping question, it is a state of the art question.]

What is the state of the art in Raspberry Pi drones now? Much has happened since 2016.

How can I tell from looking at drone kits on Amazon for example, how much payload they are able to carry? This is not reported in the specs that I can see.

I would like to avoid the RC gear and just use WiFi to control the drone and receive the telemetry data.

  • 2
    $\begingroup$ I'd assume that if I needed to clarify with a note why my question isn't too broad or off-topic, it probably is in some way. I'm having a hard time understanding what the crux of the question is, so I think it's probably too broad; try narrowing the scope. $\endgroup$ – ifconfig Jan 2 at 5:14
  • 2
    $\begingroup$ I'd recommend trying to strip superfluous narrative structure and add diagrams if possible, to start. $\endgroup$ – ifconfig Jan 2 at 5:15
  • 1
    $\begingroup$ There's quite a few reasons why a RPi isn't really an ideal platform for the real-time control of a drone so I'm guessing outside the odd DIY project every commercial project has used something more suitable. You're probably best focusing on the payload weight issue and treating taking the measurement as a separate issue, even if you did find a RPi based drone it wouldn't be safe to assume the SDR and navigation would work well at the same time. $\endgroup$ – PeterJ Jan 2 at 11:07
  • 1
    $\begingroup$ I don't and I'm not saying it won't work, just that you'd only know for sure by testing it. $\endgroup$ – PeterJ Jan 2 at 22:56
  • 1
    $\begingroup$ @ifconfig I think the deal is to use the flight controller, like a Pixhawk separately, and use the RPI to pass commands to it, such as passing manual RC inputs though that were received via WiFi. I thought I had seen this in out of the box drones: Drone + Camera + Computer --- Cellphone using WiFi (as hotspot or connecting to drone being the AP), and RC joystick connected via bluetooth or USB plugged to phone. I think that exists. The flight controller like Pixhawk would be separate. $\endgroup$ – Gunther Schadow Jan 4 at 0:34

This is very similar to a project I had in mind, also using an SDR for radio spectrum mapping.

Unfortunately there is no ready-made solution to your exact problem, and specifically there are no entirely Pi-based drones that I know of. But we can get pretty close by releasing the constraints a bit.

The simplest build would be an autopilot-equipped copter with an offboard SBC (e.g. the Pi) and an SDR dongle. The SBC would be linked to the flight controller via MAVLink or similar over UART, which would allow it to receive real-time position data and optionally send commands to the FC. The autopilot will then perform a waypoint mission uploaded either through the autopilot's ground station software or directly from the onboard Pi, sweeping around the antenna in a tight pattern, and the Pi will record and location-stamp the data. When the drone returns you could use some script of your own design to interpolate that log into a continuous spatial intensity map.

This kind of solution is great in that you could use any waypoint-capable drone, as it only serves as a carrier for the mapping package, and the only integration you need is receiving GPS. You could even use a second GPS receiver in order to fully decouple the drone from the SDR package. Or you could go the other way and fully control the drone's behavior from the Pi via the link, the FC only providing the basics of flight and leaving the flightpath up to the Pi.

For the hardware, use any copter capable of carrying a Pi, dongle and antenna. Fully equipped ardupilot-ready kits capable of carrying a camera can be had for around $200, for which you only need to supply your own battery (and, if you wish, a 2.4G RC control link, which I'd recommend, but you can make do with just the 433MHz groundstation link if you're so inclined).

If you want the Pi to be integrated more closely into the drone, there are several Pi-specific solutions that I know of, but they all involve an external microcontroller-based flight controller board. For instance, there's the Navio by Emlid, which is an Ardupilot-equipped flight controller made in the form factor of a Pi HAT. Then there used to be the Outcast Droneworks MicroHawk, a micro-drone that uses a Pi Zero as part of its body. The page for it is now unavailable, however, so I don't know the current status of the project. In any case, this is in essence the same as sticking a regular FC board and a Pi on the same frame and connecting them together, the only difference is the form factor.

For the autopilot package, Ardupilot, PX4 and INAV are the most popular. All three support MAVLink, and Ardupilot supports onboard Lua scripting in addition to that. There are others as well which you might want to research, but I'd suggest sticking with one of these.

Some parting notes:

I think it would be very beneficial to browse the forums of all of those autopilot packages for threads on mapping missions. Most of the information will likely be about photographic mapping in particular, and thus discuss way sparser patterns and bigger altitudes than what you need, but the principles are exactly the same.

Considering the required spatial resolution of your measurements, especially at shorter wavelengths, you should probably look into DGPS and RTK and maybe set up a local reference station of your own, which would allow you to improve the positioning accuracy dramatically (from ±5m to single centimeters or less).

Also you should mind the polarization of your receiving antenna, otherwise your resulting radiation map may be altered significantly by cross-polarization attenuation. Maybe you could use a circular-polarized antenna, set up several linear antennae on the same drone, or make several passes with the receiving antenna in different orientations relative to the transmitting antenna under test to account for that.


You might check out this video on using a Pixhawk and a rPi with Python. The video just walks you through the serial connection and some Python code for basic control. The Pixhawk is doing all the real time control (Linux isn't good for that part) and the rPi is talking to it over a serial port.

You might also look at the MicroHawk reference in: Do drones with inflight API access for control inputs exist? (although the link seems to be broken at the moment).

  • $\begingroup$ Perhaps you could summarise the main points from the video in your answer. Link-only answers tend to be frowned upon on SE sites. $\endgroup$ – sempaiscuba Feb 9 at 19:58
  • $\begingroup$ yeah, I had already mentioned this in my comment to the discussion. but I guess I upvoted the answer even if late ... hey, why not upvote my question also? I guess voting someone up costs very little. $\endgroup$ – Gunther Schadow Feb 10 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.