<p>I am working on a project where I need to interface with a Runcam Split 4 using its UART protocol.</p>
<p>You can find the protocol documentation <a href="https://support.runcam.com/hc/en-us/articles/360014537794-RunCam-Device-Protocol" rel="nofollow noreferrer">here</a></p>
<p>I am able to get info about the device features through the 0x00 command. However, I am not able to control the camera's recording through <code>RCDEVICE_PROTOCOL_CHANGE_START_RECORDING</code> and <code>RCDEVICE_PROTOCOL_CHANGE_STOP_RECORDING</code>. However, I noticed that <code>RCDEVICE_PROTOCOL_SIMULATE_POWER_BTN</code> is able to toggle the camera recording. This seems to be a firmware error, and it was also accounted for in the Ardupilot code.</p>
<p>The documentation is also very vague on things like <code>CHANGE_MODE</code> and does not explain what that command does.</p>
<p>What I am trying to do is read from the UART protocol to determine if the camera is currently recording, but in the documentation, there doesn't seem to be any way to do that. I originally thought I could just repeatedly send the start record signal to ensure that the camera is recording, but that doesn't seem to be an option. How can I read the recording status so that I can start the camera's recording if it isn't already doing it?</p>

CC BY-SA 4.0
2021-12-17T07:37:56.990Z
Hrm, curious. The documentation page you linked to doesn't seem to support such a feature. Seems to me like it's intended to just simulate the camera buttons and little more.
ifconfig
CC BY-SA 4.0
2021-12-17T07:51:33.373Z
Yes, it doesn't say that it supports reading the recording status, but I am also trying to get the stop and start recording commands working reliably at minimum. I intend to run the camera without a person in the loop on a rocket, so it's important to be able to confirm whether the camera is recording, either by repeatedly calling the start record function, or explicitly reading that information from the camera.
Sagar Patil
CC BY-SA 4.0
2021-12-17T07:54:58.223Z
Hrm, yeah I understand what you mean. I know that Joe Barnard (on YouTube) uses the same kind of camera on his rockets, but I think he just has them configured to start recording on powerup. I'm not sure how he stops recording... might just be something braindead simple like doing it manually after the flight or letting it saturate the SD card?
ifconfig
CC BY-SA 4.0
2021-12-17T08:07:48.560Z
Unfortunately, we cannot rely on the inbuilt LED on the camera's PCB because of design constraints not allowing the LED to be visible. This is why we need a different mechanism to determine if the cameras are recording, so that we can send a signal to the camera or inform the launch operators if the camera is not recording.
Sagar Patil
CC BY-SA 4.0
2021-12-21T13:32:55.687Z
"We can't rely on the LED". Well, can you pull it off the board, and fly-wire to those pins? It's a stupid workaround, but I'm pretty sure the LED blinks when recording. You can tie into this, and check if it's on, off, or blinking to determine the status of the camera
Brydon Gibson
CC BY-SA 4.0
2021-12-23T05:34:48.613Z
Pulling them off board was not practical because the SMD led is very small and soldering leads to it would mean high chances of a short. We also considered putting a photo resistor, but the solution we're going with is to just have an LED showing if the board is receiving power or not, and trusting the board to start recording on power up. The Runcam has reliably started recording on power up, so we're going with the simpler solution to avoid any unnecessary complexity
Sagar Patil
<flight-controller><fpv-cameras><camera><ardupilot>
How can I read the recording status of a Runcam Split 4 through UART?
Sagar Patil
# How can I read the recording status of a Runcam Split 4 through UART?

(Asked by: username_0 on 2021-12-17)

I am working on a project where I need to interface with a Runcam Split 4 using its UART protocol.

You can find the protocol documentation [here](https://support.runcam.com/hc/en-us/articles/360014537794-RunCam-Device-Protocol)

I am able to get info about the device features through the 0x00 command. However, I am not able to control the camera's recording through `RCDEVICE_PROTOCOL_CHANGE_START_RECORDING` and `RCDEVICE_PROTOCOL_CHANGE_STOP_RECORDING`. However, I noticed that `RCDEVICE_PROTOCOL_SIMULATE_POWER_BTN` is able to toggle the camera recording. This seems to be a firmware error, and it was also accounted for in the Ardupilot code.

The documentation is also very vague on things like `CHANGE_MODE` and does not explain what that command does.

What I am trying to do is read from the UART protocol to determine if the camera is currently recording, but in the documentation, there doesn't seem to be any way to do that. I originally thought I could just repeatedly send the start record signal to ensure that the camera is recording, but that doesn't seem to be an option. How can I read the recording status so that I can start the camera's recording if it isn't already doing it?

**Tags:** flight-controller, fpv-cameras, camera, ardupilot

> **Comments:**
> **username_1**: Hrm, curious. The documentation page you linked to doesn't seem to support such a feature. Seems to me like it's intended to just simulate the camera buttons and little more.  
> **username_0**: Yes, it doesn't say that it supports reading the recording status, but I am also trying to get the stop and start recording commands working reliably at minimum. I intend to run the camera without a person in the loop on a rocket, so it's important to be able to confirm whether the camera is recording, either by repeatedly calling the start record function, or explicitly reading that information from the camera.  
> **username_1**: Hrm, yeah I understand what you mean. I know that Joe Barnard (on YouTube) uses the same kind of camera on his rockets, but I think he just has them configured to start recording on powerup. I'm not sure how he stops recording... might just be something braindead simple like doing it manually after the flight or letting it saturate the SD card?  
> **username_0**: Unfortunately, we cannot rely on the inbuilt LED on the camera's PCB because of design constraints not allowing the LED to be visible. This is why we need a different mechanism to determine if the cameras are recording, so that we can send a signal to the camera or inform the launch operators if the camera is not recording.  
> **username_2**: "We can't rely on the LED". Well, can you pull it off the board, and fly-wire to those pins? It's a stupid workaround, but I'm pretty sure the LED blinks when recording. You can tie into this, and check if it's on, off, or blinking to determine the status of the camera  
> **username_0**: Pulling them off board was not practical because the SMD led is very small and soldering leads to it would mean high chances of a short. We also considered putting a photo resistor, but the solution we're going with is to just have an LED showing if the board is receiving power or not, and trusting the board to start recording on power up. The Runcam has reliably started recording on power up, so we're going with the simpler solution to avoid any unnecessary complexity  

---

## 0 answers

