Magic Pocket Control - Bluetooth camera control using ESP32

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

mark.sze

  • Posts: 33
  • Joined: Sat Jul 25, 2020 12:55 am
  • Location: Sydney, Australia
  • Real Name: Mark Sze

Magic Pocket Control - Bluetooth camera control using ESP32

PostMon May 15, 2023 5:59 am

Hi all!

I've put together a code library for controlling Blackmagic cameras using Bluetooth and ESP32 devices. I based it on Blackmagic's iPad Swift code example and translated a good portion of it into C++.

I've creatively called this Magic Pocket Control :lol:

ESP32s are quite cheap (sub $50) and some have touch screens, buttons, etc. I've really enjoyed creating example applications using various devices (with screens, with non-touch screens, no screens, etc.).

The repository is here:
https://github.com/marklysze/Magic-Pocket-Control-ESP32

A short video with demos is here:


Code is in C++ and the repository is setup for development using Visual Studio Code and the PlatformIO extension. This extension allows you to create code and deploy to multiple devices - it's quite nifty and has good support for lots of ESP32 devices.

For those who aren't sure about C++, I haven't used any complicated approaches and it uses C++'s Smart Pointers which makes memory management easier.

I know VS Code and PlatformIO support Mac/Win/Linux - so hopefully you can develop in any of those OS environments - feedback on that would be great.

The code should be considered to be in Beta, it needs to be tested thoroughly before you use it.

I've only tested the library with my Pocket 4K and 6K, firmware 7.9.1 and 8.1. Though I need to test with 8.1 more as it's fairly new.

There is a known bug with changing codecs using camera firmware 7.9.1 and it looks like this has been addressed in 8.1, though I have still experienced some issues.

If anyone can test against the URSA Mini Pro's or any other camera that supports the Bluetooth camera control, that would be great. The camera manuals have a "Developer" section that outlines the information and functionality that can be controlled.

If you're in Sydney, Australia, and have a camera I can test with it would be great to meet up.

A couple of thanks to those here on the forums:
- Blackmagic Design Support: A big shoutout to Brendan at Blackmagic Design who helped troubleshoot the changing of Codecs, which was/is a known bug in the camera firmware. Thanks Brendan!
- BlueMagic32: A great project to control cameras with an ESP32 by Csaba Nagy. It provided a reference for the Bluetooth connection functionality. https://github.com/schoolpost/BlueMagic32


Okay, so if anyone is interested in using the library, testing it, trying it on different cameras/firmware, creating new GUIs, or just generally contributing to the code and library - please go forth and give it a go and you can reach me here or on GitHub.
Offline

PeterP27

  • Posts: 4
  • Joined: Fri Mar 24, 2023 9:05 am
  • Real Name: Peter Prisille

Re: Magic Pocket Control - Bluetooth camera control using ES

PostFri Sep 08, 2023 5:59 pm

Hi Mark,
I bought an LILYGO T-Display-S3, and install the software and now it works.
I use a "Pocket 6K G2".
Good work !

Kind regards,
Peter
Resolve Studio 18.1.4 | Windows 11 Home 22H2 | Laptop i9-11900H @ 2.50GHz 32GB RAM | RTX 3070 8GB RAM | Pocket 6k G2| Speed Editor | Micro Panel | Audio Interface Steinberg UR44C 48kHz Buffer 2048 ASIO
Offline

mark.sze

  • Posts: 33
  • Joined: Sat Jul 25, 2020 12:55 am
  • Location: Sydney, Australia
  • Real Name: Mark Sze

Re: Magic Pocket Control - Bluetooth camera control using ES

PostWed Dec 06, 2023 7:44 pm

PeterP27 wrote:Hi Mark,
I bought an LILYGO T-Display-S3, and install the software and now it works.
I use a "Pocket 6K G2".
Good work !

Kind regards,
Peter


Thanks so much Peter, great to know it works on the G2 :)!

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 15 guests