Instructions for building and controlling an Arduino (or Maestro) controlled servo driven EL Panel for flats with ASCOM driver

There is also a standalone program for controlling Nebulosity to determine flat exposure time based on ADU saturation desired, and capture specified number of flat frames. 

Questions, comments or suggestion welcome: or scopefocus Google Group

My latest addition...  I dug out my old Pololu maestro 6 channel servo controller and rebuilt this.  The Maestro is nice because its small and is designed specifically for servo control.  I also wanted the ability to use the ASCOM driver to control the brightness via sequencing software so added a second servo that turns the EL panel power supply potentiometer.   Using push buttons the device can also be operated without any computer connection. 

Video shows stand-alone operation:


Redesigned servo driven EL panel:







Aluminum strip 1" x 1/8" , 1" x 1/16",  1/2" x 1/8"

Aluminum angle 1" x 1"

Screws of various lengths all #4-40

Plexiglas (1/8" thick) cut slightly larger the EL panel

Servo - Pololu #1058 Power HD High-Torque Servo  (

Microswitch - Pololu #1402 Snap_action switch w/ 16.7mm lever: 3 pin SPDT 5A

EL Panel - White, parallel electrode w/ dimmable power supply from  (


The EL panel shown is size "A6" for an 85 mm scope  (




The entire assembly is mounted to aluminum strip 1" x 6" x 1/8" .  That is mounted to the dovetail rail using a flat head screw.  The servo is mounted to the main rail via 2 L shaped brackets.  These are made from cutting 1/4" wide piece of 1"x1" x1/8" aluminum angle.  Holes were drilled and tapped for 4-40 screws (all screws below are 4-40).  a small micro switch is mounted to the forward servo mount (see directly below).    A 4 prong servo "horn" (comes w/ servo) was attached.  For greater rigidity a small plate was cut from 1" x 1/16" aluminum and attached w/ 4 screws.  The plexiglas plate was attached to the aluminum rail using 1/2" x 1/8" strip.  The servo is attached to the EL panel rail using an L-bracket cut from 1" x 1" angle (see directly below, the extra holes were from previous failed designs).   The EL panel is fixed to the plexiglas plate using clear contact paper.   




via Arduino (std. servo connection -- addt. 5volt supply is recommended) or Meastro servo controller (

An ASCOM driver uses the latest switch interface to control.  (ASCOM Ver 6.1 is required)  SetSwitch(true) = on/closed, SetSwitch(false) = off/open.  GetSwitch() returns the position (true/false). 

A second servo attached to the brightness potentiometer can control the lever.   Connected via a piece of Teflon rod with a 1/4" hole and set screw for the potentiometer shaft.  This is screwed to a standard servo hub using small wood (#4) screws.  (Another option would be using strong double-sided mounting tape to the stock knob).   ASCOM methods SetSwitchValue(0-180) correspond to the servo angle and GetSwitchValue() will return the servo angle. 



Misc Photos:



Shows EL panel mount to bottom aluminum rail --> L-bracket --> servo plate --> servo horn(behind plate)

front of micro switch 





Back view (looking down axis of scope) EL panel up 






 Front view of EL panel retracted down from top of scope (lens cap at bottom)





Side view EL panel up. back of rail, L-bracket and servo plate.  Front servo mount bracket and micro switch  






Close-up, rail, back of Servo L bracket, Servo plate and servo horn. 





EL panel up, scope off, flat head screw mount



 Servo Mount "L" -front (sky side) with micro switch and part of servo horn and plate





Servo mount "L" - back (scope side).  Also shows servo horn and servo plate mounted with 4 screws




 EL Panel power supply mount on dovetail plate(upper supply know removed for clearance)

Second servo connected to potentiometer to control brightness

Close up of Servo/Potentiometer connection, machined from Teflon rod. 

Standalone AutoFlat exposure software:

This will control Nebulosity to automatically find the desired flat exposure time based on the %ADU saturation.  Also runs a script to capture the desired number of flat frames with specified binning.    

To Download: Scroll to bottom of page, click white arrow to the right of "", select save or download

To Install: Unzip and double click setup.   It will run upon installation, just hit abort when prompted 'Nebulosity not Found'.  (You'll find the program listed in the startup menu under scopefocus - AutoFlat) The latest version should work with  Nebulosity versions 2 and 3.


How to use:

1) You'll need to create a script called listenPort.neb and place it in the folder where Nebulosity.exe is located.(usually  C:\Program Files (x86)\Nebulosity#)   All the script needs to say is ListenPort 4301.  (In Neb select Edit-->Edit/Create script, scroll down to LitenPort and set value to 4301, select that line, double click, then save script)

2) Select the path where Nebulosity.exe is located. 

3) In the next box, select the directory that matches nebulosity capture directory

4) Set the desired starting point.  The closer you are the less time it takes to find.

5) Select your goal Max ADU for your flats(I use 30K)

6) Select how close you want it to be to the goal (within a certain percent e.g. 10%)

7) Select the number of flats you want it to save.

8) If any binning, select that as well.  

10) Just hit go, it will determine the necessary exposure time and save the desired number of flats named "AutoFlat" to the selected directory.   All entered values are stored as settings (except Total Number) .


 AutoFlat (stand alone) screenshot:






Here's a screenshot of the scopefocus (not the stand-alone) software control (see right lower corner)

The autofocus software will control the flat panel and automatically adjust exposure time to the goal ADU.




added driver for ASCOM CoverCalibrator (see bleow) 

AutoFlat software change log:


--minor settings mod default neb path


--better version tracking

--changed startup folder name to scopefocus


--improved error handling/logging

--allow blank filename(uses "Autoflat")

--layout change, removed close button (use red x)

--removed download delay, now waits for "sequence done" in Neb statusbar


--Improved socket disconnet, improves repeat use

--added filename/extension.   if  starts w/ "_" (e.g. _xxx then AutoFlat_xxx) otherwise as filename as entered


--now Neb ver 2 compatible.

--no longer uses preview button and FlatCalc files are deleted 

--changed MaxADU handle detection method


-- only compatible with Neb ver 3



--added control of second servo for level


--original release



--original release

--includes selectable dual servo control for level      



--dual servo control

--selection of servo function depends on pin connection


--adds speed control to arduino sketch

--adjust value of int servoSpeed (default 50) second line if Arduino sketch

--follow instruction below for VarSpeedServo



--added dual control


--original release

--Getstatus shows angle via Messagebox