Autonomous video recording

This project goal is to developp an autonomous way of filming RC plane during flight without the need of a 2nd person to do it.

Similar projects worth following
I always wanted to do nice video of me flying my RC plane, but I can't fly and film at the same time. I decided to develop an autonomous way of filming my planes using arduinos and my father HD sony camera.

It started with image treatment with OPEN CV and a webcam to detect motion, but after some weeks of development it was obvious that I was good enought in image treatment to keep track of a planes with different shape / size / color in a reliable way.

I briefly switched to RSSI tracking as I allready have in most of my plane 433mhz telemetry, I am keeping this one as backup.

Right now it is using a beacon with GPS, needed in the moving object.

This project will be done in 3 phase :
- Found and validate the way to track the object using a V1 hardware
- Develop a better hardware (V2 with CAD + 3D printed body)
- Software tunning

It is entering the final phase right now.

The principle is simple, compare GPS coordinate between 2 elements to determine where to aim a pan and tilt to film it.

However, there is some limitation, cheap GPS are not very precise so it will not work with a distance below 15m. Also altitude measurement with GPS is not accurate enough to use it. I decided to go with pressure sensors (MS5611) and use a simple pilote rule that 100Pa = 2 feets.

The first version was using a direct orientation to North pole for absolute positioning. I quickly understood that is was a strong contrain. The new version wait for the start of the tracking to take the current position as 0° forward (meaning you have to point the beacon while starting tracking). It is then using the course_to function from the tinygps++ lib to compute an angle. I use the tinygps++ beaucse it can output the coordinate with more precision.

There is a button on the beacon to command the base for start and stop tracking. At the same time the IR while send to the sony camera to order to start recording.

On the base you have 3 button :

-1 used for altitude compensation, it will zero the offset between the pressure of the beacon and the one of the base.

-1 used for command to start or stop the tracking

-1 is the reset of the Arduino Mega

There is also 2 switch

-1 for 2 preset of rotation speed (usefull for development and later for preset according to the scene you are filming)

-1 for 2 preset for zoom behavior (max zoom value)

I am using 2 Arduino on the base to avoir having jitter on the servo as interrupt present problem for the PWM generation. The 2 Arduino are link by a serial comm using my own basic protocol to transmit only position and speed.

The beacon is using a moteino as it is usefull for me to have the µ and the RFM69HW directly on the same PCB and at 3.3V (no level shifters). The GPS is working either in 3.3v or 5v.

Software details :

- Tinygps++ libraries for NEMA translation and course computation

- Servo libraries with speed included

- IRremote libraries

- RFM69HW library (currently set to minimal power)

- GPS set to 5Hz

- Loop time target 100ms

- Simple low pass filtering on GPS coordonate

To do :

- Tune speed parameters to smooth the rotation

- Tune zoom control in flight

Nice to have :

- Kallman filter

Finaly you may have noticed that you already saw something like my device, you are right, it is called Soloshot and available on amazon, build by surfers but working with almost every hobbies !

But the fun is to do it by ourselves isn't it ?

  • 1 × Moteino R4 with RFM69HW 868mhz µC of beacon + TX
  • 1 × Arduino MEGA R3 Main µC for the base
  • 1 × Arduino Nano Servo dedicated µC (could be a mini)
  • 2 × GPS NEO-6M 1 for the base & 1 for the beacon
  • 2 × MS5611 pressure sensor 1 for the base & 1 for the beacon

View all 11 components

  • 07/06/2015 : New test @ field VIDEO

    Walker Eric06/15/2015 at 09:02 2 comments

    Here is the video from the last test, there is an offset to the right due to mis positionning of the support.

    Also you can notice the limit of my current calibration for the heigh !

    Zoom was disable and servo speed was a little bit to high, I hope the 10Hz GPS will improve the smoothing.

  • 07/06/2015 : New test @ field

    Walker Eric06/10/2015 at 12:50 0 comments


    I tweaked some things :

    - Changed setting in the neo 6M GPS (pedestrian mode for example)

    - Added HDOP GPS base value on the OLED while not tracking

    - Switched IR control to another µC, a mini pro 5V wired to the last serial output available on the mega.

    It allow to send the command start / stop / zoom that takes 90ms without slowing the MEGA that is making the GPS computation.

    - Ordered 10HZ neo 8 GPS

    I tested 3 flight with 30min idle positionning to be sure that the FIX is solid, however the HDOP value from tinygps++ was never belove 95 .. I need to contact the guy that did it to ask some questions.

    It worked well !! I need to upload the video on youtube, this time the test subject was my EXTRA 300 78" (2m) from Extreme flight.

    It showed also that I need to tune the tilt angle computed from altitude.

  • 31/05/2015 : Zoom test @ field

    Walker Eric06/10/2015 at 12:43 0 comments

    The device did not work well, lot of offset for positionning ... video are garbage.

    Zoom command is working but need tunning

  • ​26/05/2015 : IR LED working

    Walker Eric05/29/2015 at 08:31 0 comments

    => Start and Stop recording : I implemented the command to start the recording and stop it when tracking start and stop.

    => For the zoom, the IR control was already working, the computation was not.

    I will use speed / distance like the rotation to zoom or not. I added a switch to have 2 presets of "max_zoom" as in RC model video you don't want to zoom to much.

    The only problem I have is the time used for the IR command as is take 3 x 30ms and increase my loop time decreasing the rotation response time.

    I need to go to the field and fly my quad again, the goal is to find 2 presets that will be change according the speed of the airplane.

  • 05/04/2015 : V2 test on quadcopter 600

    Walker Eric05/29/2015 at 08:06 0 comments

    Not the first test of the V2 but one after disabling the kallman filter GPS 2D I found on github

    It works great, need to smoth rotation and work on neutral position.

  • 11/01/2015 : Video of the V1 in action

    Walker Eric05/29/2015 at 07:53 0 comments

    Video of the first version prototype outdoor.

    For the first outdoor test my test subject was my girlfriend riding a horse, for the first test it is beyond my expectation !

    It seems to be good enough for me to validate the concept and go on for CAD drawing, time to install sketchup and learn CAD.

View all 6 project logs

Enjoy this project?



Narciso Rodrigues wrote 03/20/2016 at 02:52 point

Hi there!

Are you still working on this?!

One big limitation of Solo is that base station cannot be moved during "starting recording"... do you have the same issue?

Best regards,


  Are you sure? yes | no

Walker Eric wrote 03/20/2016 at 10:30 point


Still working on it, didn't have much time and was not motivated by the weather ... 

Anyway, I mounted the 10Hz GPS on the beacon and need to try out ...

The fact that the station cannot be moved is also present, I have a GPS on the station but the computation are using angular positionning and the only way to be able to move the station would be to add a compass on mine !

Best regards

  Are you sure? yes | no

peter.b.grain wrote 06/30/2015 at 00:32 point

This is great. Wondering why you use servos and not brushless motors as in a gimbal?

I will follow this with interest.

  Are you sure? yes | no

Walker Eric wrote 06/30/2015 at 09:56 point

Hello, the pros over servo is the absolute angular positioning while using the servo potentionmeter.  With gimbal, I think it is not as easy and not as cheap !

I will look into it later ... much later ..

  Are you sure? yes | no

pescadito64 wrote 06/20/2015 at 04:06 point

Sorry, at first i miss understand your goals, not same as, but anyway it could be interesting to you.

  Are you sure? yes | no

pescadito64 wrote 06/20/2015 at 04:04 point

Do you know, or may be you could keep gps coordinate in flash memory, download after flight and process as you want.

  Are you sure? yes | no

Rob Parzek wrote 06/11/2015 at 11:42 point

Just read through the principles and methods of operation - very cool!

  Are you sure? yes | no

Walker Eric wrote 06/11/2015 at 12:00 point


  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates