Canon RC-1 IR remote control reverse-engineered
This article describes how the Canon RC-1 infrared remote control communicates with the camera. To figure out the protocol I used an IR photo-diode first. Because of the bad signal quality I decided then to disassemble the RC-1 and measure the IR-LED voltage directly. I used the occasion and took some pics of the circuit.
To all appearances the circuit is build around a quartz-controlled microcontroller with an additional transistor to switch the IR-LED. The supply capacitor is large enough to maintain the function of the remote control for a few shots with removed batteries.
Communication protocol
To the hobbyist's delight there is no communication protocol like the RC-5 code which most TV remote controls use. The signal send by the remote control consists of two identical bursts of pulses as shown on the pics below. To distinguish between the two possible modes of operation of the Canon RC-1, the delay between the bursts is changed. The signal shown in the oscilloscope screenshots below was captured directly at the IR-LED of the circuit. The overlaid noise in some plots is due to an internal oscilloscope problem.
Timing for instant trigger mode
Timing for 2s delayed trigger mode
Pulse burst Timing
Timing and Tolerances
The signal timing of the original Canon RC-1 is listed in the table below. Having build my own remote control I could also find out the tolerance for each parameter. I used the Canon EOS 400D for testing.
Parameter | Original RC-1 | Tolerance |
---|---|---|
Num. of pulses | 16 | 9 - 22 |
Burst frequency | 32700 Hz | 29800 - 35500 Hz |
Delay for immediate trigger | 7.33 ms | 7.0 - 7.7 ms |
Delay for 2 s delayed trigger | 5.36 ms | 5.1 - 5.7 ms |
The clock frequency is very close to the standard watch crystal frequency of 32768 Hz. The experiments were made from a very short distance. I didn't test the sensitivity reduction for the deviating parameters and didn't test them in combination.
Links
How to build a DIY Canon RC-1 clone
PHP Script Temporary Email Temporary Email
photo: two 0.5ms width spikes with 7.8ms delay distance (128 Hz)
video: both start and stop are two 0.5ms width spikes with 5.8ms delay (171 Hz)
In the video case I didn't find any difference between the start and stop signals, which looks weird. And it's the same as the 2s delayed trigger mode here which is also weird.
(I used a TSOP4838 as receiver. I don't have compatible cameras to test with that. I'm making an IR receiver for my own electronics placed on the gimbal.)
photo: two 0.5ms width spikes with 7.8ms delay distance (128 Hz)
video: both start and stop are two 0.5ms width spikes with 5.8ms delay (171 Hz)
In the video case I didn't find any difference between the start and stop signals, which looks weird. And it's the same as the 2s delayed trigger mode here which is also weird.
(I used a TSOP4838 as receiver. I don't have compatible cameras to test with that. I'm making an IR receiver for my own electronics placed on the gimbal.)
Thanks, Luk
https://www.imgup.cz/image/LZ58
Thanks for waveforms and timings
Silvestr
The internet became a dirty bitch of capitalism but it really made my day when I was searching for "canon infrared remote control protocol" at google and this information ist TOP SEARCH RESULT. There's hope yet :-)
Luk