Anytime you are uploading code to the Arduino it is a good move to disconnect it from the shield. When uploading code there is a stream of garbled data that is sent to the display and there is a small chance that it can damage the display so it displays all ZEROS.  I have uploaded literally thousands of times without any issues untill January 2013 where i managed to “Zero out” my display. All Zeros does not always mean the display is fried though, see number 1 below.


I will keep this updated, as I run into a problem or an issue I will try to include it in here.
1) The display is not working properly
2) The motor does not move when using MGO, SGO, or CONT modes.
3) The camera does not trigger.
4) The display is flickering.
5) Buttons do not work
6) Carriage moves during exposure
7) When starting a routine it displays ” 0″ then “0 ” then GO or SGO.
8) Sometimes the carriage does not move



1) The display is not working properly.

  • If the display is showing ALL Zeros I have seen 2 things that can cause this. The first is when uploading to the Arduino if the arduino is attached to the shield and connected to the display it can become scrambled and unusable. This is very rare but it can happen.
  • The other cause of all Zeros can be a weak or faulty power supply. If a battery is not putting out enough power (under 5 volts) the display will also display All Zeros. If you plug the arduino into the USB port on your computer and it lights up and works properly but shows 0000 when connected to the power supply, then you have a bat power supply.
  • If the display does not show any data, check your wiring. The Instructions for building the controller do show it being connected to pin 12, and this is incorrect. This is mentioned in the instructions that instead of pin 12 you need to connect the display to Pin 1 (tx) on the shield.


2) The motor does not move when using MGO, SGO, or CONT modes.

  • Make sure you have run through the Calibration Routine in the POS mode at least once. When you first load up Chronos 2.0 on the arduino it looks for specific bits of information written in the Arduinos EEPROM, if you have not run a calibration routine those sectors will not have any information, and that infromation dictates the length of the rail, speed of the stepper motor, and other important information required to get the motor to run. You can find this information on how to do this in the Chronos 101 Tutorials page, episode 10.
  • Check to be sure the wiring is correct, you will have to refer to the datasheet on the stepper motor.
  • Check to be sure the Driver chip is installed and in the proper orientation. Be sure only to use the a4988 driver board from, or equivelant.

3) The camera does not trigger.

  • Make sure you have run through the Calibration Routine in the POS mode, the last setting BULB is the minimum shutter signal length in miliseconds, Nikons seem to sync up easily with under 50, most canons as well, the Canon 7D seems to require a longer signal, I have found placing this at 75 seems to trigger all cameras.
  • If you have already done this, then try running a routine and set the BULB timer to 1 second. If this does trigger the camera you might have to go with a longer shutter signal length in the Calibration Routine.
  • Check to make sure that Autofocus is OFF.
  • Check the cable to see if it is working properly, connect it to the camera and short out the tip, ring, and ground on the 3.5mm plug. If the camera does not trigger then refer to your cameras instruction manual to make sure it is setup properly, and/or try another shutter release cable.
  • If the cable triggers fine then you can try shorting out the legs on the Optoisolator on the camera side. The Optoisolator should have a DOT on one of the legs, that would be the + input, the leg next to it is the ground.  On the other side there wil be 2 legs, if you short those legs out and the camera triggers then the problem might be the Optoisolator. Set the controller on 5 second intervals with 2 second bulb exposures then check to see if you see +5v when the system is attempting to trigger.  If you dot not see the 5V check your solder connections and wiring, if you do see the 5V and the camera is not triggering but does trigger when the camera side legs are shorted you have a bad Optoisolator.


4) The display is flickering.

  • This is often caused by an unstable power supply, or an inadeqate power supply. If using an AC wall adapter make sure it can put out 12v with 2 amps.
  • If the power supply is good you might have a bat potentiometer. One easy way to check this is to load the Test_and_Calibration_Tool to the Arduino. (be sure to unplug the arduino from the shield when uploading), Using the Arduino IDE program run a serial monitor and you will see the output, look at the Adjust and Mode columns and check the values, you will see a little bit of deviation of +/- 2, if you see the number jumping larger numbers back and forth without the potentiometers being turned and only see it on one of the potentiometers then that one is probably bad. If they are both jumping around it is likely an unstable power source.


5) Buttons do not work

  • The Values of the buttons may be out of range. Load the Test_and_Calibration_Tool to the arduino (unplug the arduino before uploading) then plug the arduino back onto the shield. Press each button and record the value of each button, then you will need to load the latest version of Chronos 2.0 software into the Arduino IDE, then do a ctrl+f (find) for “BUTTON READING” It will bring you a segment of code that explains how the button structure works and make the proper adjustments to be sure the values fall within the ranges.
  • If the button does not return any value, or you do not see the value change when pressing a button you need to check your wiring.

6) Carriage moves when exposing.

  • One possible cause is shutter lag.  Normally when using a DSLR this is not a problem, but with some cameras especially mirrorless there may be a little bit of a shutter lag.  You can try increasing the Aftershot Buffer to give more time before it triggers by moving to the BULB mode on chronos and pressing the -> button. This increases in .05 second increments, you can raise this all the way up to 100 if needed.  It is defaulted at .25 seconds. if raising all the way to 100 still does not help then you can try increasing the Bulb time to 1 second to see if that helps, but make sure your camera is in single shot mode not burst.
  • If running longer exposures the camera may be lying to you about the shutter speed. If you set Chronos up to shoot for a 30 second bulb exposure then it will open the shutter for 30 seconds then close it. However, if you are NOT in BULB mode on the camera and just set the camera up for a 30 second exposure it is probably actually exposing for 32 seconds. This is because camera shutter speeds directly relate to f-stops not real time. If camera makers labeled the shutter speeds correctly it would show 1, 2, 4, 8, 16 and 32, instead of 1, 2, 4, 15, and 30. So if this is happening and it is moving while exposing you can change the camera to BULB mode and let the Chronocontroller control the exposure, or, you can increase the interval time to give it enough time to expose before moving.

7) When starting a routine it displays ”     0″ then “0     ” then GO. (or SGO)

  • I have seen this happen before, and every time it ends up being a problem with the battery. What is happening is the battery supplies enough voltage to run the controller, when starting a routine the motor driver takes too much power and the Arduino resets. (however this does not happen on POS or CONT modes oddly enough, only MGO and GO)  This is normally corrected by using a battery with a fuller charge and ensuring that the cable is plugged ALL the way in. If the cable has a large flange it may need to be trimmed away to fit it securely in the power socket. 

8) Sometimes the carriage does not move

  • If you encounter a situation where the carriage does not move every time (usually on smaller movements) the carriage may have been knocked out of alignment.  A sharp impact or hit to the carriage can sometimes knock the bearings out of alignment and cause them to grab onto the rail and not slide freely.  If you suspect this to be the case loosen the two bolts connecting the carriage to the backlash nut bracket, the carriage should come loose and slide under its own weight when the rail is held at a 45 degree angle. If it does not slide then it needs to be realigned.
    • First run the carriage out to the end opposite of the motor
    • Disconnect the carriage from the backlash bracket
    • loosen the bolts holding the carriage to the bearings
    • While sliding the carriage in one hand back and forth lightly tighten each of the bolts in a star pattern, much like you do with lugnuts on a car wheel. Only tighten them a little bit at a time, maybe 1/4 to 1/2 turn, untill they start to grab. They should never be tightened much beyond finger tight. When done the carriage should be securely attached to the bearings, but it should slide under its own weight (no tripod head) when held at a 45 degree angle.
    • Reconnect the carriage to the backlash nut bracket
    • Retest movement.

The Chronos Project | Time Lapse Motion Control