Skip to the content
2 layers97.3 × 54.9 mmArd shield, the printed circuit board in 3D

connecting an action camera to a EFs STM lens

Size
97.3 × 54.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
47
Pads
107
Tracks, vias
226, 6
Routed
Yes
KiCad
KiCad 4
Created
7 Jul 2017
Updated
14 Jan 2018

Overview

Ard shield is an open-source printed circuit board by colinRawlings, from the colinRawlings/yiF repository on GitHub. It is a 2-layer board of 97.3 × 54.9 mm with 24 parts on 47 nets, routed with 226 tracks and 6 vias.

Its parts include 8 connectors, 6 switches, 3 resistors, 2 capacitors and 2 ICs.

README

README.md

The yiF

a foolish combination of action cameras and SLR lenses

introduction

This is a project seeking to replace an action cameras fisheye lens with one of the low cost plastic bodied EFs STM zoom lenses from Canon. Ideally this combines the action camera's high frame rates (HD at 240 frames/second) with the lens' zoom, depth of field control and active image stabilisation. Some example footage is here:

example footage

The lens is controlled via an Arduino micro and a Yi 4k+ was used for the action camera. Via the arduino the lens' focus, aperture and image stabilisation motors can be controlled. The housing is 3D printed and a commlite EF-EOSM adaptor is used for mounting the lens.

For video monitoring the Yi's in-built display combined with an optical viewfinder (the kinotehnik LCDVF 3/2) or an external monitor (smartphone or the ikan VL35) was used.

The system was tested with several of the EFs STM lenses (10-18 mm, 18-135 mm f3.5 and 55-250 mm f4) and a sigma 35 mm f1.4. The system exhibits a roughly 3x crop sensor, this amplifies the available travel of the image stabiliser, increases the reach of the lens and improves the depth of field control.

So far nothing bad has happened to the lenses however:

You can apparently burn the aperture motor in Canon lenses quite easily.

I take no responsibility for any damage caused by the things in this repo.

The starting point for this work was this article:

https://pickandplace.wordpress.com/2011/10/05/canon-ef-s-protocol-and-electronic-follow-focus/

from here I used a Saleae logic analyser to record the conversations between the lenses and a 650D. These were then analysed in Matlab since in particular I needed the command to start the image stabilisation motor and activate the manual focus ring (the STM lenses are “focus by wire”).

assembly

code

This comes in several parts

  • A python class for communicating over usb (/serial port) with the arduino.
  • The arduino code
  • The matlab (/octave?) code for parsing the csv files generated by the logic analyser

cad

The cad was done in Fusion (free for the first year). The assembly is here: http://a360.co/2sxdWEE

the stl files for printing are in cad/fab. They are only suitable for selective laser sintering or HP jet fusion of nylon. I used 3Dhubs.com to find a nearby printer.

electronics

The electronics design was done in kicad. Note the arduino can control the power to the lens. The entire lens is switch off after each movement of the aperture motor rather than relying on the motor off command being successfully received. The gerber files are in elec/fab. I eventually settled on powering the system with an LP-E6 camera battery.

Parts

24
QtyValueFootprintReferences
2470Resistors_ThroughHole:Resistor_Horizontal_RM7mmR2, R3
10.1uCapacitors_ThroughHole:C_Disc_D3_P2.5C1
11kResistors_ThroughHole:Resistor_Horizontal_RM7mmR1
1ARDUINO_MICRO_SHIELDarduino_micro_shield:ARDUINO_MICRO_SHIELDU2
1CONN_VoltmeterPin_Headers:Pin_Header_Straight_1x02P5
1CONN_batPin_Headers:Pin_Header_Straight_1x02P1
1CONN_if1_if1Socket_Strips:Socket_Strip_Straight_2x03P4
1CONN_if1_mainPin_Headers:Pin_Header_Straight_2x03P6
1CONN_if2_if2Pin_Headers:Pin_Header_Straight_1x04P2
1CONN_if2_mainSocket_Strips:Socket_Strip_Straight_1x04P3
1CONN_lensX02Socket_Strips:Socket_Strip_Straight_1x02P8
1CONN_lensX05Socket_Strips:Socket_Strip_Straight_1x05P7
1CPCapacitors_ThroughHole:C_Rect_L7_W2_P5C2
1LM2937Power_Integrations:TO-220U1
1Led_errLEDs:LED-3MMD1
1Led_statusLEDs:LED-3MMD2
1Q_PNP_EBCTransistors_OldSowjetAera:OldSowjetaera_Transistor_Type-II_BigPadsQ1
1SAvButtons_Switches_ThroughHole:SW_PUSH-12mmSW3
1SbatPin_Headers:Pin_Header_Straight_1x02SW4
1SminusButtons_Switches_ThroughHole:SW_PUSH-12mmSW2
1SplusButtons_Switches_ThroughHole:SW_PUSH-12mmSW1
1SrecallButtons_Switches_ThroughHole:SW_PUSH-12mmSW6
1SsetButtons_Switches_ThroughHole:SW_PUSH-12mmSW5

Similar boards

  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers26.2 × 45.5 mmPL18 multiprotocol, the printed circuit board in 3D

    PL18 multiprotocol

    pascallanger/DIY-Multiprotocol-TX-Module

    Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.

    24 parts1.9kGPL-3.0
  • 2 layers58 × 35.5 mmHat, the printed circuit board in 3D

    Hat

    menloresearch/asimov-1

    v1 of Asimov, an open-source humanoid robot

    24 parts1.4kCERN-OHL-S-2.0
  • 2 layers21.6 × 19.5 mmMicron Logo LED, the printed circuit board in 3D

    Micron Logo LED

    DraftShift/StealthChanger

    Tool changing system for Vorons and other front mount printer motion systems, not just stealthburner.

    24 parts1.2kGPL-3.0
  • 2 layers158 × 11 mmRainbow Matchstick, the printed circuit board in 3D

    Rainbow Matchstick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    24 parts1.1kGPL-3.0
  • 2 layers85.6 × 54 mmTRACED wio1262-carrier, the printed circuit board in 3D

    TRACED wio1262-carrier

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    24 parts915
  • 2 layers36 × 20 mmCombined, the printed circuit board in 3D

    Combined

    adamb314/ServoProject

    Getting the most out of your hobby servo

    24 parts545

Questions

How big is the Ard shield PCB?

It measures 97.3 × 54.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ard shield use?

24 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ard shield KiCad files?

From the colinRawlings/yiF repository on GitHub, at the commit this page was made from: the board is pcb/ard_shield/ard_shield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ard shield design in my own project?

Its repository states no licence, so its author keeps all rights: ask colinRawlings before reusing the design.