Whether you’re shooting video or photos, having a camera remote can really improve your productivity. No longer do you have to run back to the camera to press its tiny buttons! [Frank Zhao] is a Sony user, so decided to whip up a custom remote using the ESP32 for his Alpha camera, adding special features along the way.
The build communicates with the camera over WiFi, but can fall back to Infrared if there’s an issue with the radio link. It’s built around the M5StickC, which is a pre-built device featuring an ESP32 and a small display in a handheld form factor. It let him build the remote in half the size of the official Sony device. With limited buttons on board, though, he relies on the IMU to control many advanced features with motion gestures.
The remote enables a bunch of functionality that Sony didn’t bake into its cameras from the factory. There’s a sound-activated shutter release, dual shutter mode, and several timer-based tools including astrophotography modes. There’s also a big knob you can add for focus pulls, and a mode to reset the auto-focus when you’re frustrated that it isn’t working properly. Some of the features work better than others, as sometimes, the camera doesn’t respond to commands quickly enough. Regardless, it’s pretty neat that [Frank] has unlocked so much extra functionality with his custom $20 remote.
We’ve seen other homebrewed tools open up new creative possibilities for cameras before, too. If you’ve got your own nifty camera hacks, let us know on the tipsline!
I think it is nice he was able to do this with anything made by $ony.
Sony actually did publish many many many SDKs, their older SDK used simple HTTP and JSON, anything that can make a HTTP request could control a camera. Their newer one is a C++ library and they specifically have instructions for Raspberry Pi. But it’s not source code so I had to write the code for ESP32 by packet sniffing.
Their even older SDK let you write apps that went on the camera. I’m not familiar with it but a quick search revealed that yes DOOM did run on a Sony A6000.
Old platform was literally just Android 2.x / 4.x with some proprietary extensions.
When I still had my A7 I got Geekbench 2 to start.. and the community built a swathe of custom apps including FTP / Google Photos uploaders.
The Sony I got is too old to have remote focusing, which is a shame, but on the other hand I can sideload apps onto it.
Got a nice setup for macro with a focus bracketing app.
Looks like my Sony DSC-QX10 wifi lens is also supported, i’m gonna give this a try this weekend!
Have fun! You might want to 3D print a viewfinder for it
Don’t ask me to decode the JPG onto the screen please, the code is already having trouble with malloc for animation frames.
I love the ‘banana for scale’ in the picture. :D
That’s from FingerTech Robotics, I actually got it while at RoboGames. They seem to have it on their store but currently 0 stock.
If the main operating mode is WiFi, couldn’t one do it with a phone instead, and have a nicer UI? You would lose the IR backup, unless your phone has an IR blaster.
Yes, you definitely could. If you look at the history of the code, you might notice that the screen that displays camera settings was done very late into the project. I only added it because some guy emailed me saying he needs to remote control his camera because he’s a professional fireworks/pyrotechnics photographer. Otherwise, I would’ve thought the official Sony mobile app would’ve been just fine for that.
Phone app projects are much much much harder to make useful for everybody. By building a ESP32 compatible Arduino library instead, it opens the door for many other people. I already have people asking me for example code to implement specific tasks using my library. I also envision people making things like a foot pedal operated camera remote with my code. While Sony actually did provide a SDK specifically for the Raspberry Pi, the Raspberry Pi has no sleep mode (thus, bad for battery powered applications) so I think ESP32 would be much more practical.
Plus, for me to start developing mobile apps, I need to turn on USB debugging on my phone just to start writing an app, that means I stop being able to access MS Teams and MS Outlook (corporate security policy, debugging of any kind must be disabled, if I enable it, and disable it, it doesn’t realize right away either) so I wouldn’t be able to “work from home” anymore.
A large pretty phone screen forces me to implement the entire Sony mobile app first, because nobody is going to use my app if it doesn’t feature at least the stuff Sony already published. I really wanted to focus on being creative with fun features. If app development forced me to just remake the Sony app, then it would’ve been way less fun, maybe even cause me to drop the project. There would be 1 star ratings to deal with and stuff.