• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    C
  • License
    MIT License
  • Created over 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wi-Fi Remote for Sony Cameras

Alpha-Fairy

This is a tiny remote control for Sony Alpha cameras.

The hardware platform is a M5StickC-Plus, which is a DIY device with a ESP32-PICO inside, along with a colour LCD screen, rechargable battery, some buttons, and a few other features.

This remote combines the features of other simple camera remotes, plus many complex functions that automates some tasks that photographers would like to do. It communicates wirelessly with the camera via Picture Transfer Protocol, mostly reverse engineered by spying on Sony's own Imaging Edge Remote application with Wireshark. A second protocol uses HTTP and supports more cameras but has less features.

This GitHub repo contains the C++ source code (and graphics files) that can be compiled and loaded into the M5StickC-Plus, so anybody can create this remote.

Supported camera models: A1, A6600, A6000, RX100M4, RX0M2

Untested but theoretically can support over PTP protocol: A7SM3, A9M2, A7M4A, A7RM4, A7C, A7M4, ZV-E10, listed on https://support.d-imaging.sony.co.jp/app/sdk/en/index.html

Untested but theoretically can support over HTTP protocol: https://developer.sony.com/develop/cameras/api-information/supported-features-and-compatible-cameras

The fun part about this project for me is to create a usable user interface on a device with only two buttons plus an IMU.

Main Features

  • Remote Shutter (with optional timer), Movie Record, Settings View/Adjust
  • Focus Stack
    • takes consecutive photos as the focus is slowly shifted, this is a technique used in macro photography and some other camera brands offer this in-camera (but not Sony)
  • Focus 9-Point
    • takes consecutive photos as the auto-focus point moves around the scene, to obtain multiple photos focused on multiple objects, convenient for landscape photography
  • Focus Pull
    • with optional focus knob (for linear focus pull)
  • Talley Light, Virtual "Top Panel"
  • Sensor Trigger Shutter
    • trigger sources: microphone, voltage input, and/or IMU motion trigger
    • trigger action: take photo, take video (adjustable duration), start intervalometer
    • adjustable delays before arming and after trigger
    • good for security camera applications
  • Dual Shutter
    • takes two consecutive photos, with different shutter speeds, for compositing photos with both sharp subjects and blurred features
  • Intervalometer
    • supports AF-C, different from in-camera intervalometer (which forces AF-S)
  • Astrophotography Intervalometer
    • same as intervalometer but more focused on bulb mode, and uses pause time instead of fixed interval time
  • Focus Frustration
    • is your camera not focusing on the thing you want it to focus on? rapidly tapping the AF button repeatedly will automatically pull the focus back to the nearest possible point
  • Timecode reset, can be used to reset timecode on multiple cameras simultaneously

Minor Features

  • can fall-back to using infrared communication if Wi-Fi is disconnected
  • can use shutter release cable connected to GPIO
  • status bar with battery indicator and connection indicator
  • auto power save
  • configurable options
  • serial port debugging and command line interface
  • smartphone web-browser interface to manage multiple camera logins

Known Problems

The camera does not re-establish a broken connection. If the remote is turned off (or disconnected for other reasons), you need to turn off the camera and turn it back on (after the remote is turned back on).

The features that can change shutter speed are not reliable. The camera takes a long (and variable) time to register a remote command to change the shutter speed. By long, I mean sometimes up to several seconds, or never.

Battery life is a bit short. Do not use it for intervalometer purposes without an external power source. Also, using Wi-Fi for intervalometer is ill-advised (reliability and latency issues), use a real shutter release cable if possible.

Putting a full frame camera in APS-C mode will disable a ton of features from working.

Only Wi-Fi 2.4 GHz mode is supported.

Other issues will be logged in the Issues tab of GitHub.

More

Demo Videos

Focus Stacking:

focusstacking_demo_720.mp4

Shutter Speed Stepping:

shutterstep_demo_480_low.mp4

Camera Triggering:

imu_trigger_turkey_720.mp4

Focus Pull Knob:

focusknob_demo_480.mp4

More Repositories

1

HandHeld3DScanner

Shell
113
star
2

OpenMV-Astrophotography-Gear

using OpenMV to assist in astrophotography
Stata
50
star
3

Arduino-UsiSerial-Library

Arduino library to implement hardware serial using USI
C
44
star
4

UsbXlater

C
35
star
5

Hydra-Dual-Brushed-Motor-ESC

Dual brushed motor ESC firmware compatible with brushless motor ESCs
C
22
star
6

my-laser-projects

A bunch of stuff that can made on a laser cutter/engraver
C
19
star
7

um2-cardboot

SD card bootloader for Ultimaker2
C
12
star
8

Frank-Synced-BLDC-ESC

Assembly
11
star
9

ledpocketwatch

C
11
star
10

LedStripCarHud

A car Heads Up Display built using a RGB LED strip and a Teensy microcontroller
Eagle
11
star
11

DummyLoad

Const. Current Dummy Load (Digital & USB)
C
9
star
12

TinyUPS

Bare minimum implementation of a UPS (uninterrupted power supply) and the associated USB protocol using a ATtiny85
Eagle
7
star
13

EdgeTX-Scripts-and-FW-Collection

Collection of my Lua scripts and custom FW builds for EdgeTX
Lua
7
star
14

flux-fcode-tools

HTML
6
star
15

SSF-PublicLibrary-Robot2018

C++
5
star
16

ioniq5-stuff

C++
5
star
17

cleanflight

fork of cleanflight to add my own custom features
C
4
star
18

LufaUsbAspLoader

A bootloader that is a combination of USBaspLoader and LUFA
C
4
star
19

NeoPixel-on-NetduinoPlus2

native and managed firmware to enable the use of NeoPixels on Netduino Plus 2
C#
4
star
20

Shrew-Dual-Brushed-ESC-with-ELRS

ESC for two brushed motors, with ELRS integrated
TypeScript
3
star
21

AM32-FW-Helpers

Helpful tools for AM32 firmware
JavaScript
3
star
22

CameraCardPhotoCopier

Windows system tray background app that detects and then copies photos from SD cards to external drives
C#
3
star
23

SaysWho

C#
2
star
24

PanelDueSplashMaker

Makes and flashes splash screens for PanelDue
C#
2
star
25

LufaXmegaSerial

Arduino library to add USBSerial to Xmega
C
2
star
26

robots

G-code
1
star
27

rPodAuxActuators

technically just a quad servo controller with additional fluff
C
1
star
28

FontPicker

Preview text in many fonts at once
C#
1
star
29

bucket

Python
1
star
30

ELRS-Control-Over-WiFi-and-Gamepad

ExpressLRS control over Wi-Fi (and even with a gamepad)
1
star
31

EpCon-Hackathon

Windows Phone 7 Hackathon
C#
1
star
32

AM32_MULTI_MCU

C
1
star