Basic questions for Voyager Array and Multi-scope management


About to set up a dual-scope system in a remote site, including 1 PC, 1 mount + 2*(Scope+Camera+Focuser+Rotator). I am happy and relatively fluent with Voyager base, and natually think of Voyager Array to get the job done. I don’t have both cameras with me yet so I can’t try it out, so I just want to throw some questions out here to get myself prepared.

On the Wiki there are some introductions about Array and some step-by-step instructions which I think would help, but just to get my mind correct:

  • Do I start two instances of Voyager on the same PC, setup profile for each system, do the focuser training, etc. as normal?
  • I have two ZWO6200mm Pro camera with associated FW, also two NiteCrawler focuser/rotator; Anyone with similar setup knows if the Array can tell between (and remember) between those two?
  • One of them would be mostly slave, but occasionally I’d maybe like to call it out to do some single job on some nights. By setting the slave mount to “Array virtual mount” I probably can’t do that? Do I need to create another profile just for the slave system at single operation mode?
  • Autofocusing: A note in Wiki says “Autofocus will only be done with default filter from both systems”. Does that mean the offset is critical at the time of setup, and Array does not support autofocusing with the actual filter-for-imaging like the Voyager Base?

And maybe a “bad” question: What do you like/dislike Array the most? I am moving to a higher dimension of operation and I may not see all the challanges I am about to see. My first think is the synced dithering, which seems captured in other programs as well. So just curious: what else features I am getting that’s very useful for multi-scope management, that’s not available anywhere else?

Tips/suggestions on multi-scope management are always welcomed!


Answers for technical questions:

  • suggestion is to install and setup Voyager like a base installation in each single node (focus training need mount in each node). Finished this tasks, remove from the slave node(s) the mount (best cloning profile) and put the array virtual mount. Setup array dedicated setting on the master, retrieve the needed information (filters and readout mode and etc) from Slave using Master actions, set the offset for focus, test the array with some remote commands (you have panels in the new section for Array in the master)
  • ASI can mange multiple camera on the same PC, NiteCrawler i dont know … you must refer to the producer.
  • use the first profile used for training the autofocus
  • Array work with offset at now, not easy to point the same star and using potentially with different filter (in the future we can add more autofocus option)

If you have problem with driver instance you have problem with all software not only with Voyager. In this case 2 mini PC is the best solution, or adding a Mini PC for the slave connected with a short cross lan cable.

For the “bad” question, Voyager Array was born for Array porpouse … isnt simple a dithering sync. Try to think how to manage autofocus in an array without sync on it, this is just an example of task can be critical in an array system. Add guiding, guiding calibration, meridian flip, sequence management in more node and DragScript support for Array. Voyager Array work on LAN with dedicated protocol, Master do the operations and command to slave only the single commands, slave not running any sequence.

All the best


Leonardo has replied to your post already but see my comments below for your specific questions. I have been using Array successfully for a few months now.

My main suggestion is that you set up your Master (main) imaging rig in Voyager (1) and make sure all works. Ignore your second imaging rig completely.
Then set up separately your slave rig - using Voyager 2 which should be on your desktop from the Array installation or can be launched from the Multi-Instance menu in Voyager 1 - making sure you can connect to all the imaging equipment you have for it (no mount, plate-solve, observatory control, weather, etc - those are only set up for Master).

Then you embark on using Master and Slave together.


One last point, if you have Rotators, set them as per the Wiki instructions. If you don’t make sure you untick the Rotator management when you got set up a Sequence in Custom Array Observatory.

1 Like

Thanks Leonardo. Is this also a must if we use Localfield instead of Robostar? I understand Robostar needs pointing to a suitable star which slave system may not meet, but Localfield doesn’t need such?

Things are more complicated than what you think Localfield have problem on time … in case of narrow mixed with broad have 3 scope wait for 1 to finish is not a good thing. One of the future addition will be to not use offset for locafield if all nodes running broadband or narrow sequence.

Just start playing Array tonight with some testing equipment. So far so good! Feels really easy to set up and get going. I was mainly checking synced dither feature with my two nodes and seems working pretty well. I do have a question about different modes of dither syncs. I can understand that:

  • [One of array elements] basically means I want to dither every frame (if I choose to dither every frame in guiding setting), so the node with shorter exposure will have to wait for the other node with longer exposure.
  • [Master] or [Array 2] is pretty straightforward, and basically the selected nodes is prioritized for dithering.
  • What does [All Array elements] do? Is it selecting the dithering oppotunity based on some sequence optimization? And is it optimized on total time, or something else? And in this case is it that my settings of “dithering every X frame” becomes voided?

Also tonight one of my testing cameras does not have cooling. In the Array sequence it seems to me that I can only enable or disable cooling for both cameras simutanously. Is it not an option to enable cooling on one camera and not on the other?

Didn’t got to dual-scope focusing tonight, which is what I aim to test next. So far so good, really easy to operate and seems to get the job done! Thanks Leonardo!


Hi Yizhou,

dithering modes if you use “Every X exposure” mean

  • [One of array elements] when ones of the array elements finished the number of selected exposures dithering will be requested by Voyager, which nodes ins’t defined … just one of the availables
  • [Master] or [Array 2] … etc when the selected array node (and only this) finish the number of selected exposures Voyager will request the dithering
  • [All Array elements] when all the nodes will reach the number of choosed exposures Voyager will request the dithering

For the cooling you have found a problem with actual version … You cannot select which node to cooling … you can cooling or not all and can define different set temperatures but actually switch off/on only some nodes isn’t possible. I will add this features. If you try the sequence the node failing the cooling will be removed from array operations for the running sequence.

For now you can try without cooling.

All the best

Thanks Leonardo. Makes sense now on the selection of dithering mode.

Not a big problem with uncooled camera. It’s just for testing. I’ll have both cameras with cooling in the actual configuration so not a dealbreaker, but appreciate for looking into it.

Hi Roberto,

Do you have two rotators with your setup? We are testing the dual setup involving two Moonlite Nitecrawler focuser/rotators. When trying in the Array, we can’t connect to both rotators; They always pointing to the same one and causing conflict. Offline using Moonlite’s own software both Nitecrawler can be connected and controlled, so communication seems open. Do you or does anyone has experiences with dual rotator connection/management within Array?

Don’t have the log but can provide tomorrow.

Thanks for the help.

Hi Yizhou

No rotators for me I’m afraid.


Hi Yizhou,

if you want to use array on the same PC you must be sure the drivers you will use allow multi instance.
In case of Nitecrawler I verified with another user of array the same behavior you have. Seems something to fix in ASCOM configuration (like add driver dedicated to a second instance) on the same PC, I’ve alerted Ron about. Waiting for some info. I’ll keep you in touch.

All the best

Huh, ok Leonardo thanks for that information. So you are saying this is communicated with Ron already? Looking forward to the update. In the mean time do you see the only option as running two PCs, one for each node?


You can also write to him … this help on fastening the things.

Solution when a driver doesn’t allow multi instance is a second PC … usually multinode have a minipc on top of telescope for each nodes and LAN cable or cross cable if not have autosensing LAN.

All the best

So, in the past weekend we went to the remote site and set up our dual-scope system, and for the first time operated with Array and run some successful sessions. We do have some feedbacks/questions and would appreciate help here. Eager to learn more!

We have one TOA130 and one FSQ106, both with ASI6200 and Moonlite Nitecrawler. Everything talks fine. I have two PCs controlling each system, both at 2.2.13f version, and of course in the same local network.

One question I have is about rotator sync, and precise rotation. First of all there could be difference between sky PA & rotating driver, and I understand I can do a PlateSolve and manually sync, or use “rotator sync” in DragScript, however I can only do that with Master as it’s in control; how do I snyc the rotator for the slave node?
Also after loading a target from RoboClip, when starting the Array sequence, Voyager will just command the rotator to the specified angle, without “precise rotating” i.e. iteration for checking. Is this managed somewhere else?
I also noticed that when I select the target from RoboClip into the Array Sequence setup, it doesn’t load the angle automatically. Is that something can be taken care of?

Also, for creating DragScript to manage the Array actions, right now I only find system link/unlink, connect/disconnect, camera temp control & sequence control. How to I ask both systems to do an Autofocusing, or rotate a certain angle from DS, for example?

Another observation is that the autofocusing cannot be triggered by temperature change, only by time of # of frames. I understand that multiple systems may have different temperature variation so it’s hard to set up the rule. In practice how do you initialize the focusing then? Every 45 mins or so?

Thanks for the help!


The rotator management is reserved to the Base version of Voyager where you have only one rotator.

In an Array systems only the rotator PA will be used and you can define offset in array setting to align all the rotator to have the same PA on Sky. Sync you can done in the slave with a dedicated profile also because is a thing to do one time. RoboClip get the Sky PA not useful in array.

Autofocusing on Array you can do from master dashboard, in Dragscript autofocus in inside the sequence.

Autofocus on array on temperature is a challenge … better to define an interval of time to be sure to have all at focus.

Try to do things in a simple way is the key to have success with array.

Hope this help.

All the best

Thanks Leonardo.

So you are saying Array doesn’t support rotator sync, only rotator movement, right? I can do a sync on my Master system, but for my Slave system I can only specify how much of angle it rotates, but there is no way to check/confirm? BTW, in Array Settings for “Rotator PA Zero”, it shows “Master 000.00 [Absolute]” and “Slave 00.00 [Offset]”. What does absolute and offset means here? If I rotate Master by X deg, will the Slave just follow if the offset is set to 0?

You are welcome.

Sync can be done in every single node with normal onthefly operation / rotator command widget/ dragscript.
Array use the Rotator PA, absolute for master is the zero of the rotator … offset for the slave is the difference to get the same angle in the SKY of the master.

Example => Master zero is set to 12° in absolute, slave have 3,2° of offset to have the same angle on the sky of the master.

Moving rotator in master tab of the dashboard to a value of 30° the master rotator go 42° (12 +30) and the
slave to 45,2° (12 + 30 +3,2)

If you decide to sync the rotator in each single node you can decide to use 0 for absolute and offset values in Array settings.

All the best

Hi Leonardo,

I have another question/observation I want to report. i noticed that in Array Sequence, when creating a sequence and use “group by shot” and repeat X times, all other cycles except for the first one has wrong Gain/Offset in my case.

Here I set up a sequence where I take RGB, 4 frame each, then repeat;

And I noticed that from the file name that first round was at least named OK; the rest miss the GA & OF in the naming.

Here is the fitsheader of a correctly-named file, the Gain and Offset is correct.

And here are fitsheader for two files without GA and OF registered. The Gain is changed from 100 to 50, and Offset changed from 50 to 0.

We noticed this both on Master and Slave systems.

Can you or anyone else confirm this behavior or I am setting something wrong?


At now you are the first reporting this … I will check for sure.
If you think this is a bug please report to support the ticket with all the log from each nodes and your sequence file.

All the best

Thanks Leonardo. Logs & Sequence file supplied via an supporting request email.