Posted on 2 Comments

Emulating a GoPro remote with RaceCapture and Lua scripting

Many have said the GoPro 4 is still the ideal cam for racing, for its resistance to overheating and the ability to handle large SD cards.

Currently, RaceCapture supports GoPro control by connecting to the GoPro’s access point. This works well with the Hero3, but not reliably withe the Hero 4, due to the Hero 4’s tendency to turn off WiFi while in Access Point mode.

Our friend David Alexander Croker did some great research on the GoPro protocol and developed a Lua script that has the RaceCapture system emulate a GoPro WiFi remote. This flips the connection around – now the GoPro connects to RaceCapture’s Access point, and allows RaceCapture to start/stop a Hero4 camera in sync with the system’s built in automatic control. This means you should be able to create time aligned data and video files with one trigger!

Configuring your RaceCapture system

To start, connect your RaceCapture system to the RaceCapture app.

Go to Setup / Wireless and completely disable WiFi

Then, go to Setup / Automatic Control and configure your start/stop triggers for logging . You’ll likely want to enable SD logging at this point, but turn off the built-in camera control, since this will be controlled by a script.

Now, switch to Setup / Scripting and bring up the Presets window.

Under Shared Presets find the GoPro Hero 4 control preset. Import this into your scripting window.

Now press the Write button to save all of the settings to your RaceCapture system.

Finally, give the system a complete power cycle (disconnect USB and 12v power)

Testing the GoPro Hero 4 control

Turn on your Hero4 and ensure its WiFi is also enabled.

Then, power up RaceCapture. The Hero4 should automatically connect its WiFi to the RaceCapture, thinking it is connected to the standard Hero4 handheld remote.

Try simulating a logging start/stop – you can use the front logging button on your system, or map the Automatic Control to an IMU channel, like AccelY to make it easy to start/stop logging by tilting your RaceCapture device.

If all goes well, you should see your Hero4 start and stop recording, as if by magic!

Only Works with the Hero 4 (for now)

At the moment, this approach only works with the GoPro Hero4. David is currently researching how to get it to work with the Hero5 and later cameras.

Feedback and help!

Got it working? Let us know in the community of your choice (Facebook / Discord / Forums)

If it doesn’t work as expected, you can enable debug mode in the script and check the “poll log” to see any messages it might output, and post in one of our communities – we’ll do our best to help troubleshoot!

2 thoughts on “Emulating a GoPro remote with RaceCapture and Lua scripting

  1. Cool! I have a couple questions. With the Wifi disabled, does that mean an iPhone wouldn’t be able to connect to our RC Pro 3 at the same time as doing this? Also, you say it doesn’t work with newer models, but does it work with the Hero 3?

    1. Hi, this Lua script takes over the WiFi connection, so it will disable access by iOS. You could fall back to an Amazon Fire tablet via Bluetooth, however.

      The preset script now supports more models; there’s a facebook discussion in our community that discusses the latest updates.


Leave a Reply

Your email address will not be published. Required fields are marked *