I want to be able to remotely take pictures and start and stop video using a GoPro Hero 9 Black while it's attached to a quadcopter. The pictures will need to be saved to the GoPro's internal memory card.

I'll also need to be able to simultaneously view a live video feed from the GoPro so that I'm able to properly align the camera for taking pictures.

I have never used a GoPro before but I've read that it has a wireless live video stream feature built in where you can see a live video feed from the camera on your phone using the GoPro app. If this is true does this work well while the drone is moving around. The drone will be used for surveying land. It will not be used for FPV racing if that has any relevance.

Ideally I would like to be able to connect a Nvidia Jetson Nano or alternatively a Raspberry Pi to the GoPro and use something like OpenCV in combination with the "unofficial" GoPro API project on GitHub to automatically take the pictures and while I view a live video feed from the drone. That's the main goal but if this isn't possible then can I do it manually using the GoPro app on my phone? Any guidance or suggestions would be greatly appreciated. Thank you.


Perhaps this will help clarify my objective. I'm basically wanting to make a DJI style controller with the phone screen that let's you see where you're going and to have a feature that lets you take pictures manually or autonomously using AI/OpenCV.

  • $\begingroup$ The GoPro app connects to the camera via Wi-Fi, which has a limited range. This could severely reduce the area of land that would be possible to survey. $\endgroup$
    – Jacob B
    Commented Apr 11, 2021 at 2:13
  • $\begingroup$ Yeah, I figured in idea conditions I MAY get up to 300ft at best before running out of range. While not ideal, I figured that since I'm mostly going to be photographing residential homes it probably wouldn't be an issue in mist cases. $\endgroup$ Commented Apr 11, 2021 at 2:58
  • $\begingroup$ I had seen a video where an individual had connected some kind of video transceiver to a GoPro hero 3 using a usb connector to view the video feed. Do you know if this still works on the Hero 9 Black? $\endgroup$ Commented Apr 11, 2021 at 3:01
  • $\begingroup$ I'm not familiar with the method you're talking about, so I'm not sure if it would work with the Hero 9. $\endgroup$
    – Jacob B
    Commented Apr 11, 2021 at 3:23
  • $\begingroup$ Here is the link to the video: youtu.be/fDmxQ1owodY?t=3084 He uses a FPV video transmitter to broadcast the signal from the GoPro to a screen. I found a more up to date video that's basically identical but this individual uses a HDMI converter box which isn't exactly ideal due to extra weight although in the video he applies the GoPro settings to "monitor" mode which IDK if that would prevent me from taking pictures simultaneously. $\endgroup$ Commented Apr 12, 2021 at 23:53

1 Answer 1


I don't have any experience with that API, but I read through the documentation so I will try to give the best answer I can based on this and the comments below the original question.

I would recommend using an either an Arduino or Raspberry PI pico. If you do that you can use the arduino library based on the goprowifihack API (Arduino libraries works for the Pi pico).

The only downside I see to this is that it does not support live streaming, so you would need a separate solution for that. The best solution here would probably be to mount an FPV camera in the same direction as the GoPro and then use a regular video transmitter. You could also use the HDMI output of the GoPro I think, but I don't know of a way to transmit that video without adding considerable weight.

To control the Arduino (or any other microcontroller of your choosing), the same rx reciever that you already have can be used. I don't want to comment on exactly how to do this as I don't feel qualified, but there are libraries for both SBUS (You can split the cable to go to both your flight controller and the Arduino, you just have to know which channels should do what) and PPM for example.

If you then for example set up your transmitter so that a switch corresponds to channel 8 and then program the Arduino to activate video recording, the switch on the transmitter will work as a start button for video. You could also set it up so that video is on when the switch is in one position, and that it turns off in the other direction. Repeat this for all the functions you need and it will be as close to a DJI drone as possible. As a bonus it will be a lot more flexible than a DJI drone.

This shouldn't add too much weight if you use a lightweight microcontroller (just remember that you need WiFi as well, either built in or a separate board).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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