An Arduino Nano-powered GoPro voice control fixture
February 09, 2017
Since I purchased a DSLR camera several years ago, I’ve been fascinated with taking good photos. This has paid off with (hopefully) better photos of my family and recreational pursuits, but has...
Since I purchased a DSLR camera several years ago, I’ve been fascinated with taking good photos. This has paid off with (hopefully) better photos of my family and recreational pursuits, but has also helped me show off my various MakerPro creations more effectively.
My latest build comes in the form of a GoPro panning fixture that spins, then audibly speaks a command to a GoPro Hero5 camera, which can receive audible input. Though I partially just wanted to see if it could be done, my other initial purpose was so that I could set a finished project on top of it, then automatically take a shot of it from several angles that could be turned into a looping GIF. This could also be used to take panoramas with the camera on top of it, which is a neat bonus. Eventually I got it to work, but there were a few challenges along the way.
The biggest thing that I ran into was that the device worked intermittently in my first iteration. After some discussion with a few fellow makers, it became obvious that one big problem was how I was powering my servo. I was using an Arduino Nano clone to save space and expense (they can be had for around $5.00 each if you search around), but per the pinout seen here, the maximum current output is 200mA for the entire package. I was powering a type of servo that could need up to 600mA to operate correctly.
Once this was pointed out, I wired the servo’s power line into a USB breakout board, which seemed to resolve the issue. The device is set up to turn the servo (modified for continuous rotation), then trigger an IDS1820 voice recording/playback module to give the GoPro its command. Besides switching up the power supply, I also put a short delay between the servo signal ending and triggering this unit to minimize interference, and hot-glued jumpers into it to keep things mechanically stable.
There was one other big obstacle to this working well, and that was the speaker itself wasn’t producing the kind of sound needed for the GoPro to recognize my recorded voice. After posting the prototype on YouTube, it was suggested that I give the speaker its own chamber, which I then made from part of a water bottle. This helped immensely, as did opening the holes in my fixture to allow more sound to escape.
[As originally envisioned, the fixture can command a GoPro positioned nearby, while the item to be photographed is rotated between shots for a looping GIF.]
Once these steps were finished, I had a fixture that worked fairly consistently in my garage. When I took it to the beach to test it out, however, the noise and wind there interfered with the voice commands, causing difficulty getting the results I was after. I did get a few good panorama shots though, one of which is shown here:
In the end, there are probably better ways to control a GoPro than a recorded voice (such as via a Wi-Fi signal or even a perhaps a mechanical “finger” to push the button), but I wanted to see if it could be done. It was an enjoyable project, and one that I hope I can use in the future to take project photos or more panoramas! You can find a video on the final — if something like this is ever final — version of this fixture here.