Home | Download: EOS-Shutter V3.3 |
Canon EOS Shutter-Emulation Erwin Lotter, 23.01.2022 This page describes how to operate various Canon EOS models without a shutter and/or mirror. Currently emulated are: 6D, 6Dmk2, 50D, 60D, 70D, 80D (shutter only), 550D, 600D, 650D, 700D, 1100D, 1200D, 1300D, 2000D, and EOS M, M3, M10, M100. The technique is based on the Canon EOS 1100D Shutter Emulation presented by Hendrik Beijeman. To simulate the signals expected by the camera, Hendrik used a bare microcontroller chip, which is replaced here by an Arduino. For programming it, the free Arduino IDE is used.
1.) MINI USB Nano V3.0 ATmega328P CH340G 5V 16M
2.) ‘Pro Mini’ atmega328 3.3V 8MHz
Due to the controller
specifications, the 3.3V model of the 'Pro Mini' runs only at 8 MHz
instead of the more common 16 MHz. It is therefore important to pay
attention not only to selecting the correct board type, but also the
correct clock frequency during programming! The popular 5V / 16MHz
version of the 'Pro Mini' often also runs fine at 3.3V, but it is not
guaranteed to work reliably under all operating conditions.
Before you start, you should be aware that such an intervention will invalidate any warranty. Without sufficient knowledge of electronics, there is a high risk of irreparable damage to the camera! Unlike Hendrik's solution, I do not use the P5 signal of the camera, because it is not suitable to simulate the Live-View mode. One can, however, draw the required information from the P7 signal alone and simulate all modes with a small modification of Hendrik's timing. Then, it is also avoidable to tap P5 directly on the mainboard of the EOS, which is not quite trivial. Only for the 3.3V you have to solder directly on the EOS board, but this is quite easy. (Unfortunately, the coil supply can not be used to power the Arduino because it is not permanently present.) All emulators use the coil signals to generate the control signals for the camera, which can be easily tapped into at the test points of the shutter cable. Only for the power supply voltage, you still need to solder directly on the EOS mainboard, but that is quite simple. (Unfortunately, the power supply of the coils can be used to power the Arduino only in the EOS M models because it is not permanent or, as with the 700D, too late.) The Arduino outputs are isolated from the camera electronics by diodes to prevent damage to the camera electronics if the operating voltage of the Arduino is higher than 3.3V. Thus, for example, a test operation with a 5V Arduino via USB is easily possible. The wiring differs significantly for the various camera types, with their shutters sometimes having only one holding magnet ('coil') (1100D, M), while others have two. The single and double-digit models (6D, 50D, etc.) also have a separate motor with additional control signals for the mirror. Connection scheme for 550D, 600D, 1100D, 1200D, 1300D, 2000D, for additional models see below. The description
of the functions of the individual signal lines can be found in the control program. Software An Arduino program – also
called sketch – usually is passed via a serial (USB) interface to the
Arduino bootloader, which permanently stores and executes the program
after a reset or power-up of the Arduino. This takes about half a
second, however, and that’s too long for the camera, which apparently
checks on start-up, whether the shutter is all right. Alternatively, lines that need to be low-level at startup can be connected to ground on the Arduino side with a 2.2k resistor. Then, it is sufficient to load the emulator code as a regular sketch. Another solution is to use a faster bootloader, such as can be installed with the MiniCore package. Emulation strategy The Arduino is activated by a coil signal and sends the signals which the camera expects from the photocells and rotation encoders of its shutter. This usually works for all meaningful operating modes, including Live View.
During the times between the emulated shutter movements, the Arduino processor goes into a sleep state and then consumes
only a few microamperes. To truly take advantage of this, however, the power LED of the Arduino must be desoldered or broken, as it otherwise consumes about 1 mA. Installation and
application of the emulator board After the shutter removal,
for which the camera has to be completely disassembled, there remains a
cavity that the Arduino board can be inserted easily. You should also
remove the mirror and get significantly less shading with F/5 or
faster optics. As a reward, you get a camera that works completely
noiseless and is no longer subject to mechanical wear. Without a shutter, of
course, the minimum exposure time is severely restricted: pictures in
daylight or from the moon are no longer possible. The lower limit is
determined by the duration of the reading process, which is around 1/10
second. The minimum exposure time at the top edge of the image is
approx. 1/50 s and increases linearly downwards by 1/10 s - a behavior
that, by the way, also limits the minimum exposure time of darks also
with shutter. This means that with 1 s exposure time there is a difference of about 10% between the top and bottom edges, with 10 s about 1%. In the first case, a flat field correction is advisable in any case, with 1% variation one can usually do without it. Such a level correction can also be done numerically. It is also important to note when recording flats that their exposure time is not too short, i.e. not less than e.g. 10 s. Uploading a Boot-Program An Arduino sketch can be
uploaded in a way that it overwrites the bootloader and runs without
it. For this purpose, a second Arduino is used as an ISP
(In-System-Programmer). 1. Convert an Arduino into an ISP
Programmer First, the second Arduino -
the ISP - is connected to the PC and loaded with the Programmer
software. The destination board must not be connected yet! In the
Arduino IDE, select „Tools > Board“ and enter the type of the ISP
Arduino. 2. Connecting the Boards Next, the ISP is
disconnected from the USB and connected to the target arduino: Gnd-Gnd
and Vcc-Vcc are connected, as are D11, D12, D13 (MOSI, MISO and SCK).
D10 of the ISP goes to RST of the target. Then connect the ISP to the
PC again. 3. Upload to Target Now, the target board must be indicated as the connected board - including the correct processor and the correct clock frequency (this will not be detected automatically)! Then the desired program is opened as a sketch. The upload, however, is not done with the upload function, but with „Sketch > Upload with Programmer“ (or Shift Upload Button). With this command, the ISP loads the program as boot code into the target. |
Connection diagrams of the supported cameras: |