Arduino Shutter Shield for Micro-Manager - Page 1
Forum section: electronics / projects

author: mys_721tx
author_rank: Contributor
timestamp: May 28, 2021, 01:23:24 am
content: Hello all,The lab I am working at uses Micro-Manager to film our animal experiments. Since Micro-Managersupports Arduinoas a shutter device, we want to use it as an external trigger to control our LED lights.I am designing on an Arduino shield for a solution more permanent than bunch of breakout boards on a breadboard. Attached are the schematics and the PCB in EAGLE.I have some questions about the design.For the inputs, Do I need to add a pull down resistor?Considering that an Arduino Uno only operates at 16MHz, is the length matching necessary?Any additional feedbacks and suggestions are much apperciated!

author: mys_721tx
author_rank: Contributor
timestamp: June 29, 2021, 10:53:41 pm
content: I ordered the PCB and immediately realized I flipped the polarity of the BNC connectors. Oh well, if it didn't go wrong the first time I would be suspicious.

author: ajb
author_rank: Super Contributor
timestamp: June 30, 2021, 02:51:38 pm
content: Sorry you didn't get any responses originally. Length matching will be entirely unnecessary for this, the propagation delay from the BNC to the pin on the arduino is going to be in the picoseconds range, which is about a million times faster than the arduino's MCU can resolve. It's also likely swamped by the differences in the track length on the Arduino board itself and any external cabling, so don't sweat it.Bummer about the BNCs being backwards, but this is a simple enough board that you could absolutely salvage it if you don't want to wait for a new one to come in. Just cut the thermal relief spokes from around the signal pad and the signal track that goes to the ground pad with an xacto knife or similar (use a multimeter to check that you have actually broken the electrical connection!). Then scrape some solder mask away from the ground plane around the ground pad, and when you solder that pin in put some extra solder across the gap. This is a bit tricky, but some flux and extra solder and patience will help. Then use a small bit of solid core insulated wire (28AWG would be good) to go from the signal pin on the BNC pin to the matching pin on the Arduino header.If you need the inputs pulled down (read as logic zero when not connected to anything) then you'd need an external pulldown resistor. If you wanted them pulled up (read as logic one when not connected to anything) then you can use the internal pullup resistors in the arduino MCU. If you were going to do another version of this board, some series resistors and possibly some external protection diodes might be a good idea to protect the arduino from external electrical faults.

author: mys_721tx
author_rank: Contributor
timestamp: July 01, 2021, 08:55:58 am
content: Thanks for the advice! I have made a second revision of the board. Attached are the schematics and the board.Since we only need the first pulse from the computer to synchronize our LED controller, I did so with a quick and dirty hack in the firmware. This, however, requires me to reset the Arduino every time we record a new movie. Therefore I add a reset button to the shield so it would be easier to reach.I will most certainly do more experiment with the firmware in the future, so I added 10k Ohm pulldown resistors to all the BNC terminals in case I want to use them as digital input. The output pin operates in low impedance mode, I believe that the pulldown resistors should not affect the output voltage too much. For this flexibility, they won't be part of board v2. I will look into the protection diodes in board v3.Since newer cameras start to use SMA as the trigger connector, in board v3 I will also look into SMA connectors to increase the densities. One of our cameras uses 3.3V logic. That could be something to look into as well.

author: mys_721tx
author_rank: Contributor
timestamp: July 12, 2021, 08:31:40 pm
content: Finally all the parts are here and I assembled the board. It is much nicer than the previous breadboard setup.