RunCam serial driver - alpha testers wanted

I have completed writing a driver for the RunCam series of cameras and my work can be found in this PR: https://github.com/ArduPilot/ardupilot/pull/12810
So far I am on the only one who has tested this and I only have a RunCam split micro 3, so rather a limited dataset :slight_smile:
I’m looking for people who would be willing to test this driver with their RunCam’s so that we can flush out any issues.
The driver uses the remote RunCam protocol so you would need to have your camera attached to one of your serial ports.
I can give more details and do firmware builds for anyone wanting to give it a try!

4 Likes

I will try to test this. I am just testing Mavlink runcam control in missions using Storm32. Since all of my runcam equipped planes are using omnibus F4 Pro v3 I first needed to get an extra serial port by repurposing pwm5 and RSSI. So I should be able to test this as well.

Nice work.

1 Like

@andyp1per I have as it a happens a test setup for this. I am working with Olli to test mavlink camera control of Runcam with a micro strom32 board. I have a Nano Talon with Caddx Turtle v2 (that supports Runcam serial protocol) and I have just tested my build of Arduplane with the extra serial port I need to do that by repurposing PWM5 and RSS. (It is pretty cool to control GoPros and Runcams with a UI button on QGC, with recording time and SD card capacity countdown – but I digress).

So is this in Master for all vehicles or only copter? I also have an Omnibus F4 Pro set up on the bench and i own a Runcam 2, Runcam Split 2S, and Runcam Micro 3 so I can test them all, along with a Caddx Turtle V2.

Just let me know which vehicle to compile in master or anything else I need to know to get going.

1 Like

It should work in copter/plane and rover - only tested in copter.

Any or all of those would be good - especially one that supports the 5-Key remote, that’s the part I really can’t test.

Mine is a runcam split micro 3 and I needed an update to the firmware to get menu change settings working (2.4.4). It would be good to know if their firmware works and whether the menus are different as that might require some trickery to make work.

1 Like

Ok. Will try and get this done in coming days on the bench.

Also looking for feedback on whether the UI is what you would expect and whether you get the control you need. Currently this only allows you to start stop video from an RC switch and to control the OSD menu using RC sticks. I’m guessing you want some kind of mavlink support as well.

I’ve pushed some commits for review comments. This once again overflows the matek 405 Wing so it’s turned off by default on copter. With a newer gcc this is not a problem - you can safely re-enable and get all the features.

I think the vast majority of folks just want start/stop video and shutter control via RC. What you have done answers a big hobbyist need. I have a Pix Cube I can test with as I assume it will not, as of now anyway, fit on an Omnibus F4 Pro either.

Mavlink is another fish entirely I think. Right now Olli has working Mavlink control using a Storm Gimbal controller board – I am testing it. This actually requires compiling with extra stable Mavlink messages that Ardupilot does not yet support (although PX4 does) – I did ask if we could get these messages added to master but that received crickets from the person maintaining Mavlink in ardupilot. Olli has also added support in QGC so we have a nice red button. Not sure if we will ever get to using GCS Mavlink and outputting Runcam serial through a FC serial port – that would be ideal. It should be possible.

I was also thinking that the good work done thus far (which is on Github) would lend itself to an ESP32 standalone project for Mavlink camera control since we can control a Gopro with mavlink through ESP32 wifi right now. But again I do not want to digress from the task in hand which to test this great RC control option you have done.

It will work fine on an omnibus f4 pro - just turn something else like parachute off, it’s only over by 44 bytes.

Unfortunately the RunCam protocol doesn’t appear to support taking pictures - at least not on my runcam, only video start/stop.

It supports taking pictures, just not with the Micro you have (I have the same) as that has no shutter/pictures in firmware. With a Split 2S it can do shutter control as well.

Ok, so probably some experimentation required with the mode/power buttons. That’s how I got the OSD working with two-button control. It would be good to know what combination of buttons (a) puts you in camera mode and (b) takes a picture.

i can test
just tell me how I enable here for drones

Thanks! Can you build the firmware or do you need me to build a version?

Instructions in the PR: https://github.com/ArduPilot/ardupilot/pull/12810

could you do for Pixhawk PX4 version 2.4.8
drone and plane?
Is serial and free choice or do I have to use a specific one?

fmuv3 which is I think what you want.
Serial you can choose by selecting protocol 26 on the serial port you want to use

my card is detected as umpx4v2

So you only have 1Mb of useable flash? Does MP allow you to flash the firmware I sent. If not does it tell you the board id?

I can build fmuv2 also, but not convinced this is what you have. px4v2 is usally the NuttX version which is not supported on master anymore.

mine does not have the 1mb bug can write larger files too because I can still load the old versions
strange now was i uploaded an official version like px4v3 and now your firmware has been accepted

Could you put pictures of how the parameters should be determined?
What combination do I have to do in the control to open the camera menu?
Is it possible to add a debug function to know if the camera is communicating with the flight controller?

No joy yet. I have compiled and flashed my nano Talon Omnibus, updated the Caddx Turtle V2 to the latest firmware. Connected UARTS (and swapped in MP to be sure). Where do I see the if the Runcam is detected? is that in the messages tab in Mission Planner?

I am also at this point unsure of how to configure the RC? How do I assign channels to these functions anyway with Ardupilot. Is that the RC IN settings. Maybe you can give some extra details and show where we see if the camera is detected.

Have you configured SERIALn_PROTOCOL to type 26?

If so you should get a message about runcam features in your GCS even if the connection is not correct. It will probably report 0 if not connected or powered and something else if all is good.

If you get features reported then you can configure an RC switch to type 78 to control video on/off. By default you should also be able to enter the OSD menu via roll hard right (or yaw hard right depending on when you synced).