DollyShield MX2 Controller

As promised I’m posting continuation of the DIY Camera Slider instructions, this one is about the electronics part.  As you probably already know I’m using DollyShield controller made form kit that was purchased from Dynamic Perception site.  I will give few helpful hints form my own experience as well as some modifications that you might need to make in order to get this controller working with your version of Arduino Uno.  Chris from DP site was extremely helpful with my questions, but it still took me a week to get mine working.

MX2 DollyShield kit actually was fun to assemble. Web instructions on soldering are pretty detailed to get the job done.

When Soldering LCD screen, you have an option to add female header so you’ll be able to remove it if needed, but it will make it harder to create enclosure.  During and after assemble I had several issues:

First of all it doesn’t look like DollyShield was designed for R2 Arduino UNO board because it simply won’t fit due to optocoupler being on a way of some Uno’s male header pins. It probably needs to be soldered on the other side of PCB. Anyway I took some drastic measures and snipped part of the Uno’s pins. I never used these anyway, but they might still be usable although much shorter.
After a super detailed soldering instructions, there’s very little information about getting MX2 working.  I had to dig deep to find all the pieces because they weren’t all in the same place.  Things like which sketch to load, which libraries need to be added and how. Fortunately for you I will explain everything here!
But before we go into explanation there are few more things that need to be mentioned.

For one after everything was programmed and connected nothing was working. LED light blinked twice but nothing was on the LCD screen.  That’s because you have to adjust LCD contrast POT. Using small screwdriver turn it (be gentle) until you see something on LCD.  Mine still had nothing on it, and after messing around with the setup for half a day all of the sudden welcome message appeared.  I disconnected power tried again and nothing. It seems that you need to reset Arduino board each time. I wrote to DP support and they told me that there’s an issue with Arduino Uno R2 design.  To be fair, this issue was reported for other shields, and here’s a more detailed explanation.  To fix it all you need is a diode (I used one from Radioshack, I think you can use any regular diode), but I would recommend soldering it to Dollyshield instead of Arduiono Uno.  Here’s pic that shows how it needs to be soldered between reset and 5 V (band on the diode (cathode) have to be at 5V pin)

Very easy fix right?

Software

So here’s what you do after you finished soldering.
Download latest code for DollyShield (you’ll have to find it on DP site)
Download MSTimer2 library.
Download Timer1 library.
Download MerlinMount Library. (this library currently doesn’t work with Arduino software 1.0 so make sure you are using 0.23).
Unzip those libraries into place where your Arduino program is installed under “libraries” folder.
For example for me it was: D:\programs\arduino-0023\libraries
Each new library will be in it’s own folder. If you unzipped correctly folder will be preserved. With exception of TImer1 library, for which you have to create Timer1 folder.

Now uncompress your DollyShield project into a “DollyShield” folder under where you projects are kept (by default My Documents\Arduino). Open sketch in Arduino software and try compiling it. If it gives you an error chances are you didn’t install library to the right place. Try again.
After no errors with compilation, connect your Arduino Board and load program into it.

If you do receive an error during uploading of the firmware to Arduino it could be because your chip doesn’t have enough memory. DollyShield sketch is VERY BIG. I couldn’t load anything after version .90. So after figuring out what the issue was I “hacked” the code. If you look closely at the files that come with DollyShield sketch, there’s one called “ds_merlin.pde”. It contains code for controlling Merlin Telescope head. If you plan to use that, sorry I can’t help you. But chance are you just want to move your camera on 2 axis so you get rid of it making sketch smaller and you’ll be able to upload it to your Arduino UNO. 
Here
you can find modified 0.91 firmware . Only ds_merlin.pde file was modified.

Unplug, connect dollyshield and provide power (either via USB or via DC adapter (9-12V). If you did everything correctly you will see text on the LCD and will be able to start using DollyShield.

 

More on Power Supply.

I’m using rechargeable power pack Energizer XP800, which is really an overkill. But I already had it. It can supply 12 Volts (even tho you only need 9) to the Arduino/DollyShield Motor and even comes with correct DC barrel plug, so I didn’t have to solder anything.

Connectors

You will need a connector for the Motor and cable to control camera’s shutter (for time lapse photography). Both can be bought on DP site, ebay or you can make it yourself. Motor connector is easy. Just get 2.5×5.5mm DC Barrel jack and solder directly to motor wires. It has to be 2.5 internal diameter plug, Radioshack sells them as “Size N” connectors.

Since I have Canon camera, I needed cable that has 2.5mm stereo plug on one end and “N3” on the other. I found one on eBay for $7.40 (it’s called “CL-N3 Cable”).

If you have different camera, you’ll need different cable.

Enclosure.

I’ve yet to make an enclosure for DollyShield. I found some colorful button ends at MDFLY . They can be glued to the push buttons and make them bigger and longer.   I spent days making model in Google SketchUp and then bending and drilling acrylic, but haven’t been able to make enclosure that fits.  Feel free to download this SketchUp file and modify it to fit your needs.  My issue is  is that I have LCD screen that is so much higher than buttons. I’m thinking about re-soldering it without header. This way box can be just plain rectangular.

Hope this article helped, let me know in the comments if you have any questions!