Article Index

Building a DIY cap for ServoBlaster Cap

1. Introduction

To summarize what we are going to go trough here, we are building a servo actuated, INDI and Ekos compatible dust cap. I will go trough the details as I show pictures of my fast tracked prototype. Some of the parts used for prototype is selected on convenience. Be creative and preferably use parts you already have lying around.

So what do we need to do that?

  1. A bracket for the servo.
    • You should be able to mount the servo securely, in addition to a pivot that the dust cover attaches to.
    • You should be able to mount the bracket to some feet that attaches to the telescope.
    • The prototype's bracket was a aluminum bracket to mount a small motor to a RC-plane.
    • An example of a bracket. (This would need modification to be able to attach the control arm.)
  2. Two feet to mount the bracket on to the scope.
    • These feet should be 'tall / long' enough so that the bracket is mounted at the correct distance for the dust cover to cover the scope.
    • Use a lot of electrical tape or similar on the contact points to protect the scope from scratches.
    • Some sort of U bracket can be used.
  3. The Servo.
    • Preferably full-size or mid-size servo.
    • A long servo horn.
    • Servo used in the prototype is Futaba s3050.
  4. The 90 degree control arm to flip the lid open and shut.
    • In the prototype a aluminum tail rotor control arm for an RC-helicopter was used, but similar type parts can work as well.
    • A link to connect servo to control arm.
    • Example control arm.
  5. The dust cover.
    • Should be light weight.
    • Should have soft surface to close neatly on to scope, without leaving scratches.
    • Dust cover used in prototype is a dust cover / sound dampener from a Fractal design PC case.
    • A mounting solution to mount cover to control arm.

2. A walk trough of the prototype.

  • 2.1. Mounting to the scope.

This first picture is a view from the back where you can see the U shaped feet bracket and the box that holds the servo. As the servo and control arm is mounted on the side ot the box, the feet are mounted in an angle to keep the servo bracket straight, and off center relative to the dust cover. Everything is held in place on the scope by zip ties. With the electrical tape on the feet, it will not slide up or down on the scope by accident.

Off centre monting

  • 2.2. Linking servo and control arm.

In the fully closed position you can see the servo is pushing the cover closed. On the prototype, the servo horn is slightly to short. If it was longer the link would be pushing on the servo with a steeper angle, making it have less slack. At the moment the cover is closed very gently against the scope, and I would like it to sit tighter. A longer servo horn will fix that.

Servo view, closed

In the fully opened position the cap clears the light-path of the scope, but with the short servo horn the cover is only opened to about ~105-110 degrees. With a longer servo horn it would open wider only limited by the geometry between the servo and the control arm.

Servo view, open

  • 2.3. Connecting the control arm to the dust cover.

Preferably you can use one solid peace. It must be a 90 degree angle to connect to the control arm, and to the cover. I had no small angled piece lying around, so I used a small hinge. After dunking it in quick dry super glue, it will stay at an 90 degree angle. It's also worth noticing that between the angle piece and the second screw connecting the piece to the cover, there are some spacers to help the cover close flat on the scope. When the longer servo horn is installed it might not be needed, but will not do any harm.

Control arm to cover connection

  • 2.4. Calibrating the servo.

This is explained shortly earlier in this article. The calibration consists of three steps.

  1. With the servo horn 'Preferably' unattached, Park and Unpark the cap. Check if the servo is moving in the correct direction relative to how it will be installed. If not, select "reverse direction" in the Calibrate Tab.
  2. Park and Unpark the cap while increasing "travel", or Park the cap and use "step close" until the servo reaches limit, and repeat for Unpark. The "abs position (ms)" is the pulse-width of the current position and will be the limit. Update "Max travel Limits" for open and close in Calibrate Tab.
  3. Install servo horn, and set "Preferred Limits" to ~80(%). Park and Unpark while increasing the percentage until the cap is firmly closed on the scope, and opens to a safe position.
  • Remember to save config when done.
  • Worth noting that the servo will move in "steps". There are no way of slowing down a servo other than to supply low voltage, so the total travel is calculated in to steps to slow it down. Not good to be slamming shut the dust cover! This does mean that the servo will catch up to the intended position before moving on, making the motion seam 'notchy'. This will not harm the servo.
  • Hope you enjoy your low priced, automated dust cap :)

Cap Un-parkedCap Parked

3. Driver Summary

INDI ServoBlaster Cap is a dust cap 'driver' for INDI built with the ServoBlaster interface. ServoBlaster Cap does not have any hardware associated with it, other than it will work with a 'rc style' servo. The 'Cap' part must be built as a DIY project. Most servos is 4.8v and a old phone charger or similar would work as a powersupply. If you use a servo that is not 4.8v then change powersupply accordingly. The servo must use a PWM signal input in the range of '0.4 -> 1.3ms as 90 degree left', '1.5ms as centre', and '1.6 -> 2.6ms as right'. Most servos work at (0.5-1), 1.5, (2-2.5), but the range is set slightly higher to allow calibration to work with all servos.

Pin layout on Raspberry PI for ServoBlaster:

Servo numberGPIO numberPin in P1 header
0 4 P1-7
1 17 P1-11
2 18 P1-12
3 21/27 P1-13
4 22 P1-15
5 23 P1-16
6 24 P1-18
7 25 P1-22

The Servo ID specified in Calibration, corresponds to the 'Servo number', connect servo to matching 'Pin in P1 header'

You can also (optionally) install USBRelay2 Roof, and use a power channel as a (fixed/undimmable) lightsource, or install WiringPi GPIO and use a gipo pin as a lightsource trigger. 

4. Attributions

  • This project could not be done without the existing INDIlib project or the ServoBlaster interface.
  • This project is 3rd party and dependent on the mentioned projects, and licensed accordingly. See LICENSE and COPYING.BSD.
  • Some files have additional lisence information, see file headers.

5.  Installing dependencies

5.1.  INDILib, and it's dependencies

5.2. ServoBlaster

$ cd ~/Projects
$ git clone
$ cd PiBits/ServoBlaster/user/
$ sudo make servod
$ // Follow instructions on screen to add the init script and start servoblaster service (servod)

5.3.  (Optional) INDI USBRelay2 Roof, and it's dependencies

5.4.  (Optional) INDI WiringPi GPIO, and it's dependencies

5.5.  Install INDI ServoBlaster Cap

$ cd ~/Projects
$ git clone
$ cd indi_servoblaster_cap
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr . ..
$ sudo make install

5.6. Update

$ cd ~/Projects/indi_servoblaster_cap/
$ git pull
$ cd build
$ sudo make install

5.7. Screenshots

5.7.1. Calibrate

  • Configure Servo ID, Flat Light device, calibrate travel limits, prefered limits, and optionally reverse servo direction.
  • To configure a USBRelay2 channel for light source, make sure atleast one Power device is added to the "Device Setup Tab" of USBRelay2 Roof. Take a note of the "dev x" number. In ServoBlaster Cap's "Calibrate tab", set "Flat light device" to "x", and make sure Light Device is set to "use USBRelay2" in ServoBlaster's "Options Tab".
  • To configure WiringPi GPIO pin for light source, make sure WiringPi GPIO has atlest one pin defined as output. Take a note of the "Pin: x" number on WiringPi GPIO's "Main Control Tab", and set "Flat light device" to "x". Make sure "use WiringPi GPIO" is set in ServoBlaster's "options Tab".

calibrate  options

5.7.2. Main Control

  • Not much to it. Parked = closed, UnParked = open - ready to image. 
  • Parking Cap will turn off lightsource, and lightsource can only be operated when Cap is unparked.
  • To find Max travel limits, park cap then use 'step close' until cap is fully closed on the scope. The abs position will be the close limit in Calibrate Tab.
  • Repeat for open. The open and close limits should be the full possible travel for the cap.
  • If you want the cap only to open to 10% of the open limit, set Prefered limit open to 10%. Note that open limit is travel from centre position to fully opened.