There are two distinct ways to hack a Gigapan Pro camera mount: reprogramming the onboard electronics and replacing the onboard electronics. For completeness both methods will be theoretically described including pros and cons, but only the second method will be further explained as it was the appropriate choice for the application.
1. These steps most likely apply to the other mounts in the EPIC line, but they have been performed and tested on the PRO model so no promises on the other models.
2. For more information about the Gigapan EPIC Pro visit their website http://gigapan.com/cms/shop/epic-pro
HACK #1 : Reuse of the provided electronics
The Gigapan is controlled by an ATMEL AT90USB1287 8-bit Microcontroller. It is has a variety of features including USB 2.0 OTG which is essential for interfacing with a variety of cameras. The problem is this configuration for the software hacker is it is running a standalone program to operate the mount. Fortunately, there is a programming header for the chip that is available on the PCB as shown below.
To expose the chip and the programming port here are some pictures of the teardown. Keep in mind I did desolder the LCD to expose the chip and both sides of the headers.
This brings me to the first pro for this approach: it is the simplest in terms of only requiring you to solder pins or wires to the programming header and reprogram the chip. This also presents the first con: you will need to reverse the entire boards wiring schematic because you will have to write the firmware from scratch. This can be done with an abundance of time and a plethora of patience. To help you along I have already figured out what all of the extra connectors are and they can be seen below.
At this point I will say if you only want to make very simple changes to the operation this method is your best bet, especially if you are familiar with ATMEL architectures and programming environments. If not this is not a bad way to go. Keep in mind I also said simple changes because there is not very many I/O pins available for adding additional features. This brings about the second version of the hack.
HACK #2 : Scrap and start over
To be completely honest this one may sting you a little to throw away the majority of your newly purchased $900 camera mount, but with a little bit more invested in electronics this is capable of so much more. This method was ultimately chosen because we require the ability to control the mount, control the focus of the lens and other camera features, and stream the pictures to a computer vision algorithm all done remotely. Good luck getting all of this done with the few I/O available on the board.
I am going to do this with the new BeagleBone Black (BBB). There are a variety of reasons for this, but one of the main ones is you get a 1GHz Sitara for $45. I will describe a variety of circuit diagrams and software interfaces used to complete this project, but if you are more comfortable with another chip architecture the same principles will apply. Also keep in mind any benchmarking numbers provided during the rest of the tutorial have been done with that microprocessor. One final note is I will be referring to libraries I have written for the BBB to make it more programmer friendly. These libraries are also open source and have supporting documentation that can be found here<link>.
Enough talking lets take things apart!
First, remove the battery, no need for power during this process :). Then remove the screws on the bottom and start removing pieces of plastic until you reveal the electronics. Disconnect motors and the battery holder connection. Remove the electronics and relocate them to file 13 (or same them for a rainy day your call).
Next, you need to purchase a few things. I will provide a shopping list, but keep in mind there are a wide variety of equivalent electronics that will work.
-Beaglebone Black $45: http://www.newark.com/jsp/search/productdetail.jsp?sku=65W6016
-(2) Motor Drivers $20 ea: https://www.sparkfun.com/products/11699
-3.3V LCD $15: https://www.sparkfun.com/products/9051
-some buttons and other things will come in handy.
You can get away with reusing the 4×20 that comes with the gigapan if you are careful when you remove it. Also remember it is +5V logic so if you want to interface it to the BBB you are going to want some logic level shifters, which can also be obtained very cheap instead of buying an +3.3V LCD. I also hunted down the documentation on the motors and have posted it here. If you are going to start from scratch you can also get away with simple H bridges to run the motors. Keep in mind the motor code I am going to provide is based on a driver that takes in a step pulse, direction pin, and an enable pin so you would have to write the step pattern in yourself (may write this at some point for you if there is interest).
Now you are set to make this gigapan do whatever you want. Have fun and I will try to get some examples posted to help get people started!