Salvaging a Two-Stage Pushbutton from a broken Canon EOS Camera

It’s been some time since my last post in May last year. In the meantime, a lot has changed, including my job and the city I live in. However, one thing has remained: my passion for camera control applications.

After successfully implementing PTP/IP-based camera control for Canon cameras starting in December, I took the challenge of creating an ESP32-based remote control device.

The essential control you would need for such a hardware solution is a two-stage pushbutton like you’d find on every camera shutter button. This button lets you initiate the autofocus on half-press and release the photo once fully pressed.

Finding a Two-Stage Pushbutton online

Finding a two-stage pushbutton online proved to be challenging. While I found Reddit posts that led to Digikey, none of the buttons were available to purchase.

As of this post’s writing, I just rechecked Digikey, and out of 25, only one is available for sale. The following link leads to an overview of all two-stage buttons. The key is the filter Switch Function: off-mom-mom.

Screenshot of Double-action Pusbutton Panasonic EVPAXBA1A on Digikey
Double-action Pusbutton Panasonic EVPAXBA1A

Salvaging the Shutter Assembly of a Broken Donor Camera

Since I couldn’t find a button for sale online, I searched for broken Canon EOS cameras on the second-hand market. Eventually, I found the perfect donor: a Canon EOS 10D that was in excellent condition but would no longer turn on.

Once I received the camera, it was simply a matter of locating and removing a dozen screws, disconnecting ribbon cables, and unsoldering a few wires until, at last, the shutter assembly was free.

Internals of a Canon EOS 10D
Canon EOS 10D disassembly

To my surprise, the shutter button and the front dial are soldered to a single flexible PCB, which exposes all pathways to large, easy-to-solder pads.

Analyzing the Pinout of the Shutter Assembly PCB

With the shutter assembly removed, I probed the pads with a multimeter to determine which connect to the shutter button and which to the rotary encoder.

Canon EOS 10D Shutter Assembly Pinout
Canon EOS 10D Shutter Assembly Pinout

As expected, one pad provides the ground level, two contacts lead to the encoder, and two to the shutter button. After identifying these pads, I simply needed to connect them to my camera control prototype on a breadboard.

Sneak Peak: PTP/IP Camera Control using an ESP32

Here is a first look at my most recent camera control prototype utilizing an ESP32 as its brain.

TinyPico S3 Microcontroller on Breadboard with Display and Buttons
Camera Control prototype based on an ESP32

I look forward to fully integrating the extracted shutter assembly and creating a 3D-printed enclosure to turn it into a physical remote control.

Stay tuned for more details and insights into the process! More to come soonTM.