SC2 Bluetooth Message Format - Which BLE command for THETA SC2?

Hello - my first post.

I have been using my SC2 for a while and I am trying to find a way around the limiting feature of interval timer using the exposure from the fist shot for all subsequent shots. I am trying to program an ESP32 micro controller to trigger the shutter via BLE on a Theta Sc2. Does anyone know the BLE message I need to send to do this?

Just confirming that you tried the Bluetooth API Getting Started guide?

https://api.ricoh/docs/theta-ble-api/getting_started/

Thanks, I haven’t but I will do. It might take me a while to get my head around it, but I will report back one way or another.

We’re going to give it a try too.

A RICOH customer just contacted us about this, so @jcasman and I are going to ask RICOH if they have any examples. If I make any progress, I will report back.

If you have any information about your project that you can share with us, we can include this in the report to RICOH when we request for the examples. You can send a DM to @jcasman or email.

2 Likes

I am making some progress. I know that the “button” (photo attached)

that I press sends a “volume up” message to the SC2 to trigger the shutter. I have programmed my ESP32 to send the same signal and if i connect my phone to the ESP32 via bluetooth it will make the phone take a photo. What I now need to find out vis how to connect the SC2 to the ESP32. I presume that its only looks to connect to BLE devices that advertise certain services/characteristics but not sure what those might be. Can anyone guide me?

The ESP32 code modified from example in Arduino IDE is

#include <BleKeyboard.h>

BleKeyboard bleKeyboard;

void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleKeyboard.begin();
}

void loop() {
  if(bleKeyboard.isConnected()) {
    
    Serial.println("Sending volume up");
    bleKeyboard.write(KEY_MEDIA_VOLUME_UP);

    delay(1000);

    
  }

  Serial.println("Waiting 5 seconds...");
  delay(5000);
}
2 Likes

did you register the device with the Wi-Fi API? One-time setup?

https://api.ricoh/docs/theta-ble-api/getting_started/#1-bluetooth-authentication

https://api.ricoh/docs/theta-ble-api/bluetooth_control_command/auth_bluetooth_device/

Note. I have not done this myself. You are a pioneer. :slight_smile:

2 Likes

Moderator Note - Nov 21 - Edited Subject slightly to easier readability and searchability

Update

Not an elegant solution, but it works…

I started out trying to program an esp 32 to trigger the camera


and managed to write the code to send the correct bluetooth command (volume up or down) to trigger the shutter. However I didn’t manage to program the bluetooth pairing, so i gave up. This week I had an idea, what about using a trigger that pairs with the camera and then triggering the trigger with the esp 8266. Photo shows the purchased trigger (£2.99, the yellow thing with two buttons click on the photo to see it). I took the circuit board out of the trigger and connected it to the power from a Wemos D1 Mini. I then soldered wires either side of one of the buttons and connected them to a relay which is connected to the Wemos D1 Mini. I then programmed the Wemos to close the relay for 100ms every 20 seconds. This allows me to take a shot every 20 seconds and because its not in timelapse mode, the camera works out the exposure for each shot. Problem solved, now I can take timelapses without having to press the shutter for each shot.

2 Likes

I love it! Thanks for posting this. Congratulations. This is awesome!