Canon RC6 remote protocol

In this article we take a detailed look at the Canon RC6 remote protocol. Canon provides tiny remote control units to remotely activate the shutter release on a Canon DSLR and the remote control I broke open here is marked the RC-6, and is compatible with ESO600D and similar Canon DSLRs.

Test setup

There are articles online where people have hooked up an oscilloscope to an IR receiver and then analyzed the waveform to have a guess at the protocol. The problem with this approach is that the response of the IR detector may vary with the wavelength of the IR diode used. The response speed and frequency response of the IR receiver is also important as the modulating frequency may be missed if the diode reacts too slow or if the receiver cancels out the carrier actively.

Instead of going through all that – the best method was to get right into the unit itself and the teardown can be very non-destructive and easy. So I hooked up a DSO to the pins of the IR LED itself to see what goes on with it.

Instant shutter release

 

canon-rc6-remote-protocol-infrared-original-remote

Delayed shutter button signal

Canon RC6 remote protocol specifies a train of pulses from the IR LED when the main remote button is pressed and the remote is in delayed shutter release mode (after 2 sec delay). This can be observed on the scope, as shown in the following screenshots.

canon-rc6-remote-protocol-carrier-2-second-timer-mode

So the time between the cursors here is 7.1ms.

Instant shutter button signal

Canon RC6 remote protocol specifies a train of pulses from the IR LED when the main remote button is pressed and the remote is in delayed shutter release mode (after 2 sec delay). This can be observed on the scope, as shown in the following screenshots.

canon-rc6-remote-protocol-instant-release-gap

Time between bursts (as measured between the cursors) is 5.3ms.

The IR bursts

The bursts are at a particular frequency. The duty cycle is not 50% but the frequency seems to be the carrier frequency as it seems to be constant always. There are 18 pulses in every IR burst, irrespective of if it’s a part of instant release of delayed release. Here is a detailed view of each pulse train, containing 18 pulses:

canon-rc6-remote-protocol-pulse-burst-train

The carrier frequency is constant for all types of commands. The time period can be measured as follows:

canon-rc6-remote-protocol-carrier-frequency

The time period measured between the cursors above is 29.30 us. The high time is 9.3 us. Therefore, the carrier is a frequency of about 34.1 kHz. Note that the high-time of the wave seems like a capacitor discharge. You may simply produce a rectangular wave, which should also work fine right out of a microcontroller.

If you have any queries about the measured parameters or have a project to talk about, leave a comment below!

 



4 Responses

  1. I have a question, do you know which chip is used on the remote control?

    • I’m sure they rolled out a custom chip just for this! Canon have their own chips too and a chip like this one is extremely easy to design and manufacture. You may not be able to buy this or find a datasheet.

      • Thanks for your answer Pratik, I also wonder what is the use of the capacitor C2 in the circuit. My remote control stopped working, and I am trying to figure out how to fix it. I see in the oscilloscope only several burst separate by 3.9ms with 950mV amplitude. Do you have any idea what the problem could be? I wish I could upload a picture.

        • That might be come kind of a timing capacitor. I did not measure it, but that is not a decoupling capacitor for the power supply (decoupling cap is C1).
          But SMD capacitors RARELY fail. LEDs and chips might, but SMD caps failing… never seen that. See if you can replace it?

Leave a Reply