# Project PANOPTES

A citizen science project that aims to make it easy for anyone to build a low cost, robotic telescope that can be used to detect transiting exoplanets.

<figure><img src="/files/lA3tiL1cFAaaAJVqzW18" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Hi! Welcome to Project PANOPTES, the **P**anoptic **A**stronomical **N**etworked **O**bservatories for a **P**ublic **T**ransiting **E**xoplanets **S**urvey!
{% endhint %}

## Overview

PANOPTES is a build-your-own robotic telescope citizen science project designed to find new exoplanets!

What does that mean?

:ringed\_planet: **Exoplanets** :ringed\_planet:

There are planets out there orbiting stars besides our Sun. We use robotic telescopes, called PANOPTES units, to try to find them.

:tools: **Build-your-own** :tools:

Each PANOPTES unit is built by someone just like you! No prior experience or advanced degrees required!

:robot: **Robotic** :robot: &#x20;

A PANOPTES unit is fully automated and once built and deployed it will work together with the PANOPTES network to find those planets!

:telescope: **Telescope** :telescope:&#x20;

However each robotic telescope is also capable of being controlled manually, meaning that in addition to finding exoplanets you can use your unit to take pretty pictures or research something in the night sky besides exoplanets, like variable stars, or satellite and meteor counts.

## How can you participate? <a href="#how-can-you-participate" id="how-can-you-participate"></a>

Join our group, and participate in any way you wish, according to your area of expertise and/or taste. You can build a robotic camera yourself (and improve our design), explore new hardware solutions, write/improve software, come up with a new idea to use the robotic cameras, get other citizen scientists to join, analyze existing images, etc. How will you contribute to PANOPTES?

To see what others are doing, check out our community forum: <https://forum.projectpanoptes.org>

## Quick Links

{% content-ref url="/pages/-MEi55Rwc2duqh3gfBGi" %}
[Start Building!](/build/getting-started)
{% endcontent-ref %}

{% content-ref url="/pages/hhEXc5lOq0IJDz1iEU0V" %}
[PANOPTES Units](/overview/panoptes-units)
{% endcontent-ref %}

{% content-ref url="/pages/-MDvC1gyC6p66G7ztP5A" %}
[FAQ](/overview/faq)
{% endcontent-ref %}

{% content-ref url="/pages/IGh5ggwVs8IQ0vZqVnaN" %}
[Data](/science/data)
{% endcontent-ref %}

{% content-ref url="/pages/O01JdacpGajBm9n5FUJS" %}
[Contact](/overview/contact)
{% endcontent-ref %}

## Partners

A big thanks to our partners and sponsors who help make the project succeed!

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>MacArthur Foundation</td><td></td><td></td><td><a href="/files/nwL5ZiClBaEcz0s9i67P">/files/nwL5ZiClBaEcz0s9i67P</a></td><td><a href="https://macfound.org">https://macfound.org</a></td></tr><tr><td>Subaru Telescope</td><td></td><td></td><td><a href="/files/sJ2vW7cOdcDxKCtAOOZs">/files/sJ2vW7cOdcDxKCtAOOZs</a></td><td><a href="https://subarutelescope.org">https://subarutelescope.org</a></td></tr><tr><td>Google Cloud Platfor</td><td></td><td></td><td><a href="/files/YVoStX0IEmQxTvW2oCeB">/files/YVoStX0IEmQxTvW2oCeB</a></td><td><a href="https://cloud.google.com">https://cloud.google.com</a></td></tr></tbody></table>


# FAQ

Frequently Asked Questions

## Generic

### What is Project PANOPTES? <a href="#what-is-project-panoptes" id="what-is-project-panoptes"></a>

PANOPTES (**P**anoptic **A**utomated **N**etwork of **O**bservatories for a **P**ublic **T**ransiting **E**xoplanets **S**urvey) is a citizen science project which aims to build a worldwide network of low-cost, robotic telescopes used to detect transiting exoplanets.

The name is a [backronym](https://en.wikipedia.org/wiki/Backronym) that references [Argus Panoptes](https://en.wikipedia.org/wiki/Argus_Panoptes), a mythical creature of ancient Greece with the ability to see in all directions at all times. Our ambition is to build a collaborative, worldwide network of observatories that will survey the night sky for nearby exoplanets will have a panoptic view of the night sky.

### How many PANOPTES telescopes are there, and where are they located? <a href="#how-many-panoptes-telescopes-are-there-and-where-are-they-located" id="how-many-panoptes-telescopes-are-there-and-where-are-they-located"></a>

As of July 2022, there are [25 units](https://projectpanoptes.org/teams/) in different stages of build, testing, and deployment.

![](/files/bsJ9pX23jXuJhbsqU4Hz)

Active PANOPTES building is happening in California, New Mexico, Hawaii and Arizona. High schools in Georgia, South Carolina, Pennsylvania and Pistoia, Italy are participating as part of a US-Italy Virtual Robotics Exchange; those schools are currently building as well.

### How long does it take to build a PANOPTES unit? <a href="#how-long-does-it-take-to-build-a-panoptes-unit" id="how-long-does-it-take-to-build-a-panoptes-unit"></a>

Building your first PANOPTES unit will probably take a few weeks, assuming one person is doing the build full time. Check our instructions to make sure you have all the parts, and to get a good idea of what the steps are and the tools that you’ll need.

However, many schools will want to build a PANOPTES unit over the course of weeks or an entire semester. PANOPTES should be viewed as an educational tool and so taking time to build a unit, while also doing lesson plans about what is being done, would be an invaluable experience for the students.

### I live in the city. Is it worth building a PANOPTES unit with all of the light pollution? <a href="#i-live-in-the-city-is-it-worth-building-a-panoptes-unit-with-all-of-the-light-pollution" id="i-live-in-the-city-is-it-worth-building-a-panoptes-unit-with-all-of-the-light-pollution"></a>

From a science perspective, an individual unit in a city is limited, but when that unit is networked with all the other units, the data becomes useful. However, from an educational perspective, an individual unit in a city is extremely powerful because it allows students with limited opportunity to become directly involved in cutting-edge science.

### How many stars with exoplanets have you found? What planets has PANOPTES found or confirmed? <a href="#how-many-stars-with-exoplanets-have-you-found-what-planets-has-panoptes-found-or-confirmed" id="how-many-stars-with-exoplanets-have-you-found-what-planets-has-panoptes-found-or-confirmed"></a>

It’s early in the project, with only 3 units built so far. The early prototyping for Project PANOPTES determined that a 1% dip in brightness could be measured and that a deeper dip caused by a known exoplanet could be confirmed.

### Can I make one with one camera? <a href="#can-i-make-one-with-one-camera" id="can-i-make-one-with-one-camera"></a>

Yes, definitely! A very early PANOPTES prototype had a single camera, while a later prototype had 4 cameras. The choice of two was made to optimize the science data collected for the money, but one camera is definitely better than none!

### Can I use a telescope I already have and add it to the PANOPTES network? (Why or why not?) <a href="#can-i-use-a-telescope-i-already-have-and-add-it-to-the-panoptes-network-why-or-why-not" id="can-i-use-a-telescope-i-already-have-and-add-it-to-the-panoptes-network-why-or-why-not"></a>

We designed PANOPTES with the idea that other hardware could be plugged in to the control system, however our focus has been on supporting the core mission and the core components. As a result, incorporating new hardware in to a PANOPTES unit is possible, but would require an effort to write software to control the new hardware and make it work with the PANOPTES software (both the control software and the analysis software). This has been done successfully, the Huntsman Telephoto Array project has adopted our control software POCS and built-in hardware support for their hardware.

### Are there instructions on the website on how to build it, especially relating to the circuit parts? <a href="#are-there-instructions-on-the-website-on-how-to-build-it-especially-relating-to-the-circuit-parts" id="are-there-instructions-on-the-website-on-how-to-build-it-especially-relating-to-the-circuit-parts"></a>

Yes, there are detailed assembly instructions for both the mechanical and electrical components of the telescope.

### Do you sell them already built? <a href="#do-you-sell-them-already-built" id="do-you-sell-them-already-built"></a>

No, we haven’t reached the point where there is enough demand for that to be economical.

### Can I buy a kit? <a href="#can-i-buy-a-kit" id="can-i-buy-a-kit"></a>

The design is still evolving as new builders teach us how to improve things, so we haven’t yet worked with a vendor to offer such a kit. We would also need quite a few builders making this purchase each month for a vendor to be willing to offer such a kit.

### Could you either pre-make a few that could be bought, or make it into a kit that I could buy and then assemble myself? <a href="#could-you-either-pre-make-a-few-that-could-be-bought-or-make-it-into-a-kit-that-i-could-buy-and-then" id="could-you-either-pre-make-a-few-that-could-be-bought-or-make-it-into-a-kit-that-i-could-buy-and-then"></a>

So far, we aren’t in a position to take that on. See the answers above.

### Which companies or organizations are sponsors of this project? <a href="#which-companies-or-organizations-are-sponsors-of-this-project" id="which-companies-or-organizations-are-sponsors-of-this-project"></a>

NASA (via the Jet Propulsion Laboratory) is supporting Project PANOPTES via a Universe of Learning grant under award number NNX16AC65A to the Space Telescope Science Institute, working in partnership with Caltech/IPAC, the Jet Propulsion Laboratory, Smithsonian Astrophysical Observatory, and Sonoma State University. NASA and JPL are not responsible for the Project PANOPTES materials, nor any opinions, findings, conclusions or recommendations expressed on the Project PANOPTES site.

Google Cloud is providing support for the project. We upload the collected images to Google Cloud Storage, and from there, they can be retrieved by anyone. We are working on an automated system for processing those images to produce light curves, which will run on Google Compute Engine.

### How is PANOPTES related to other exoplanet projects? <a href="#how-is-panoptes-related-to-other-exoplanet-projects" id="how-is-panoptes-related-to-other-exoplanet-projects"></a>

Project PANOPTES is part of the Universe of Learning, with connections to other ground-based observing programs like the Harvard-Smithsonian Center for Astrophysics’ MicroObservatory Network and Sonoma State University’s Gamma-Ray Large Area Space Telescope (GLAST) Optical Robotic Telescope (GORT).

### Will PANOPTES coordinate in any way with the NASA TESS mission? <a href="#will-panoptes-coordinate-in-any-way-with-the-nasa-tess-mission" id="will-panoptes-coordinate-in-any-way-with-the-nasa-tess-mission"></a>

PANOPTES units will be able to help verify and validate the exoplanets discovered by TESS. In order for an exoplanet to be confirmed, a candidate exoplanet must be viewed three times in two different ways.

## Astronomy/Astrophysics <a href="#questions-about-astronomyastrophysics" id="questions-about-astronomyastrophysics"></a>

### What is an exoplanet? <a href="#what-is-an-exoplanet" id="what-is-an-exoplanet"></a>

An exoplanet is a planet that is orbiting a star other than our Sun.

### Can you detect the size of an exoplanet? <a href="#can-you-detect-the-size-of-an-exoplanet" id="can-you-detect-the-size-of-an-exoplanet"></a>

The diameter of the planet, relative to that of its star, can be computed from the fraction of the star’s light that is blocked by the planet. However, a fairly accurate measurement of the change is required, while PANOPTES is focused on detecting that a dip in brightness is occurring repeatedly.

[This page](https://www.sfu.ca/colloquium/PDC_Top/astrobiology/discovering-exoplanets/calculating-exoplanet-properties.html) has more detail about how various properties of a planet can be determined.

### How can I find an exoplanet transit to view/record? <a href="#how-can-i-find-an-exoplanet-transit-to-viewrecord" id="how-can-i-find-an-exoplanet-transit-to-viewrecord"></a>

Swarthmore College offers [a web page](http://astro.swarthmore.edu/transits.cgi) that will show you transits expected to occur over the next several nights, with time, sky location, angle above the horizon, etc. You enter the location from which you are observing, either a well known observatory or a location specified by latitude and longitude. Here are some other resources to investigate:

* [www.exoplanets.org](http://www.exoplanets.org/) (all kinds of info and other links)
* [www.exoplanet.eu](http://www.exoplanet.eu/) (database of exoplanets)
* <https://exoplanetarchive.ipac.caltech.edu/> (NASA exoplanet archive)
* <https://exoplanets.nasa.gov/the-search-for-life/exoplanets-101/>

## Participation <a href="#questions-about-participating" id="questions-about-participating"></a>

### Is there a way to get involved without building a unit? <a href="#is-there-a-way-to-get-involved-without-building-a-unit" id="is-there-a-way-to-get-involved-without-building-a-unit"></a>

Absolutely! Among the options are:

* Help spread the word about Project PANOPTES and the collaboration between astronomers of all levels to your community.
* Mentor others who lack some of the skills that you have. For example, help a teacher to lead a class though the build process or guide some students as they learn about photometry and exoplanets.
* Review the existing documentation, suggest improvements, translate it into another language, or write some new documentation or articles for the project.
* Help out with the software, both the operational software that runs the telescope, and the analysis software for extracting light curves. There is always room for improvement.
* Further refine the design of the telescope, such as evaluating another mount, camera or lens.
* Help us with designing and creating demos that explain exoplanets, light curves and related topics. These could be real world experiments to be conducted by students, software that runs in a browser, or come up with something we’ve not thought of!

### How do I get involved? <a href="#how-do-i-get-involved" id="how-do-i-get-involved"></a>

Point your browser at <https://forum.projectpanoptes.org>, create an account so that you can post there (i.e. click the Sign Up button in the upper right), then post a message on the forum introducing yourself and telling the community about how you would like to be involved (e.g. building a unit, mentoring students, etc.). For example, if you plan to build a unit, you could post to the [Building PANOPTES](https://forum.projectpanoptes.org/c/building) category.

If you would prefer to contact the core team privately, send an email to <info@projectpanoptes.org>.

### What kind of volunteers does Project PANOPTES need? <a href="#what-kind-of-volunteers-does-project-panoptes-need" id="what-kind-of-volunteers-does-project-panoptes-need"></a>

In this golden age of astronomy, science discoveries are no longer limited to those with advanced astronomy degrees; Project PANOPTES allows learners of all ages and backgrounds to join the search to discover new exoplanets! If you have skills or interest in electronics, data \[science or management], optics, software \[for hardware, front stack, middleware, back end] or education, you can help!

### Why would educators be interested in participating? <a href="#why-would-educators-be-interested-in-participating" id="why-would-educators-be-interested-in-participating"></a>

Project PANOPTES provides students interested in Science, Technology, Engineering and Mathematics (STEM) a unique opportunity to participate in a global citizen science project. Using relatively inexpensive components, students and citizen scientists can build and operate an autonomous observatory that will identify exoplanet candidates for further investigation. PANOPTES presents participants with an opportunity to become involved at all levels within an exoplanet discovery project.

### What can students learn from building and operating a PANOPTES telescope? <a href="#what-can-students-learn-from-building-and-operating-a-panoptes-telescope" id="what-can-students-learn-from-building-and-operating-a-panoptes-telescope"></a>

Students gain experience with working as a team, skills with hand or power tools, an understanding of equatorial telescope mounts and how that is related to the rotation of the Earth, learn the various methods of detecting exoplanets, how photometry (measuring the brightness of stars) is applied, and much more.

Specifically, students would learn these skills:

* Teamwork in a real science project
* Experience using hand tools such as drills, drill presses, soldering irons, and screwdrivers
* Reading and working with schematic electronics diagrams, mechanical drawings/blueprints
* Following written technical instructions for the build of the unit
* Understanding electronics vocabulary and design
* Soldering components and wires to boards
* Using Linux commands and performing Linux operating system installations
* Assembly of the boards and components into the unit
* Testing at each phase of assembly
* Astronomy, including working with and understanding equatorial telescope mounts
* Photometry - measuring the brightness of stars
* Understanding the data that is gathered and how it will be used
* Possibly writing and submitting a paper to a scientific publication

### How much technical knowledge is needed to build PANOPTES? <a href="#how-much-technical-knowledge-is-needed-to-build-panoptes" id="how-much-technical-knowledge-is-needed-to-build-panoptes"></a>

PANOPTES has been designed to be built by people with moderate technical skills or with a mentor who can help teach those skills. You should try to build units as a team with classmates/friends.

### What skills are needed to build a PANOPTES unit? <a href="#what-skills-are-needed-to-build-a-panoptes-unit" id="what-skills-are-needed-to-build-a-panoptes-unit"></a>

PANOPTES units are designed to be fairly easy to assemble. If you know how to operate a drill and a screwdriver, you can probably assemble a PANOPTES unit. The one skill that is less common is soldering; this is used to attach the electronic components to circuit boards. Check out our step-by-step instructions.

### Do I need to be an astronomer to volunteer? <a href="#do-i-need-to-be-an-astronomer-to-volunteer" id="do-i-need-to-be-an-astronomer-to-volunteer"></a>

No. Anyone with moderate technical skills can build a PANOPTES unit, but there are also opportunities to participate which do not involve building a unit: working on software, helping with documentation, mentoring build groups, and assisting with data reduction are some examples of other ways to participate.

## Hardware/Equipment related <a href="#questions-about-the-equipment" id="questions-about-the-equipment"></a>

### Why does it cost so much/so little? <a href="#why-does-it-cost-so-muchso-little" id="why-does-it-cost-so-muchso-little"></a>

Depending on your background, country, and income, US $5,000 either sounds very expensive for two cameras or surprisingly inexpensive for a completely automated observatory. The PANOPTES team has worked hard to produce a reliable design that can be built without tools that are expensive or hard to come by, yet is able to detect a 1% dip in brightness of stars of interest (i.e. those out to about 40 parsecs, the same as TESS). As far as we know, there isn’t another design for an automated, all-weather, robotic telescope that can be built for less. Other FAQs explore the specific hardware choices.

### Why use a Canon SL1? Can I use another camera? <a href="#why-use-a-canon-sl1-can-i-use-another-camera" id="why-use-a-canon-sl1-can-i-use-another-camera"></a>

The Canon SL1 (now discontinued) was selected because it was the least expensive of the Canon DSLRs, yet had the same image sensor as several more expensive cameras. A full-frame DSLR, which has a larger sensor, equivalent to a 35mm film camera, would be a nice choice, but they can cost as much as an entire PANOPTES telescope. Nikon DSLRs were evaluated, but even when asked to do zero processing of the image, they still do some sharpening of the star images, which reduces the ability to accurately assess the brightness of stars.

The primary requirements for a camera are:

* A large number of pixels (the Canon SL1 is an 18 megapixel camera); enable the relative photometry algorithm developed for PANOPTES to find many comparison stars in the image.
* [gPhoto2 support](http://www.gphoto.org/doc/remote/); this open source software package supports many cameras and is used by PANOPTES to control the Canon cameras, allowing us to automate the taking of pictures and then downloading them from the camera.
* [POCS support](https://github.com/panoptes/POCS); this is the PANOPTES Observatory Control System, which uses gPhoto2. For each type of camera, we’ll need to discover the settings that are needed to take long exposure photos without the camera processing the image.

If you already have a DSLR or other camera that you would like to try with POCS and/or for a PANOPTES telescope, please take a look at the PANOPTES forum to see if we’ve discussed that camera, and if not, post a question. If you know how to program, you can help out by adding a driver to POCS enabling support for your camera (see [this file for the Canon SL1 support](https://github.com/panoptes/POCS/blob/develop/pocs/camera/canon_gphoto2.py)).

### Why use a Rokinon 85mm lens? Can I use another lens? <a href="#why-use-a-rokinon-85mm-lens-can-i-use-another-lens" id="why-use-a-rokinon-85mm-lens-can-i-use-another-lens"></a>

As far as we know, there isn’t another camera and lens commercially available at a lower price that achieves the quality of image produced by the combination of a Canon SL1 and Rokinon 85mm manual focus lens. However, if you’ve already got another lens, let’s discuss it on [the PANOPTES forum](https://forum.projectpanoptes.org/).

### Why use an iOptron iEQ30 Pro telescope mount? Can I use another one? <a href="#why-use-an-ioptron-ieq30-pro-telescope-mount-can-i-use-another-one" id="why-use-an-ioptron-ieq30-pro-telescope-mount-can-i-use-another-one"></a>

Given the aims of Project PANOPTES, the design requires the use of a motorized, computer controlled telescope mount with a tracking precision of well under 10 arcseconds of error over a single exposure (2 minutes), and under 1 arcminute over an hour, and a payload capacity of at least 20 lbs (around 9 kg).

Furthermore, the mount needs to be able to be weatherproofed. None of the commercially available mounts appear to be designed to be outside when it rains or snows, so the PANOPTES team selected this mount which it is possible to weatherproof. We would love to have help in assessing other mounts that are no more expensive than the iOptron.

The PANOPTES software is known to work with two iOptron models: the iEQ30 Pro (used with PAN001 and PAN006) and the iEQ45 Pro (this is used by PAN005); the latter can carry a high payload, so would be useful if you’re thinking of building a telescope with more and/or heavier cameras.

The software likely works with other iOptron models that support the same communications protocol by which the computer controls the mount, but they haven’t been tested yet. Support for telescope mounts made by Software Bisque has been added by the folks working on the Huntsman Telescope Array in Australia.

We’re interested in trying out the iOptron CEM25P at some point; this model has a sufficient payload capacity, looks like it can be weatherproofed, and is at least US $200 less expensive than the iOptron iEQ30 Pro.

### Why are there two cameras? Can it see in 3D? <a href="#why-are-there-two-cameras-can-it-see-in-3d" id="why-are-there-two-cameras-can-it-see-in-3d"></a>

PANOPTES does not see in 3D. While the two cameras are reminiscent of our two eyes which give us depth perception, PANOPTES has two cameras in order to gather more data. By mounting two cameras, we double the amount of data that a single PANOPTES unit can collect while only increasing the cost by a small fraction. We will be looking at designing versions of PANOPTES units which can hold four or even more cameras in the future.

### Why not one camera and a bigger lens? <a href="#why-not-one-camera-and-a-bigger-lens" id="why-not-one-camera-and-a-bigger-lens"></a>

The price of camera lenses and telescopes increases much faster than the aperture increases. A single lens of twice the area of the Rokinon 85mm with the same focal ratio (i.e. 120mm at f/1.4) would be much more than double the price, though comparisons are hard to make because only certain combinations of focal length and focal ratio are available commercially. As an extreme comparison, the Mitakon Speedmaster 135mm f/1.4 lens retails for around US $3,000, or 10 times the price of the Rokinon.

### Why not take a longer/shorter exposure? <a href="#why-not-take-a-longershorter-exposure" id="why-not-take-a-longershorter-exposure"></a>

There are trade-offs to be made regarding exposure length. Among the most obvious are:

#### Longer exposures:

* Collect more light, allowing us to see dimmer stars.
* But bright stars may saturate the sensor (i.e. the sensor records its maximum value for a pixel, and can’t measure the photons received after that point).
* Also collect more sky background (e.g. the scatter light pollution from electric lights).
* Greater chance to have the image ruined by a cloud pass through the field of view.
* More dark current accumulates during the exposure.

#### Shorter exposures:

* Collect less light, so we can’t capture enough light from dimmer stars to measure their brightness to a useful level of precision.
* But bright stars don’t saturate the sensor, so we can accurately measure their brightness.
* We get the same amount of read noise on each image, so altogether we’re reading more noise when reading more images with shorter exposure durations.

Furthermore, the mechanical shutter of a DSLR has a limited number of uses (e.g. 100,000 is the warranted value for the Canon SL1), so a longer exposure extends the time before that number of shutter actuations is reached.

### Does it have a computer in it? <a href="#does-it-have-a-computer-in-it" id="does-it-have-a-computer-in-it"></a>

Yes. The design includes a small computer called an Intel NUC. The NUC is based on the same type of processor as found in a typical laptop or Windows PC, i.e. some variant of the [Intel x86 architecture](https://en.wikipedia.org/wiki/X86). The builder of a PANOPTES unit chooses how much memory to put into the computer, though a minimum of 4 GB is recommended. The same is true of disk or flash for storage: the builder decides how much storage to put into the computer, though a minimum of 32 GB is probably necessary; and the less that is present, the more important it is to have a good internet connection for daily uploads of the images.

### How does it work (how is it controlled)? <a href="#how-does-it-work-how-is-it-controlled" id="how-does-it-work-how-is-it-controlled"></a>

The telescope is controlled by the PANOPTES Observatory Control System ([POCS](https://github.com/panoptes/POCS)). This open source software is custom built for PANOPTES by volunteers and extended as desired to support additional hardware used for some applications of POCS. For example, the folks working on the Huntsman Telescope Array in Australia added support for telescope mounts made by Software Bisque, and the builder of PAN006 added support for Astrohaven Domes.

### Why not use a Raspberry Pi? <a href="#why-not-use-a-raspberry-pi" id="why-not-use-a-raspberry-pi"></a>

We are in the process of evaluating the [Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi) (RPi), and think it may make a good choice for PANOPTES in the long-term.

For those who aren’t familiar with it, the RPi is a small single-board computer, with an area similar to that of a credit card. Unlike the Intel NUC, the RPi is based on the kind of processor used in many mobile phones: an [ARM processor](https://en.wikipedia.org/wiki/ARM_architecture). Unlike the Intel NUC, the amount of memory is fixed on each board, with the recent Model 3 B+ having 1 GB of memory. While this is plenty for many embedded systems, it isn’t a lot when it comes to running Linux, several Python programs for managing the system, and especially for simultaneously analyzing multiple images. Furthermore, the processor is considerably slower than a typical Intel NUC, so it takes much longer to perform a key operation: analyzing the images captured to determine if the telescope is pointed in the correct direction.

Another issue is that the open source software used on the computer is very often available in precompiled and pretested for the x86. The same can not yet be said for the Raspberry Pi, for which we must often download the source code for programs of interest and build them on the Raspberry Pi. Since it is much slower than the NUC, this significantly slows the process of setting up, and updating, the system.

Nonetheless, we are interested in the Raspberry Pi because it is so much cheaper than the NUC ($35 vs. at least $150, counting the cost of adding memory to the NUC), and also because it exposes GPIO pins that can be used to interact with hardware devices such as temperature and humidity sensors, which might simplify the electronics design of PANOPTES.

If you’re interested in helping us with this project, please let us know.

### How do you get the pictures from the camera? <a href="#how-do-you-get-the-pictures-from-the-camera" id="how-do-you-get-the-pictures-from-the-camera"></a>

PANOPTES uses gphoto2, open source software for controlling digital cameras, including downloading the images from the cameras immediately after the images are taken.

### How does it upload the pictures? <a href="#how-does-it-upload-the-pictures" id="how-does-it-upload-the-pictures"></a>

The existing units are all at sites that have good internet connections, which are used in the morning to upload the images recorded the preceding night.

If you want to build a unit that is far from an internet connection, you’ll want to include an external hard drive (SSD) for image storage, and periodically visit the unit to swap that external hard drive for an empty one, after which you’ll take the full drive back to “civilization” (now defined as a place with a fast internet connection!) and upload the recorded images to PANOPTES central store of images. How often you can visit the telescope will determine how big a drive you need.

### How much internet bandwidth is needed? <a href="#how-much-internet-bandwidth-is-needed" id="how-much-internet-bandwidth-is-needed"></a>

As calculated elsewhere in this FAQ, a PANOPTES telescope could produce up to 12 GB per night. To upload that within 24 hours (i.e. before the next night’s upload needed to start), the telescope would need an internet connection of about 139kB/second, or just over 1.1Mb/second. Note though, that it would be rare for a scope to have such great skies that so much data would be produced.

### Can it run on Wi-Fi, or do I need a hard-wired (Ethernet) internet connection? <a href="#can-it-run-on-wi-fi-or-do-i-need-a-hard-wired-ethernet-internet-connection" id="can-it-run-on-wi-fi-or-do-i-need-a-hard-wired-ethernet-internet-connection"></a>

The Intel NUC and Linux support both, though no setup is required for the Ethernet connection, making it slightly easier to work with.

### Can it run on photovoltaic (PV) / solar power? <a href="#can-it-run-on-photovoltaic-pv--solar-power" id="can-it-run-on-photovoltaic-pv--solar-power"></a>

Yes, it would certainly be possible to do so. Internally, the system uses DC 12V power, which could easily be supplied directly from batteries that are part of a solar power system. In principle, one would just need to assemble a solar panel, charge controller, and appropriately sized battery to run the unit off-grid, however, we haven’t yet had any experience doing so at this point. The only change needed would be in the AC detector, a safety mechanism used to determine when AC power is lost, at which point PANOPTES automatically “parks” the mount (i.e. aims the cameras at the ground).

### How much power is needed? <a href="#how-much-power-is-needed" id="how-much-power-is-needed"></a>

The 12V components of the system draw at most about 100 watt, if they were all drawing their maximum amount… which is not likely. The most power hungry component is the NUC, which is rated to draw up to 65 watts, but in practice draws much less. Based on that, we can estimate that the system will need somewhere around 1 kilowatt hour per day.

### How many solar panels/batteries are needed? <a href="#how-many-solar-panelsbatteries-are-needed" id="how-many-solar-panelsbatteries-are-needed"></a>

This very much depends on the location where the telescope, panels and batteries will be located. Among the considerations are:

1. Latitude - The further the unit is from the equator, the less power will be collected during winter days, yet the winter nights are longer, so the system will be active (moving the mount, taking pictures) for longer.
2. Obstructions - Trees, hills and buildings can all block sunlight from reaching the solar panels, reducing the collecting time.
3. Weather - Cloudy days mean less power will be collected, but those tend to go along with cloudy nights too, so less power would be needed.
4. Temperature - Batteries tend to be most efficient in the range 20℃ to 30℃ (68℉ to 86℉). If the environment is much hotter or colder, batteries don’t perform as well, so more can be needed.

Some of these considerations call for more batteries to be used, some for more solar panels, and some for both. If you’re exploring this, you may wish to consult with a PV system installer or at least an online PV sizing calculator.

### Does it move? <a href="#does-it-move" id="does-it-move"></a>

Yes, the telescope mount has two motors in it, allowing it to aim the cameras at any point in the sky; once aimed properly, it can move the RA axis slowly to track the stars as they move across the sky (i.e. as the earth rotates).

### Do the stars trail in the image? <a href="#do-the-stars-trail-in-the-image" id="do-the-stars-trail-in-the-image"></a>

No, the telescope mount’s purpose is to prevent star trails, allowing us to collect multi-minute exposures without streaks.

### How do you charge the batteries in the camera? Don’t they run out? <a href="#how-do-you-charge-the-batteries-in-the-camera-dont-they-run-out" id="how-do-you-charge-the-batteries-in-the-camera-dont-they-run-out"></a>

During the build, we permanently replace the batteries with an adapter that allows us to supply DC power to the cameras over a cable. This avoids the need to recharge batteries periodically.

### Why don’t you use the cameras to determine if it is cloudy? <a href="#why-dont-you-use-the-cameras-to-determine-if-it-is-cloudy" id="why-dont-you-use-the-cameras-to-determine-if-it-is-cloudy"></a>

The purpose of using the cloud sensor is to enable detecting conditions that would damage the cameras or their lenses. If we pointed the cameras at the sky while it is raining, we’d risk water getting into the lenses, which would likely ruin the lenses permanently.

### Why not just point a cell phone camera (or similar) straight up? <a href="#why-not-just-point-a-cell-phone-camera-or-similar-straight-up" id="why-not-just-point-a-cell-phone-camera-or-similar-straight-up"></a>

While cell phone cameras are improving dramatically, they fundamentally collect fewer photons than larger lens and sensor combinations such as DSLRs. This limits their scientific applicability. That said, we are watching developments in this technology.

## Data Processing <a href="#questions-about-the-processalgorithm" id="questions-about-the-processalgorithm"></a>

### How many stars are in an image? <a href="#how-many-stars-are-in-an-image" id="how-many-stars-are-in-an-image"></a>

PAN001, located on Mauna Loa in Hawaii, can see 10’s of thousands of stars in an image. In more light polluted locations, the sky background will keep us from seeing the dimmer stars that PAN001 can see.

### What happens if stars are too close together? <a href="#what-happens-if-stars-are-too-close-together" id="what-happens-if-stars-are-too-close-together"></a>

PANOPTES won’t be able to measure the brightness of the individual stars unless there is a clear gap between them. Those stars will have to be ignored.

### How long is an exposure? <a href="#how-long-is-an-exposure" id="how-long-is-an-exposure"></a>

For the three units that are operating as of May, 2018, we are using a 2 minute exposure. That may be optimized slightly as we learn more about the data quality at various sites.

### How often do you take pictures? <a href="#how-often-do-you-take-pictures" id="how-often-do-you-take-pictures"></a>

Almost continuously: after each 2 minute exposure the images are analyzed briefly to determine if the tracking of the mount is still good, or if the aim or tracking rate needs to be adjusted. This takes some 5 to 20 seconds to perform (it varies based on the computer used).

### Can this really work with a DSLR? <a href="#can-this-really-work-with-a-dslr" id="can-this-really-work-with-a-dslr"></a>

Yes. Over the years camera sensors have improved greatly, including:

* Higher pixel counts in the same area, which means that stars that used to be too close together to distinguish are now separated.
* More bits per pixel, which means that we can more precisely distinguish between brightness values.
* Lower noise, allowing us to make use of those additional bits per pixel (i.e. with higher noise, the additional bits could just be filled with noise).

These and other improvements have made the modern DSLR an increasingly useful device for science. We would still love to be able to buy a dedicated astronomy camera of similar capability for the same price as a mass-market DSLR, but that isn’t likely any time soon.

### Can this really work with an 85mm lens? <a href="#can-this-really-work-with-an-85mm-lens" id="can-this-really-work-with-an-85mm-lens"></a>

Yes. Combined with the Canon SL1, this lens produces a 10° x 15° field of view, allowing for thousands or 10s of thousands of stars to be captured in each image. The core PANOPTES photometry algorithm depends on having lots of stars in each image for comparison.

### How much data does a PANOPTES telescope produce? <a href="#how-much-data-does-a-panoptes-telescope-produce" id="how-much-data-does-a-panoptes-telescope-produce"></a>

This depends on a variety of factors, including the weather (how clear the night sky is) location of the telescope, the season (i.e. the length of the night), the number of images captured each hour (“the cadence”), the size of the image produced by each camera (based on the number of megapixels), and the number of cameras. Let’s break it down for PAN001, located at 19.5° N in Hawaii:

* On a clear night on the winter solstice, there are around 11 hours of astronomical night.
* With two minute exposures and a 15 second break between exposures, PANOPTES can take around 27 images per hour per camera.
* There are two cameras, for around 54 images per pair of cameras per hour.
* The Canon SL1 is an 18-megapixel camera, from which a FITS format file of about 20 megabytes is produced for each image.

So, 20 MB/image \* 54 images/hour \* 11 hours/night = 11,880 MB/night, or nearly 12 gigabytes. During the summer, the night is shorter, so fewer data will be collected.

### How does it decide where to look? <a href="#how-does-it-decide-where-to-look" id="how-does-it-decide-where-to-look"></a>

Each PANOPTES telescope has a copy of [the target list](https://github.com/panoptes/POCS/blob/develop/resources/targets/simple.yaml), currently focused on well-known exoplanets for the purpose of calibration. [POCS](https://github.com/panoptes/POCS) reads this file at the start of the evening and determines which targets are best positioned for observing (e.g. those that are far enough above the horizon, and that will stay far enough above the horizon for at least 2 hours). POCS calls on [astroplan](https://github.com/astropy/astroplan) for doing the scheduling.

Longer term, we will extend POCS with two additional options: a local override so that the owner of a telescope can easily specify targets without editing that target list; and the ability to fetch targets from a central server (e.g. to refresh the target list, or to learn of high priority targets, such as for performing a TESS follow-up). This fetch will only be useful for those telescopes that also have an internet connection.

### How do we know what part of the sky we should look at? <a href="#how-do-we-know-what-part-of-the-sky-we-should-look-at" id="how-do-we-know-what-part-of-the-sky-we-should-look-at"></a>

As above, the telescope automatically selects targets.

### Can multiple cameras work together to create a better image? <a href="#can-multiple-cameras-work-together-to-create-a-better-image" id="can-multiple-cameras-work-together-to-create-a-better-image"></a>

For the purpose of Project PANOPTES, i.e. finding exoplanets, the observations from each camera (a sequence of images) are processed separately, producing light curves for each star of interest (a brightness measurement at the time of each image). The measurements from multiple cameras of a particular star can be combined; when they are for the same time, the values can be used to determine an average value and an error bar (i.e. we can fit a curve to the set of points).

## Data Results <a href="#questions-about-the-data" id="questions-about-the-data"></a>

### How can I look at my own PANOPTES data, i.e. the images and the resulting light curves from my own PANOPTES unit? <a href="#how-can-i-look-at-my-own-panoptes-data-ie-the-images-and-the-resulting-light-curves-from-my-own-pano" id="how-can-i-look-at-my-own-panoptes-data-ie-the-images-and-the-resulting-light-curves-from-my-own-pano"></a>

The images are stored locally on the telescope (for a while) and are uploaded to Google Cloud Storage for permanent storage and for processing. The images and light curves in Google Cloud Storage will be publicly readable (still TBD). Contact the team for access.

Note that the local storage is typically limited to a few months or weeks of images, so eventually, the locally stored images will need to be deleted to make room for more; how soon that happens varies based on the rate at which the images are being collected and the size of the disk in your system.

### How can I look at someone else’s PANOPTES data? <a href="#how-can-i-look-at-someone-elses-panoptes-data" id="how-can-i-look-at-someone-elses-panoptes-data"></a>

The images and light curves are stored based on the identifier of the PANOPTES unit, so if you know the identifier you can find the data. Again, contact the team for access.


# PANOPTES Units

Someone's gotta build these robots!

All official PANOPTES units receive a designated ID that is used to identify them, such as PAN001. Additionally, some teams choose to give their unit a friendlier name, such as *Cloudy* for PAN006.

Here you can find a list of all the official PANOPTES units as well as a link to the team page, which can include more information, pictures, and anything else the team feels like sharing!


# Contact

How to contact the PANOPTES team.

## User Forum

The best place to look for up-to-date information, try different ideas, or find new friends is to hop on over to our user forum:

{% embed url="<https://forum.projectpanoptes.org>" %}

## Email

Feel free to email us at <info@projectpanoptes.org>. Someone from the core team will respond to you as soon as we can!&#x20;

## Contact Form

Use this handy form to send an email to <info@projectpanoptes.org>.

{% embed url="<https://docs.google.com/forms/d/e/1FAIpQLSeEoqC1vYxAzcp5EBQFGfQAEMgcFKVcz2Oxcat_gTz6cbKXdg/viewform?embedded=true>" %}


# Start Building!

Ready to build a PANOPTES unit? Have a technical question about the setup? Curious about what that even means? This section is for you!

This section of the guide is the primary source for official build and installation instructions related to a PANOPTES unit.

Project PANOPTES provides instructions and a parts list for a complete PANOPTES unit. However, it's important to note that there are potentially many alternative ways to build various parts of the unit as long as the functional requirements are taken into consideration.&#x20;

A good example would be specific weather proofing tips for weather at your site that might not be covered by the official guides. The functional requirements for weatherproofing are:

1. Don't let your PANOPTES unit get ruined by the weather (or bugs!)
2. Weatherproofing materials shot not interfere with the movement of the mount.

We offer a working solution on how to do that with specific tools and hardware, but as long as you are able to satisfy the functional requirements for each section, feel free to explore better (or cheaper!) options.

{% hint style="info" %}
Something unclear? Please post on the forum at <https://forum.projectpanoptes.org/> or email us at <info@projectpanoptes.org>.
{% endhint %}


# Building Overview

A high-level overview of the build process.

## What Does it Take to Build a Robotic Telescope? <a href="#what-does-it-take-to-build-a-robotic-telescope" id="what-does-it-take-to-build-a-robotic-telescope"></a>

The PANOPTES telescope is designed so that all of the parts can be built with relatively inexpensive tools (e.g. a handheld electric drill, a soldering iron and a multimeter), many of which you may already own or have available to you. There is no need for a machine shop, though some operations are easier if you have access to a drill press. Anyone able to safely operate these tools (or learn to do so) should find the process of building the custom components and assembling the telescope to be accessible to them.

{% hint style="info" %}
If you are unsure of how to perform a fabrication step, we encourage you to find a local mentor with greater expertise (e.g. for soldering, you might look for an electrician, electrical engineer, robotics or amateur radio hobbyist).
{% endhint %}

You may also find online tutorials helpful; we provide links in [this document](/build/getting-started/safety-guide) to some tutorials that you may find useful. And please don’t hesitate to post questions on the [PANOPTES Forum](https://forum.projectpanoptes.org/).


# Safety Guide

Tips for safely building a PANOPTES unit.

## Tool Safety and Tutorials

Listed below are a few links to some tutorials that you may find useful.

* How to use wire strippers ([YouTube search](https://www.youtube.com/results?search_query=how+to+use+wire+strippers))
* [How to use a multimeter](https://learn.sparkfun.com/tutorials/how-to-use-a-multimeter)
  * Useful for measuring AC and DC voltages, and also for measuring DC current.
* [How to solder through-hole parts](https://www.youtube.com/watch?v=oqV2xU1fee8)
* [How to splice two wires together](https://www.wikihow.com/Splice-Wire)
  * This is useful if you are fabricating your own long cable from two shorter cables (e.g. attaching two DC pigtails together).
* [Drill safety tips](https://www.memic.com/workplace-safety/safety-net-blog/2018/february/heres-to-portable-power-drill-safety--drilly-drilly)
* [How to drill and tap a hole for a screw](https://www.youtube.com/watch?v=X9VhONdGFFg)
* [How to use a hole saw](https://youtu.be/l73jtEbdkxg)


# Parts Listing

A complete and detailed list with website links to recommended parts for online orders is available [here](https://docs.google.com/spreadsheets/d/1yQbnmR2NGzQuiPA8FbyyL92i5fjItKYdfbAkp2a0TvI/edit?usp=sharing).

{% hint style="info" %}
Check all notes in [Mount and Pier](/build/hardware/mount-and-pier) and [Pier](/build/hardware/mount-and-pier/pier) before purchasing the mount and the parts for the pier.
{% endhint %}

We suggest you make an editable copy of the file for your build. The links for purchasing the parts, by default, are sellers in the USA. You will need to look for similar products in your local market if you are outside the USA.

You may sometimes not find the exact parts listed in the file available at your location, or because some of the electronic parts are now obsolete and replaced by newer models in the market. In such cases, the parts can be replaced with similar models. If in doubt about compatibility, leave a post on the [PANOPTES forum](https://forum.projectpanoptes.org/) or contact us at <info@projectpanoptes.org> for alternate part suggestions.

{% content-ref url="/pages/-MEsp4xFOedrGy8LLRx0" %}
[Camera Box](/build/hardware/camera-box)
{% endcontent-ref %}

{% content-ref url="/pages/-MEspIPX8qSAnApHO-5n" %}
[Control Box](/build/hardware/control-box)
{% endcontent-ref %}

{% content-ref url="/pages/-MEspM\_FRyZ38mGsUMEy" %}
[Mount and Pier](/build/hardware/mount-and-pier)
{% endcontent-ref %}


# Hardware

Instructions for the construction of a PANOPTES unit.

This document provides an overview of the process of building, testing, deploying, and running a Project PANOPTES Robotic Telescope (a “unit”).&#x20;

A PANOPTES unit consists of the following components:

<table><thead><tr><th width="209">Component</th><th>Use</th></tr></thead><tbody><tr><td>Control box</td><td>Contains the “brains” of the unit, a Raspberry Pi running our POCS software. Also contains the power distribution and control.</td></tr><tr><td>Camera box</td><td>Holds the DSLR camera to take photos of the night sky. Attached to the mount.</td></tr><tr><td>Mount</td><td>Precisely tracks stars so the cameras can take long exposure photos.</td></tr><tr><td>Pier</td><td>A rigid frame for the mount that minimizes vibrations as the mount moves.</td></tr></tbody></table>

{% hint style="info" %}
Note that there isn’t a single design for the PANOPTES telescope, and therefore not a single document with instructions for building the telescope. Based on feedback from builders of the telescope and on changes in available parts, the team develops new designs for selected components (e.g. a narrower pier for supporting the mount, or a wider camera box to allow for larger DSLR cameras) and updates the documents frequently.
{% endhint %}

The documents provide detailed instructions on exactly how to build each component, but there is in fact considerabe room for adjusting the design to suit local conditions (e.g. in the event that you can’t get some of the parts we’ve specified).&#x20;

If you plan to, or need to, make such changes, please discuss them on the [PANOPTES Forum](https://forum.projectpanoptes.org/) so that we can determine together the impact of your changes; for example, changing the bolts used to connect the camera mounting plates from metric to imperial will make no difference, while changing the kind of microcontroller will likely require that the software be changed to work with the new microcontroller.

The build instructions for a PANOPTES unit are divided into a number of logical sections, with some sections depending on each other.


# Control Box

The control box is a weatherproofed case that encloses the control electronics of a PANOPTES unit. The control box has cables entering it for internet access and mains power (i.e. electricity: AC 120V/60Hz in much of the Americas, AC 240V/50Hz in most of the rest of the world). The components of a PANOPTES unit require DC electricity at 12V or lower, so the mains power is delivered to a Power Supply Unit (PSU) that performs the conversion and also provides a battery backup.

The current design consists of an AC-DC supply to convert mains to 12V, a 12 V battery to power the unit for a safe shut down in the event of a power outage, a power distribution board attached to an Arduino Uno, a Raspberry Pi, ethernet cable, a cooling fan, and optional temperature and humidity sensors.&#x20;

The power distribution board distributes the 12V to the Raspberry Pi and the cooling fan inside the box, and also to the weather station, mount, and camera box outside the control box.

## Control Box Parts

{% hint style="info" %}
The list below may be incomplete and is only meant to give an idea of the parts involved in building a PANOPTES unit. For a complete and detailed list with website links to recommended parts for online orders, check the following [link](https://docs.google.com/spreadsheets/d/1yQbnmR2NGzQuiPA8FbyyL92i5fjItKYdfbAkp2a0TvI/edit?usp=sharing).
{% endhint %}

### Electronics

{% tabs %}
{% tab title="Electronics - Introduction" %}
{% embed url="<https://youtu.be/px6P8LSd0NI>" %}
{% endtab %}

{% tab title="Electronics - Parts" %}
![](/files/YWUE3pYkkyzUxPFcMWce)
{% endtab %}

{% tab title="Electronics - Labeled" %}
![](/files/K2gx9TVqGLLmgZYKq2dF)
{% endtab %}
{% endtabs %}

### Hardware

{% tabs %}
{% tab title="Hardware - Introduction" %}
{% embed url="<https://youtu.be/ogvJJwokwYw>" %}
{% endtab %}

{% tab title="Hardware - Parts" %}
![](/files/xnpW9d89tu5SXKpTBWco)
{% endtab %}

{% tab title="Hardware - Labeled" %}
![](/files/dXVTAd4egl4g4GmiEev3)
{% endtab %}
{% endtabs %}


# Electronics

## STEP 1: Remove the mounting plate from the control box

## STEP 2: Decide the layout of the electronics on the mounting board

{% hint style="info" %}
The 12V battery is not shown in the video below. Remember to leave space near the MeanWell PSU for the battery.
{% endhint %}

{% embed url="<https://youtu.be/VVoXMbO2Mqs>" %}

## STEP 3: Assemble and connect the electronics as per the following wiring video

{% tabs %}
{% tab title="Wiring" %}
{% hint style="danger" %}
**Do not plug the AC cable into the wall mains AC outlet during the build and assembly process.**
{% endhint %}

{% embed url="<https://youtu.be/Uq_ytlCmLIw>" %}

{% hint style="info" %}
MicroSD card to be inserted in Raspberry Pi after PANOPTES software installation is not shown in the video above.
{% endhint %}
{% endtab %}

{% tab title="AC OK & Bat OK " %}
{% embed url="<https://youtu.be/dSOnSzdWJH4>" %}
{% endtab %}

{% tab title="AC Mains" %}
{% hint style="danger" %}
**Do not plug the AC cable into the wall mains AC outlet during the build and assembly process.**
{% endhint %}

{% embed url="<https://youtu.be/44cPllhl0Zc>" %}

{% embed url="<https://youtu.be/hY5GSvpSJ_I>" %}

{% embed url="<https://youtu.be/P0WmmQPzKCw>" %}

{% embed url="<https://youtu.be/6_JqZcyy0vU>" %}

* Open the screw terminal on the AC/DC converter (MeanWell) using a screwdriver.
* Insert the bare end of each of the wires into their appropriate terminals, one at a time.
* Close the terminal with the screwdriver, clamping the bare wire into the terminal.

![](https://lh5.googleusercontent.com/ksIWMI1g9pplCMgWntJmrx_7aYh8CqPaKesHviSoj-cQP0DKKtibhvX9KeSKr3YltfkGwGLIntGDFAtxA-5362ovaYNqL2feJI_3LXjeGqFJ2McJjaCTOhhIhgKUJ0k7XFlRdJH72yptlVTtqUdJ4w)

{% hint style="danger" %}
**We want the insulation to end just before the clamp so that there is little risk of an electrical short, but not so far in that the screw terminal is actually clamping the insulation and not the wire.**
{% endhint %}
{% endtab %}

{% tab title="Battery" %}
{% embed url="<https://youtu.be/Gf2Uus7OKus>" %}

{% embed url="<https://youtu.be/ZSliXAonuqA>" %}

{% embed url="<https://youtu.be/VHqYlI7Y20M>" %}

{% embed url="<https://youtu.be/yJBUuXc_oCk>" %}

{% embed url="<https://youtu.be/TvoWHv2qsd0>" %}
{% endtab %}
{% endtabs %}

### Tips to secure different electronic components

{% tabs %}
{% tab title="Using Cable Ties and Standoffs" %}
{% embed url="<https://youtu.be/Y4bU8RICOP4>" %}
{% endtab %}

{% tab title="Arduino & Power Distribution Board" %}
{% embed url="<https://youtu.be/DLAwy6dc_PE>" %}
{% endtab %}

{% tab title="DC-DC Converter" %}
{% embed url="<https://youtu.be/lkZETZbGoeE>" %}
{% endtab %}

{% tab title="Raspberry Pi & GrovePi+" %}
{% embed url="<https://youtu.be/ZHFEf-dHX1g>" %}

{% hint style="info" %}
The MicroSD card will later be installed with Ubuntu and the PANOPTES software (POCS). Make sure the MicroSD card is accessible and easy to take out while securing the Raspberry Pi.
{% endhint %}
{% endtab %}
{% endtabs %}


# Hardware and Assembly

## STEP 1: Marking holes for drilling

{% hint style="info" %}
[Tips and safety measures for using a drill](/build/getting-started/safety-guide)
{% endhint %}

{% embed url="<https://youtu.be/AOSZDbMDsnA>" %}

## STEP 2: Assemble the control box

{% tabs %}
{% tab title="Electronics board" %}
{% embed url="<https://www.youtube.com/watch?v=Ss4sjVvofI4>" %}
{% endtab %}

{% tab title="Cooling Fan" %}
{% embed url="<https://youtu.be/5oWZapEgrGU>" %}
{% endtab %}

{% tab title="AC Mains" %}
{% hint style="danger" %}
**Do not plug the AC cable into the wall mains AC outlet during the build and assembly process.**
{% endhint %}

{% embed url="<https://youtu.be/TQxI1Z95f1A>" %}
{% endtab %}
{% endtabs %}


# Network Setup

Setting up the router.

A PANOPTES unit uses a mini router to provide a consistent experience for all users.  This router allows for a wired connection to the control computer as well as a wireless network that can be used for other devices.

Using the router means that you can create a mini network that will stay the same for both the build as well as the final installation. &#x20;

## Hardware

![The back of the GLiNet router, showing the IP address and SSID.](/files/-MJnrvyJhHHCDWslhmE_)

## Configuration

{% embed url="<https://www.youtube.com/watch?v=yiUWSZG5hik>" %}


# Power Distribution

After converting the mains power to a 12V system, this guide describes how to set up the distribution system so you can power the different components.

## Introduction

The power distribution board on a PANOPTES unit is composed of an [Arduino Uno](https://store.arduino.cc/usa/arduino-uno-rev3) and an [Infineon 24V relay shield](https://www.digikey.com/en/products/detail/infineon-technologies/24VSHIELDBTT6030TOBO1/6212672) (referred to as the "trucker board" because of it's intended use in the automotive industry).

The trucker board is attached directly to the Arduino Uno as a "shield" and is controlled by the software on the Arduino (called a "sketch").&#x20;

{% hint style="info" %}
The Infineon board is a capable of handling 24V and is officially called a "24V Protected Switch Shield" but works just as well for 12V.
{% endhint %}

## Functional Requirements

The primary purpose of the power distribution is to provide 12V DC power for each of the PANOPTES subcomponents (mount, camera box, weather station, and fan) as well as the ability to independently power-cycle each channel. The recommended solution is to use the Arduino/Infineon "trucker" board combination described below.

| Requirement                        | Provided by                       |
| ---------------------------------- | --------------------------------- |
| Five (5) channels of 12V DC power. | Arduino/Infineon "trucker" board. |
| Power-cycle for each channel.      | Arduino/Infineon "trucker" board. |

## Assembly

The Infineon relay shield attaches directly to the Arduino Uno, as demonstrated in the following short video:

{% embed url="<https://youtu.be/TzEG_CmfP44>" %}
Quick demonstration of attaching the Infineon shield.
{% endembed %}

## Wiring

See the following video for the complete wiring of the Control Box, including the Power Distribution:

{% embed url="<https://youtu.be/Uq_ytlCmLIw>" %}

## Software

For instructions on installing the software for the power distribution board, see the [Arduino Software - Power Distribution](/build/software/installation/power-distribution-arduino-software) page:

{% content-ref url="/pages/-MLzUaMtH\_uvWa-TaKbg" %}
[Installing PowerBoard](/build/software/installation/power-distribution-arduino-software)
{% endcontent-ref %}


# Camera Box

A protective box holds two DSLR cameras used to image the night sky and their supporting electronics. The cameras are entry-level Canon DSLRs with Rokinon 85mm f/1.4 lenses. This provides a large field of view: 15 degrees x 10 degrees; as a result, a typical image of the night sky can contain 10,000 stars.&#x20;

Note that the use of two cameras is not related to binocular vision. It provides us with more images to process, but at a lower cost than one camera with a larger lens with twice the light gathering of the two smaller lenses.

The box has two holes to expose the lenses for imaging, which are the “eyes” of the unit. When not in use, the equatorial mount rotates the box so that the eyes are looking down at the ground to help keep it dry and safe.

## Camera Box Parts

### Electronics

{% tabs %}
{% tab title="Electronics - Introduction" %}
{% embed url="<https://youtu.be/9a8i9c7ysEo>" %}
{% endtab %}

{% tab title="Electronics - Parts" %}
![](/files/j1JBsBQM1G03wT8oii5R)
{% endtab %}

{% tab title="Electronics - Labeled" %}
![](/files/VaEETjrOUIpbLmZj5lLl)
{% endtab %}
{% endtabs %}

### Hardware

{% tabs %}
{% tab title="Hardware - Introduction" %}
{% embed url="<https://youtu.be/O3J4TAEN3zw>" %}
{% endtab %}

{% tab title="Hardware - Parts" %}
![](/files/-MUCM_joX0Lrs816AxU9)
{% endtab %}

{% tab title="Hardware - Labeled" %}
![](/files/-MUCMh45nxsUIkQDFV4K)
{% endtab %}
{% endtabs %}


# Camera Setup

This page lists the camera settings to check before securing the camera inside the camera box.

The settings mentioned here are specific to Canon EOS 2000D/Rebel T7.  Look for the corresponding settings if you are using a different DSLR camera.

## STEP 1: Camera Settings

### Camera body

On the top of the camera is the Mode Dial wheel, which should be set to **M** for Manual mode.&#x20;

### Menu 1

Available via the Menu button.

| Setting                            | Value   |
| ---------------------------------- | ------- |
| Image quality                      | Raw     |
| Beep                               | Disable |
| Image Review                       | Off     |
| Peripheral illumination correction | Disable |
| Red eye reduction                  | Disable |
| Flash control: Flash firing        | Disable |

### Menu 2

| Setting                 | Value       |
| ----------------------- | ----------- |
| Exposure compensation   | 0           |
| Auto lighting optimizer | Disable-Off |
| Color space             | sRGB        |

### Menu 4

| Setting         | Value   |
| --------------- | ------- |
| Live view shoot | Disable |

### Menu 7

| Setting        | Value   |
| -------------- | ------- |
| Auto power off | Disable |
| Auto rotate    | Off     |

## STEP 2: Attach Lens to the Camera Body

{% embed url="<https://youtu.be/3MRLN0t-UHE>" %}

## STEP 3: Lens Aperture Setting and Focus

Set to manual focus.

The aperture for the camera should be set at 1.4, or all the way "open," in order to catch as much light as possible. Once set the aperture should not have to change.

The video below describes both the setting of the aperture and how to focus the camera.

{% hint style="info" %}
This page describes the permanent settings for the camera that should be done while building.&#x20;

See [Camera Focus](/build/deploy/camera-focus) for details on focusing the camera during [deployment](/build/deploy).
{% endhint %}

{% embed url="<https://youtu.be/dLHJLSKK9B8>" %}

## STEP 4: Focus Creep Band

Once the lens aperture and focus are set, carefully place the lens band to avoid focus creep over time.  The lens band should stretch partially over the focusing ring and a static part of the lens, as shown below.

{% embed url="<https://www.youtube.com/watch?v=DQDh2lDCy-Q>" %}

{% hint style="info" %}
The cameras will need to be refocused during deployment.

See [Camera Focus](/build/deploy/camera-focus) for details on focusing the camera during [deployment](/build/deploy).
{% endhint %}

## **STEP 5:  Cover Viewfinder**

Prevents any stray light from leaking into the viewfinder.

{% embed url="<https://www.youtube.com/watch?v=BtcZ2EvxxwU>" %}


# Electronics

How to configure the electronics inside the camera box.

## STEP 1: Set up the camera electronics

{% tabs %}
{% tab title="Camera" %}
{% embed url="<https://youtu.be/-7vbrFulfAM>" %}
{% endtab %}

{% tab title="Battery" %}
{% embed url="<https://www.youtube.com/watch?v=Y40hI29fu7o>" %}
{% endtab %}
{% endtabs %}

## STEP 2: Remove the mounting plate from the camera box

{% embed url="<https://youtu.be/lGWbvZeKWfI>" %}

## STEP 3: Decide the layout of the electronics on the mounting board

{% embed url="<https://youtu.be/G_W03L_WEwg>" %}

## STEP 4: Assemble and connect the electronics as per the following wiring video

{% tabs %}
{% tab title="Electronics" %}
{% embed url="<https://youtu.be/2NVGhFg4f9w>" %}
{% endtab %}

{% tab title="Add On - Camera Shutter Trigger" %}
{% embed url="<https://youtu.be/SsRflHEZrvA>" %}

{% hint style="warning" %}
The image shown in the center at the end of the above video is for reference on how the wires are soldered. When soldering those individual wires to the transistor, make sure to use a heat shrink to cover each solder connection. A bigger heat shrink can then be used over the entire part to secure the connections (image on right at the end of the video).
{% endhint %}

{% embed url="<https://youtu.be/uqEAzrRYw48>" %}
{% endtab %}

{% tab title="Add On - Grove Pi & Sensors" %}
{% embed url="<https://youtu.be/ijQFlrYl7mY>" %}
{% endtab %}
{% endtabs %}

### Tips to secure different electronic components

{% tabs %}
{% tab title="Using Cable Ties" %}
{% embed url="<https://youtu.be/51P9Gw-_ctI>" %}
{% endtab %}

{% tab title="Terminal Block" %}
{% embed url="<https://youtu.be/Uc1e16wN-5Y>" %}
{% endtab %}

{% tab title="DC-DC Converters" %}
{% embed url="<https://youtu.be/Xb6OEKO9hdE>" %}
{% endtab %}

{% tab title="Raspberry Pi" %}
{% embed url="<https://youtu.be/Jq7zXKaYhYY>" %}

{% hint style="info" %}
The MicroSD card will later be installed with Ubuntu and the PANOPTES software (POCS). Make sure the MicroSD card is accessible and easy to take out while securing the Raspberry Pi.
{% endhint %}
{% endtab %}

{% tab title="Relay" %}
{% embed url="<https://youtu.be/Uw4f-tQ_o88>" %}
{% endtab %}

{% tab title="GrovePi+" %}
{% embed url="<https://youtu.be/lAH9e4BI4iY>" %}
{% endtab %}
{% endtabs %}


# Hardware and Assembly

How to physically put all the camera parts together inside the box.

## STEP 1: Mark and drill the first set of holes

{% hint style="danger" %}
Make sure to read the [Tips and safety measures for using a drill](/build/getting-started/safety-guide).
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=zflhQgUrmg8>" %}

## STEP 2: Find the centre of gravity

{% embed url="<https://youtu.be/pRRpVYvAe8U>" %}

## STEP 3: Drill the second set of holes

{% embed url="<https://www.youtube.com/watch?v=ZmpjBV8hEV8>" %}

## STEP 4: Final camera box assembly

![](/files/uqhmMTaNPuPLxDw8evDg)

![](/files/Rk8LUvFNzGkB17H9JQZw)

![](/files/I6cC2U84TXgwgYq8swQJ)


# 4 Camera Design

This is an optional upgrade for builders wanting to upgrade their 2 camera PANOPTES unit to a 4 camera PANOPTES unit.

## Hardware Parts

#### Upgrading your PANOPTES unit from a 2 camera system to a 4 camera system?

The parts for the additional camera box and hardware for mounting are listed in the second tab in this [link](https://docs.google.com/spreadsheets/d/1yQbnmR2NGzQuiPA8FbyyL92i5fjItKYdfbAkp2a0TvI/edit?usp=sharing).

{% tabs %}
{% tab title="Hardware Parts" %}
{% hint style="info" %}
These are the additional hardware parts you need apart from a second fully built camera box.
{% endhint %}

![](/files/EpYs46oaVRDCoPLh0psh)
{% endtab %}

{% tab title="Labeled" %}
![](/files/2hPWd9khdN4FPMDuI2ua)
{% endtab %}
{% endtabs %}

#### Directly building a PANOPTES unit with 4 cameras?&#x20;

If you plan on directly building a 4 camera unit, buy the parts listed in the first and second tab of this [link](https://docs.google.com/spreadsheets/d/1yQbnmR2NGzQuiPA8FbyyL92i5fjItKYdfbAkp2a0TvI/edit?usp=sharing), except for the vixen style dovetail listed in the first tab.

## Hardware Assembly

### Step 1: Attach 3090 Extrusion to Losmandy

The 0.250 inch central holes (colored in red) on the Losmandy match up with the M8 tapped holes on the 3090 aluminum extrusion. The extrusion can be attached to the Losmandy at these holes that line up, using M6 to M8 self-tapping helicoils.

![](/files/kptShDBICD9jhgEvdAmv)

Use threadlocker to secure the helicoils in place, before further assembly.

![](/files/zdAMOlS7J0dnCINo9239)

![](/files/y8f2yWRMiqgLC2c4qXIR)

Attach the extrusion to the Losmandy plate using low profile hex socket screws.

<img src="/files/l6JmOuUNUBKZbBZIiGHb" alt="" data-size="original">

![](/files/yTQGKn6jeOAsIBqoWzZN)

### Step 2: Attach camera boxes

![](/files/u0aLz64zYpBroYCVRHlt)<img src="/files/UV60dMske68eyKy1MWNL" alt="" data-size="original">

![](/files/p2KYIYKZ81NJrKdS72wu)

![](/files/dT6Rz1Vk4xryYwzkq4jW)

![](/files/o7djgMSkn49Ouk77sMJD)

![](/files/ctCDBO64EohK8ONIZSvn)


# Mount and Pier

The documentation describes the steps involved in building a pier to support an equatorial mount and the camera box.

Once assembled, the mount and pier will look something like this:

![](/files/BN55240eq2XGyyGrqoGA)![](/files/bc18ulQxDlUtwBgcK81f)

{% hint style="info" %}
The pier parts listed and the fabrication described in the pages that follow are specific to an iOptron CEM40 mount. If you plan on using any other equatorial mount, the size and the mechanical fabrication of the top plate of the pier will be different.
{% endhint %}


# Pier

The mount is placed on a custom fabricated aluminum pier in case of permanent installations. The pier itself is attached to an aluminum base plate that is mounted on a concrete slab with anchor bolts for stability. The pier is used to provide stability and to raise the mount and camera box off the ground to avoid any local obstacles in the field of view.

{% hint style="info" %}
The list below is only meant to give an idea of the parts involved in building a PANOPTES unit. For a complete and detailed list with website links to recommended parts for online orders, check the following [link](https://docs.google.com/spreadsheets/d/1yQbnmR2NGzQuiPA8FbyyL92i5fjItKYdfbAkp2a0TvI/edit?usp=sharing).
{% endhint %}

## Hardware

{% tabs %}
{% tab title="Hardware Parts" %}
![](/files/wO1Ok5Yw9m9oasOJdECj)

{% hint style="info" %}
The additional support plate is not shown here.
{% endhint %}
{% endtab %}

{% tab title="Labeled" %}

<figure><img src="/files/d70Jf7hj1qexS6I2LQy6" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

{% hint style="info" %}
The pier parts and the design described in the following pages is suitable for a site with a clear view of the sky with no obstructions nearby, see [Site Planning](/build/deploy/site-planning). If your site has obstructions you will need to redesign the pier to suit your site, as shown below.
{% endhint %}

<img src="/files/eC24Ln6r9rEZIy9VrymI" alt="" data-size="original">![](/files/Xco5U3ewa9YpWeHOd7Nw)


# Fabrication

## Top plate

{% hint style="info" %}
The top plate shown below is designed to hold an iOptron CEM40 mount. If you plan on using any other mount, you will need a top plate of suitable dimensions and design it to hold your mount.
{% endhint %}

{% tabs %}
{% tab title="Machinist Drawing" %}

<figure><img src="/files/f68o4dD1Jgi095c6elNr" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Simple Drawing" %}

<figure><img src="/files/j2FCYvMn7sLiP3cosQaf" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Final Product" %}

<figure><img src="/files/ovklcd655MX3UNaiSYaK" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Bottom Plate

{% tabs %}
{% tab title="Machinist Drawing" %}

<figure><img src="/files/YY7jmbbz5C5UEAjJlj85" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Second Tab" %}

<figure><img src="/files/f5SO9TnnisNEtKRThnkz" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Final Product" %}

<figure><img src="/files/CQDEGU0MWC6kmCeARPYQ" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Support plate

This is an optional but recommended step, especially if your PANOPTES unit will be deployed at a site with moderate to high winds. The aluminum extrusions listed for the pier are lightweight with minimal size requirements. However, the pier is too lightweight for high wind sites, causing the pier to yaw and twist under high wind conditions. We recommend adding an aluminum support plate (as shown below) or buying extrusions of a larger width that is best suited to your site.

<figure><img src="/files/snIZMz40TqwxOKl8h1mz" alt=""><figcaption></figcaption></figure>


# Assembly

## Whole pier

<figure><img src="/files/rZkSaTK1ocq2GL3D94fM" alt=""><figcaption></figcaption></figure>

## Top plate

<figure><img src="/files/YkOzi3p7VliDCT3BTJUL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/k32ETyyPdLEJyXQTb7SR" alt=""><figcaption></figcaption></figure>

## Bottom plate

<figure><img src="/files/EpbmaToRvrrKPts0qWkL" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/xdGTQT4bslaOZOSi7i4n" alt=""><figcaption></figcaption></figure>


# Mount

The camera box is placed on an equatorial mount, with both receiving a DC power supply from the control box. An equatorial mount compensates for the Earth's rotation by rotating in the opposite direction on an axis parallel to the Earth's axis of rotation.&#x20;

We are currently shifting to center-balanced equatorial mounts over traditional German equatorial mounts. The center-balanced equatorial mounts offer greater stability and are optimized for a maximum payload to a minimum mount weight ratio. We use an iOptron CEM40 mount, which offers a low periodic error of < 7 arcseconds. This means that any given star should not move more than one pixel on the image.

<figure><img src="/files/5zcLg3LMMUjgeZ4SX2gL" alt=""><figcaption></figcaption></figure>


# Assembly

## Mount Assembly Parts

<figure><img src="/files/rgIan6aX5kMzBVzSHZYj" alt=""><figcaption></figcaption></figure>

{% tabs %}
{% tab title="Pins, Pegs and Screws" %}

<figure><img src="/files/5HNopBb0KxLRXrL30y37" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Labeled" %}

<figure><img src="/files/MM0rvIAB59xKtLeludVQ" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Position of the pins, pegs and screws on pier top plate

<figure><img src="/files/2Ry9aTAz8eikglR6wvbO" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GJN1VYmQ2JTbYS7vv9da" alt=""><figcaption></figcaption></figure>

## Step 1: Attach central pin to pier top plate

<figure><img src="/files/ZAFpyYNlECMd2uDk0XBK" alt=""><figcaption></figcaption></figure>

![](/files/YEh5ibtXLuH8Ad0Tc7gD)![](/files/JlXxFNutBQkfyomxWKTP)

## Step 2: Attach alignment peg to pier top plate

<div align="left"><figure><img src="/files/TCTjGzPOvnDSDEPXnsJ1" alt=""><figcaption></figcaption></figure></div>

The alignment peg is the North facing edge of the pier.

## Step 3: Place mount on pier

<figure><img src="/files/lw51h5AxJ6Q4OJV1zt5u" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/a5FdmFUi75TC5qqyAmoP" alt=""><figcaption></figcaption></figure>

## Step 4: Azimuth locking screw

Secure the mount in place with the Azimuth locking screws.

<figure><img src="/files/2OWvarqLuz5TYZBMECTg" alt=""><figcaption></figcaption></figure>

## Step 5: Check latitude range on mount

The iOptron CEM40 mount has two latitude ranges, 0—35° and 25—60°.

<figure><img src="/files/DLAlCmoGeicWttlKufR8" alt=""><figcaption></figcaption></figure>

Pick the latitude range most suitable to your site's latitude. To change the latitude range, unthread and remove the 'position bolt' to its new location. Adjust the 'latitude adjustment knob' while holding the brass eyebolt until it lines up with the 'position bolt'. Secure the 'latitude position bolt'.

<figure><img src="/files/RNuNO0UcKMW0g2jOGxQt" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7y607vKSi1ZYM1Y401xK" alt=""><figcaption></figcaption></figure>


# Saddle Plate Rotation

Certain mounts (like the iOptron CEM40) might require their top plate to be rotated so the camera boxes face North when teh mount is set to its zero position.

## Step 1: Find zero position

The `Zero` position (aka `Home` position) on an equatorial mount is the position at which the counterweight shaft points to the ground, the telescope is at the highest position with its axis parallel to the polar axis and the telescope is pointing to the celestial pole.

<figure><img src="/files/VPnLHtPB7vlbCcBm07aO" alt=""><figcaption></figcaption></figure>

Plug in the 12V DC power supply to the DC12V power socket. Connect the hand controller to the HBX port on the mount side panel. Turn the mount power on.

<div align="left"><figure><img src="/files/kydnNgFwL9XrA9OimBaq" alt=""><figcaption></figcaption></figure></div>

Go to `zero position` in the hand controller and select `search zero position`. The mount will start to slew slowly to search and set the mount to the `Zero` position. When the mount has found the `Zero` position, the hand controller will ask if you want to `calibrate the zero position`. Press enter to confirm. Make a note of the North facing side of the mount top plate.

&#x20;

<figure><img src="/files/CHcB4Kev6uRmIYFnckir" alt=""><figcaption></figcaption></figure>

The way the camera box hardware is designed, the cameras would face 90 degrees away from the celestial pole when the mount is at the `Zero` position.

<figure><img src="/files/wYdbaBwvhUIykHtlgbki" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
If your camera box is facing in the direction of the celestial pole at the zero position, you can skip doing the mount saddle plate rotation as described below.
{% endhint %}

The saddle plate of the mount needs to be mechanically rotated by 90 degrees (as shown below) so the cameras are facing North when the mount is at `Zero` position.

<figure><img src="/files/IiP3vqmrkpKKpM3H01xY" alt=""><figcaption></figcaption></figure>

## Step 2: Rotate saddle plate

Turn off the mount. Disconnect the power supply. Remove the screws in the order shown below, rotate the saddle plate, and reassemble the top plate.

<figure><img src="/files/nahQw1hejACwHj4bsvNG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bxwzxMvGKOCkA2zAYBed" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Make a note of which cable corresponds to which port.
{% endhint %}

<figure><img src="/files/ZAJdNcJRt5yf6vgHIYNN" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Only the four center screws need to be removed in order to remove the saddle.
{% endhint %}

{% hint style="warning" %}
The screws holding the saddle in place might be tight. It's best to have someone firmly grip the saddle while attempting to unscrew otherwise it's possible to rotate the saddle itself, which will cause the internal gears to grind against each other.
{% endhint %}

<div align="left"><figure><img src="/files/hUoY6wmWa1aaKStMNmhW" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="/files/IMO2EmWGL91vtX2wXnv9" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Be careful when re-attaching the screw on the underside (see image below). If you screw it in all the way it has the potential to grind against the underside of the saddle plate.
{% endhint %}

<figure><img src="/files/e01rAJExztDEuiCZMyrh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jrsdG7dCVoZV3jWrqWyy" alt=""><figcaption></figcaption></figure>

Put back all screws and reassemble the saddle plate.

{% hint style="info" %}
The small box that has the wires can be re-attached on either side of the saddle plate.
{% endhint %}

## Step 3: Test new `Zero` position

Plug in the 12V DC power supply to the DC12V power socket. Connect the hand controller to the HBX port on the mount side panel. Turn the mount power on.

Go to `zero position` in the hand controller and select `search zero position`. The mount will start to slew slowly to search and set the mount to the `Zero` position. When the mount has found the `Zero` position, the hand controller will ask if you want to `calibrate the zero position`. Press enter to confirm. Check to see if the new `Zero` position is rotated by 90 degrees compared to the `Zero` position seen in [#step-1-find-zero-position](#step-1-find-zero-position "mention").

<div align="left"><figure><img src="/files/4EsL7NuJtMhfVyhO6rlZ" alt=""><figcaption></figcaption></figure></div>


# Balancing

How to balance a German Equatorial mount

## Step 1: Install counterweight shaft

Thread the counterweight shaft into the counterweight shaft mounting house.

<figure><img src="/files/3D0kVb7q7ubi5G05mmnI" alt=""><figcaption></figcaption></figure>

The counterweight shaft is designed to counter balance the mount’s own weight (as shown below).

<figure><img src="/files/AHixXWJWOi5DXeyE0Oca" alt=""><figcaption></figcaption></figure>

## Step 2: Install counterweight

Counterweights help balance the load attached to the mount, the camera box in this case.

{% hint style="info" %}
Before putting on the counterweight, make sure the mount is at its zero position, i.e., the counterweight shaft pointing to the ground (as shown below).
{% endhint %}

<figure><img src="/files/wocPanykPLm9PKynHI77" alt=""><figcaption></figcaption></figure>

Disengage the R.A. gear switch to set the R.A. axis free before loading the counterweight.

<figure><img src="/files/tXkKYJtlqpIvMOz7zwOh" alt=""><figcaption></figcaption></figure>

Remove the counterweight safety cap at the end of counterweight shaft.&#x20;

<figure><img src="/files/VbqWRtZtbwDEtrAo2xrV" alt=""><figcaption></figcaption></figure>

Glide the counterweight over the shaft with the larger hole opening facing down. Tighten the counterweight locking screw to hold the counterweight in place.&#x20;

<figure><img src="/files/SxlyUD6fIciERN1RWPM4" alt=""><figcaption></figcaption></figure>

Place the counterweight safety cap back onto the shaft. Move the counterweight to the bottom of the shaft and tighten the counterweight locking screw. Re-engage the R.A. gear switch.

{% hint style="info" %}
Never operate the mount with only the counterweight or only the load on it. It may damage the precision engineering of the mount drive system.
{% endhint %}

## Step 3: Attach camera box

Loosen the locking block on the vixen dovetail saddle of the mount.&#x20;

<figure><img src="/files/Pj9ia7qvyOGzJSxSzaRy" alt=""><figcaption></figcaption></figure>

Slide the camera box vixen dovetail onto the mount saddle and lock tighten the locking block to secure the camera box. The cameras should face the side with the counterweight shaft when mount is set to the zero position.

<figure><img src="/files/bYu0vmEI04WQzRvzfkNA" alt=""><figcaption></figcaption></figure>

## Step 4: Balance the mount

Balancing the weights help optimize the performance of an equatorial mount for smooth and precise motions. Balancing the mount is an essential part of being able to track the night sky properly. As you are building your unit you may have to re-balance the mount a number of times as more weight is added to the camera box or every time the camera box is removed and placed back on the mount.

As part of the [final deployment](/build/deploy) the mount must be balanced before attempting to do a polar alignment.

{% hint style="warning" %}
Be careful when releasing the clutches on the mount as it is possible for the mount to swing rapidly if the balance is off and there is the potential for causing damage.

Always keep one hand on the head of the camera box until you are comfortable with how the mount will move with the clutches released.
{% endhint %}

{% embed url="<https://youtu.be/mA3uH9C8UNo>" %}


# Weather Station

Is it raining?

## AAG CloudSensor

The AAG CloudSensor requires power and a serial-to-usb connection to the control box.

### Configuration

The weather sensor has two types of configuration, there first is by changing the internal parameters of the AAG itself and the second is to change what is considered "safe" by the system.&#x20;

#### Internal&#x20;

Ideally you shouldn't need to change the internal parameters. If you are having any issues, see the website and user manual for your specific product.

{% embed url="<https://lunaticoastro.com/>" %}

#### Thresholds

The thresholds for the system are how POCS determines whether or not the system is "safe".  You can view the current settings for these values with:

```
pocs weather config
```

These values are set in the configuration file (i.e. `~/conf_files/pocs_local.yaml`):

```yaml
  weather:
    auto_detect: True
    safety_delay: 15    # minutes from bad reading until safe again
    capture_delay: 60   # seconds between taking measurements
    num_readings: 5     # number of readings to average for each measurement
    thresholds:
      cloudy: -25       # Cloudy threshold in delta degrees C
      very_cloudy: -15  # Very cloudy threshold in delta degrees C
      windy: 50         # Windy threshold in km/h
      very_windy: 75    # Very windy threshold in km/h
      gusty: 100        # Gusty threshold in km/h
      very_gusty: 125   # Very gusty threshold in km/h
      wet: 2200         # Ohms of resistance in rain sensor (lower is wetter)
      rainy: 1800       # Ohms of resistance in rain sensor (lower is wetter)
```

### Readings

You can get the current weather readings by using:

```
pocs weather status
```

The readings for the weather station are stored in the database, which by default is just a json file in the `~/json_store/panoptes` folder.  You should be able to find a `current_weather.json` file if the service is working correctly.  You can watch this file change by entering the following in a terminal, which should show the same thing as the above command:

```bash
tail -F ~/json_store/panotpes/current_weather.json | jq
```

### Log files

Log files for the weather service are located in `~/logs/weather-reader.log`.


# Software

Software makes the hardware go!

A POCS unit needs some software to run various components. This includes the mount and camera control computers (usually a Raspberry Pi but can be anything), as well as an Arduino Uno for the power distribution.

The first step to making the software run is [Installation](/build/software/installation) of all the software.

Then perform [Configuration](/build/software/configuration)of the software so it works with your hardware.

Finally, perform some [Testing](/build/testing) to ensure everything works!


# Installation

How to install software to make your unit go!

There are three different types of software installation that need to be performed in order:&#x20;

1. The operating system (OS) to make the Raspberry Pi work. See [Installing OS](/build/software/installation/pocs-installation).
2. The PANOPTES Observatory Control Software (POCS) python software to control the unit. See [Installing POCS](/build/software/installation/installing-pocs).
3. The PowerBoard software to control the power distribution on the Arduino. See [Installing PowerBoard](/build/software/installation/power-distribution-arduino-software).


# Installing OS

A guide to installing the operating system for Raspberry Pi.

You can use the Raspberry Pi Imager tool to install the OS. &#x20;

We use Ubuntu Server 64-bit as our default OS as it has the best support for all of our hardware.

You can choose this option in the Imager tool by selecting the "Other general purpose OS" menu as seen below:

<figure><img src="/files/0qbG6bxVzYL87Wg2pgtk" alt=""><figcaption></figcaption></figure>

### Imager Software

{% embed url="<https://www.raspberrypi.com/software/>" %}
The official Imager tool for installing an Operating System on your Pi.
{% endembed %}

### Customize install options

After choosing the OS and the storage option, you can select the small gear box in the lower-right corner of the Imager to customize your installation. We recommend the following settings:

* **Hostname**: The name the computer will be known by.  If you have been assigned a Unit ID, you should use that, e.g. `PAN021`. You can slo use any name you want although it should not container spaces or any unusual characters. We will be using `PAN021` in the example for this guide.

{% hint style="info" %}
You will use the **hostname** to access the unit, either via a web browser (running juputer notebooks) or via ssh, so it's important to choose something meaningful.
{% endhint %}

* **Enable SSH**: Click to enable and make sure "Use password authentication" is selected (unless you know what you are doing with ssh keys).
* **Set username and password**: Set the username to `panoptes`. Set an appropriate password.
* **Configure wireless LAN**: For the control box, leave this blank. For the camera box, set this to your wifi connection. Make sure to change the **Wireless LAN country** to your appropriate country, e.g. `US`.
* **Set locale settings**: Select your timezone, which should have been auto-detected.

<figure><img src="/files/7KO0gwG156FLx2trSCV8" alt=""><figcaption></figcaption></figure>

When the process is finished the Imager program will say it is okay to "eject" the card. You can then remove the micro SD and place it in the Raspberry Pi to boot.

{% hint style="info" %}
The first time you boot the Raspberry Pi you should ensure that it is connected to the internet. The simplest way to check that is to have an ethernet cable going to the running Mango router (see [Network Setup](/build/hardware/control-box/network-setup)). The new OS will finish some installation procedures on the first boot and some of these utilize an internet connection.
{% endhint %}

When you're done you are ready to install POCS on the newly running OS!&#x20;

If you don’t have a monitor and keyboard connected, see [SSH Access](/build/software/appendix/ssh-access)for details on how to talk with your computer and then proceed to [Installing POCS](/build/software/installation/installing-pocs).

If you'd like to have a graphical environment, we recommend installing [Lubuntu](https://lubuntu.me/). This can be done with:

```bash
sudo apt install lubuntu-desktop
```


# Installing POCS

A guide to installing the PANOPTES Observatory Control Software.

## Installation

We have created an install script that should install all the necessary components that can be run once you have finished [Installing OS](/build/software/installation/pocs-installation).

{% hint style="info" %}
If you are connected directly to the computer and using a desktop environment, open a Terminal from the Applications menu in order to enter the commands below.
{% endhint %}

Make sure you are connected to the internet first, then from a command line (see [Command Line & The Shell](/build/software/appendix/command-line-and-the-shell)) enter the following:

```shell
bash -c "$(wget -qO- https://install.projectpanoptes.org)"
```

{% hint style="info" %}
The characters in the command above are alphabets lowercase `q` (for “quiet”) and uppercase `O` (for “Output”), not small q and zero (`0`).
{% endhint %}

This will fetch and run the installation script.&#x20;

{% hint style="warning" %}
The installation script can take anywhere from 5 to 30 minutes to complete, depending on the speed of your internet connection, the exact model of Raspberry Pi you have, etc. If it has been more than an hour or so then something might have gone wrong and it's probably best to start completely from scratch with a fresh OS install (sorry!).
{% endhint %}

When the installation is complete the script will ask you to reboot. Once you have rebooted you should be able to control most aspects of your system!&#x20;

## Updating POCS

If you need to update the POCS software, you can run the following commands in a terminal:

```
cd ~/pocs
git pull
```

You should only need to do this when asked.


# Installing PowerBoard

How to install the PowerBoard (“Trucker Board”) sketch onto the Arduino power distribution board.

{% hint style="info" %}
For details on hardware installation, see the [12V Power Distribution](/build/hardware/control-box/12v-power-distribution) instructions.
{% endhint %}

## Installation

The POCS repository includes a script that will perform all the necessary steps for the Power Board installation. After successfully [Installing POCS](/build/software/installation/installing-pocs) you should have all the required tools. First make sure that the Arduino is connected directly to the Raspberry Pi and then issue the following commands at a terminal:

```
cd $HOME/pocs/resources/arduino
bash install-arduino.sh
```

The above script will download all the required libraries, compile the Arduino sketch, and upload the script from the Raspberry Pi to the Arduino.

After installing Arduino, you will need to reboot the Pi. After the Pi has restarted check and make sure the [Services](/build/software/appendix/services)are running, finish the [Configuration](/build/software/configuration), then start [Testing](/build/testing)!

## PowerBoard Configuration

The relays are numbered `0` to `4` and given the generic names `RELAY_0`, `RELAY_1`, etc. You can assign labels to each of these relays by editing the [Configuration](/build/software/configuration), with the default labels matching the suggested instructions in the [Power Distribution](/build/hardware/control-box/12v-power-distribution) setup instructions. By default, those labels are:

| Relay    | Label            | Default status |
| -------- | ---------------- | -------------- |
| RELAY\_0 | weather\_station | on             |
| RELAY\_1 | unused1          | off            |
| RELAY\_2 | fans             | on             |
| RELAY\_3 | unused2          | off            |
| RELAY\_4 | mount            | on             |

As a reminder, in the current configuration the camera box power is delivered via the mount.


# Configuration

Configure your unit to make it work for you!

Most aspects of POCS are controlled via a configuration file that is stored in `$HOME/conf_files/pocs.yaml`. Most of this file will work for your system by default, but there are a few changes that need to be made manually first.

## Configuration

### Initial setup command

Most of the basic configuration items can be changed with the `pocs config setup` command. You will be prompted to continue before proceeding so you don't accidentaly change any items. The current item in the config will apepar as the default (e.g. `[/home/panoptes/pocs]` and you can hit Enter to accept the default).&#x20;

```bash
> pocs config setup
Setting up configuration for your PANOPTES unit.
This will overwrite any existing configuration. Proceed? [y/N]: y
Enter the base directory for POCS [/home/panoptes/pocs]: 
Enter the user-friendly name for this unit [Generic PANOPTES Unit]: Alcyone
Enter the PANOPTES ID for this unit. If you don't have one yet just use the default. [PAN000]: PAN021
Enter the latitude for this unit, e.g. "19.5 deg" [19.54 deg]: 
Enter the longitude for this unit, e.g. "-154.12 deg" [-155.58 deg]: 
Enter the elevation for this unit. Use " ft" or " m" for units, e.g. "3400 m" or "12000 ft" [3400.0 m]: 
Enter the timezone for this unit [Pacific/Honolulu]: 
Enter the GMT offset for this unit [-600]: 
```

### Getting and setting config entries

You can use `pocs config get <key>` and `pocs config get <key> <value>` to get and set items in the configuration.

The `<key>` corresponds to the entries in the YAML configuration file (see below for manually editing and viewing the file).&#x20;

```bash
> pocs config get name
'Alcyone'
```

One note is that YAML can be "nested", so a value for a given key could be another key. For instance, if you look at the `location` config item you will see something like:

```bash
> pocs config get location
{'elevation': <Quantity 3400. m>,
 'flat_horizon': <Quantity -6. deg>,
 'focus_horizon': <Quantity -12. deg>,
 'gmt_offset': -600,
 'horizon': <Quantity 30. deg>,
 'latitude': <Quantity 19.54 deg>,
 'longitude': <Quantity -155.58 deg>,
 'name': 'Mauna Loa Observatory',
 'observe_horizon': <Quantity -18. deg>,
 'obstructions': [],
 'timezone': 'Pacific/Honolulu'}
```

Here the `latitude`, `longitude`, `elevation`, and other items are all nested underneath the main `location` keyword.  To access these individual keys you use a "dot-notation" for each nested level. This is especially useful when you want to `set` a new entry  For instance:

```bash
> pocs config get location.latitude
<Quantity 19.54 deg>

> pocs config get location.name
'Mauna Loa Observatory'bas

> pocs config set location.name "My Observatory"
{'location.name': 'Mauna Loa Observatory'}
```

In the above example the `location.latitude` has some units and so it returns what is called a `Quantity` (from `astropy` - don't worry about it).

To set a new value with a quantity you can use the abbreviated unit name, e.g. `deg` for degree or `m` for meter.

```bash
> pocs config set location.latitude "19.55 deg"
{'location.latitude': <Quantity 19.55 deg>}
```

{% hint style="info" %}
Note that we recommend using the `pocs config setup` command for the basic details as it will do some intelligent checking of the values.
{% endhint %}

The nested entries can be as deep as needed. For instance, the mount appears as follows:

<pre class="language-bash"><code class="lang-bash"><strong>> pocs config get mount
</strong>{'brand': 'ioptron',
 'commands_file': 'ioptron/v310',
 'driver': 'panoptes.pocs.mount.ioptron.cem40',
 'model': 'cem40',
 'serial': {'baudrate': 115200, 'port': '/dev/ttyUSB0', 'timeout': 0.0},
 'settings': {'max_tracking_threshold': 99999,
              'min_tracking_threshold': 100,
              'non_sidereal_available': True,
              'park': {'dec_direction': 'north',
                       'dec_seconds': 15,
                       'ra_direction': 'west',
                       'ra_seconds': 15},
              'update_tracking': False}}

> pocs config get mount.serial.port
'/dev/ttyUSB0'

> pocs config set mount.serial.port "/dev/ioptron"
{'mount.serial.port': '/dev/ioptron'}
</code></pre>

### Manual editing

All configuration changes are made to the `$HOME/conf_files/pocs_local.yaml` file, which can be edited in a number of ways.

#### Via Jupyter

You can open the configuration file in the Jupyter environment simply by clicking on it in the file browser. After making the changes make sure to restart the config server with `pocs config restart`.

#### Via shell

{% hint style="info" %}
See [Command Line & The Shell](/build/software/appendix/command-line-and-the-shell#getting-a-shell) for instructions on how to open a shell and get a command line prompt.
{% endhint %}

The configuration file can be editing via a text editor. If you are using the command line (the default), a good option is `nano`.  At the command line prompt, type:

```bash
nano $HOME/conf_files/pocs_local.yaml
```

{% hint style="info" %}
You can type `Ctrl-X` to save and exit `nano`
{% endhint %}

You should see a file with a lot of keywords and values, each separated by a colon (`:`).&#x20;

After making any changes be sure to restart the config server with `pocs config restart`, and check with `pocs config get` that the changes have been applied.

{% hint style="danger" %} <mark style="color:red;">**Troubleshooting:**</mark>**&#x20;what if the changes are not applied ?**

* Check $HOME/logs/config-server.log for warning or error message: `tail $HOME/logs/config-server.log`
* If you see warning that another instance was already running, find its PID, kill it and try again. Use `sudo lsof -i -P -n | grep 6563` to check if any process is using port number 6563 that pocs config server is using
* If a process is using port 6563, kill it with the `kill` command
* Then run `pocs config restart` and check again that the changes have been applied
  {% endhint %}


# POCS Command Line

Describes the functions of the pocs command line.

## Overview

The `pocs` command provides a convenient way to work with your PANOPTES unit and is designed to provide a simple interface to nearly all hardware and software components for your unit.

The `pocs` command has a series of subcommands that do all the work. These subcommands might also contain subcommands (e.g. `pocs config get`).

Every subcommand has a `--help` option that explains what it is used for and how to use it. The following pages give more details on the commands.

{% hint style="info" %}
Many of the subcommands require the proper [Services](/build/software/appendix/services)to be running although you can often do a `restart` subcommand for the given service, e.g. `pocs config restart` to start or restart the config server.
{% endhint %}


# Mount

Basic interaction with the mount using the command line.

## Overview

The `pocs mount` command offers some basic ways to interact with the mount, mostly to be used while testing or as a backup if something goes wrong.

{% hint style="danger" %}
You should not run these commands while POCS is running!
{% endhint %}

## Commands

### `park`

Used for moving the mount to the parking position.

```
(conda-pocs)  panoptes@panoptes  pocs mount park
```

### `search-home`

Search for the home position on mounts that support it. Currently that is the iOptron CEM40.

```
(conda-pocs)  panoptes@panoptes  pocs mount search-home
```

### `slew-home`

Slew to the saved home position.

```
(conda-pocs)  panoptes@panoptes  pocs mount slew-home
```

### `setup`

Auto-detect the mount port and type, check for the firmware version, and set the config entries.

```
(conda-pocs)  panoptes@panoptes  pocs mount setup
```

## Configuration

The configuration key for the mount is simpy `mount`.

```
(conda-pocs)  panoptes@panoptes  pocs config get mount
{
    'brand': 'ioptron',
    'commands_file': 'ioptron/v310',
    'driver': 'panoptes.pocs.mount.ioptron.cem40',
    'model': 'cem40',
    'serial': {'baudrate': 115200, 'port': '/dev/ttyUSB0', 'timeout': 0.0},
    'settings': {
        'max_tracking_threshold': 99999,
        'min_tracking_threshold': 100,
        'non_sidereal_available': True,
        'park': {
            'dec_direction': 'north', 
            'dec_seconds': 15, 
            'ra_direction': 'west', 
            'ra_seconds': 15
        },
        'update_tracking': False
    }
```


# Config Server

Get and set values in the config server via the command line

## Overview

The `pocs config` command offers some basic ways to interact with the mount, mostly to be used while testing or as a backup if something goes wrong.

## Commands

### `get`

Get a value from the configration. The values are separate by dot syntax, as explained in [Configuration](/build/software/configuration#getting-and-setting-config-entries).

```
(conda-pocs)  panoptes@panoptes  pocs config get mount

{'brand': 'ioptron',
 'commands_file': 'ioptron/v310',
 'driver': 'panoptes.pocs.mount.ioptron.cem40',
 'model': 'cem40',
 'serial': {'baudrate': 115200, 'port': '/dev/ttyUSB0', 'timeout': 0.0},
 'settings': {'max_tracking_threshold': 99999,
              'min_tracking_threshold': 100,
              'non_sidereal_available': True,
              'park': {'dec_direction': 'north',
                       'dec_seconds': 15,
                       'ra_direction': 'west',
                       'ra_seconds': 15},
              'update_tracking': False}}


(conda-pocs)  panoptes@panoptes  pocs config get mount.serial.port

'/dev/ttyUSB0'
```

### `set`

Used for setting values. If successfully set, the key and value are returned.

```
(conda-pocs)  panoptes@panoptes  pocs config set mount.serial.port "/dev/ttyUSB0"

{'mount.serial.port': '/dev/ttyUSB0'}
```

### `setup`

Runs the setup wizard.

```
(conda-pocs)  panoptes@panoptes  pocs config setup

Setting up configuration for your PANOPTES unit.
This will overwrite any existing configuration. Proceed? [y/N]: y
Enter the base directory for POCS [/home/panoptes/pocs]: 
Enter the user-friendly name for this unit [Generic PANOPTES Unit]: Alcyone
Enter the PANOPTES ID for this unit. If you don't have one yet just use the default. [PAN000]: PAN021
Enter the latitude for this unit, e.g. "19.5 deg" [19.54 deg]: 
Enter the longitude for this unit, e.g. "-154.12 deg" [-155.58 deg]: 
Enter the elevation for this unit. Use " ft" or " m" for units, e.g. "3400 m" or "12000 ft" [3400.0 m]: 
Enter the timezone for this unit [Pacific/Honolulu]: 
Enter the GMT offset for this unit [-600]: 
```

### `restart`

Restart the config (`supervisorctrl`) service. Use if values in config file have changed or if getting errors with the other commands.

```
(conda-pocs)  panoptes@panoptes  pocs config restart
```

## Configuration

The config server is the config. :smirk: See [Configuration](/build/software/configuration) for details on setting up the configuration the first time.


# PowerBoard

Interact with the PowerBoard

## Overview

You can control and monitor the Power Board from the command line using the `pocs power` command.&#x20;

For example:

```bash
# Display the status for each power channel (relay)
pocs power status

# Turn off the fans.
pocs power off fans

# Turn on fans by relay index.
pocs power on RELAY_2

# See the current readings for all power channels.
pocs power readings
```

## Commands

### `status`

Get the status of the relays.

```
(conda-pocs)  panoptes@panoptes  pocs power status
[RELAY_0] weather_station..... ON
[RELAY_1] unused1............. OFF
[RELAY_2] fans................ ON
[RELAY_3] unused3............. ON
[RELAY_4] mount............... ON
(conda-pocs)  panoptes@panoptes  
```

### `off/on`

Turn on or off the relay.

```
(conda-pocs)  panoptes@panoptes  pocs power off fans
{'relay': 'fans', 'command': 'turn_off'}

(conda-pocs)  panoptes@panoptes  pocs power status
[RELAY_0] weather_station..... ON
[RELAY_1] unused1............. OFF
[RELAY_2] fans................ OFF
[RELAY_3] unused3............. ON
[RELAY_4] mount............... ON

(conda-pocs)  panoptes@panoptes   pocs power on fans
{'relay': 'fans', 'command': 'turn_on'}

(conda-pocs)  panoptes@panoptes  pocs power status
[RELAY_0] weather_station..... ON
[RELAY_1] unused1............. OFF
[RELAY_2] fans................ ON
[RELAY_3] unused3............. ON
[RELAY_4] mount............... ON
```

### `control`

A different way to control the relays.

```
(conda-pocs)  panoptes@panoptes  pocs power control --relay fans --command turn_off
{'relay': 'fans', 'command': 'turn_off'}
```

### `readings`

Shows a simple bar plot of the most recent power usage statistics for each relay. Probably not actually useful.

```
(conda-pocs)  panoptes@panoptes  pocs power readings
ac_ok............... ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ [1]
weather_station..... ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ [0]
unused1............. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ [0]
fans................ ▆▅▆▅▄▆▅▄▅▆▆▄▇▆▄▆█▅▄▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ [2]
unused3............. ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ [0]
mount............... ▄▂▄▄▄▄▂▁▄▄▂▂▄▄█▅▂▂▂▂▂▂▄▂▄▄▄▂▂▂▂▂▂▅▇▄▄▂▂▂▂▄▂▂▂▂▂▂▄▂ [22]
```

### `restart`

Restart the power (`supervisorctrl`) service. Use if getting errors with the other commands.

```
(conda-pocs)  panoptes@panoptes  pocs power restart
```

## Configuration

The configuration for the power board is stored under the `environment.power` key:

```
(conda-pocs)  panoptes@panoptes  pocs config get environment.power
{
    'arduino_board_name': 'power_board',
    'mean_interval': 5,
    'name': 'Trucker Power',
    'port': '/dev/ttyACM0',
    'record_interval': 60,
    'relays': {
        'RELAY_0': {'default_state': 'on', 'label': 'weather_station'},
        'RELAY_1': {'default_state': 'off', 'label': 'unused1'},
        'RELAY_2': {'default_state': 'on', 'label': 'fans'},
        'RELAY_3': {'default_state': 'off', 'label': 'unused3'},
        'RELAY_4': {'default_state': 'on', 'label': 'mount'}
    }
}
```


# Weather Station

Interact with the weather station.

## Overview

`pocs weather` offers some basic commands for interacting with the running weather station service.&#x20;

## Commands

### `status`

Get the most recent weather reading.

```
(conda-pocs)  panoptes@panoptes  pocs weather status
```

### `restart`

Restart the weather (`supervisorctrl`) service. Use if getting errors with the other commands.

```
(conda-pocs)  panoptes@panoptes  pocs weather restart
```

## Configuration

The configuration will depend exactly on how you set up the [Weather Station](/build/hardware/weather-station)hardware but the config key is in `environment.weather` either way. For a remote weather station you will have a url (i.e. `environment.weather.url`) and for a locally attached weather station a serial port (i.e. `environment.weather.serial_port`).

See the weather station config variables at [aag-weather](https://github.com/panoptes/aag-weather) documentation for details about setting the safety thresholds and heater settings.


# Appendix

Additional software pages that explain how to work with your unit.

The pages here don't list anything strictly required but are helpful when working with your unit, especially remotely.


# SSH Access

How to remotely connect to your new OS.

We assume you do not have a monitor or keyboard connected to your control computer, so you will need some way to access it and give it commands. The way to do that is via what is called “SSH”, or “Secure SHell”.&#x20;

## Get IP Address

To connect via SSH you will need to be on the same network as the control computer and will also need to know the IP address of the computer.  Setting this up properly is described in the video in the [Network Setup](/build/hardware/control-box/network-setup) [Network Setup](/build/hardware/control-box/network-setup#configuration).

If you followed that guide then your computer should be available at an ip address that starts with `192.168.8.` and then has the last numbers to match your unit ID. For example, for `PAN022` the ip address would be `192.168.8.22` for the control box and `192.168.8.122` for the camera box. If you don’t know your IP addresses, go to <https://192.168.8.1>, log in using your adming password, and go to the ”Clients” section. You should be able to find the computer that matches your name and see it’s IP address.&#x20;

<figure><img src="/files/Z2YlwKWKWNqT3rS2Zmq2" alt=""><figcaption><p>The IP address for the “panoptes” computer is <code>192.168.8.210</code>. Note that ”panoptes” was the name given when running the installation script.</p></figcaption></figure>

## Using SSH

The generic command to use ssh is `ssh username@ip_address`, so for the above computer the command would be:

```
ssh panoptes@192.168.8.210
```

You may get a warning the first time you connect to the computer. You can hit “Yes” to continue and say that you trust the computer.

Once connected you will be connected a “shell” running on the computer where you can type commands.. You should see something similar to:

<figure><img src="/files/7lUqWebDc6YnGn5Qi98Z" alt=""><figcaption><p>The default prompt upon sshing to the control computer</p></figcaption></figure>

{% hint style="info" %}
See [Command Line & The Shell](/build/software/appendix/command-line-and-the-shell) page for more information about how to use the command line.
{% endhint %}

## Troubleshooting

If you are reinstalling the OS or have used ssh to access the computer before, you may see an error message that looks likes the following:

<figure><img src="/files/suuGbTxLaLCiwRD2gshC" alt=""><figcaption></figcaption></figure>

To get rid of the warning run the suggested command in the warning, which looks like:

```
ssh-keygen -R <ip_address>
```


# Command Line & The Shell

Describes the basic steps of how to use the command line.

## Overview

POCS is designed to be run without a monitor connected to it, which may be unfamiliar to most people. The way we control and give commands to POCS is via the “command line,” which are commands that are typed into what is known as a “shell.”

You can think of the shell like the search bar on your internet browser.  When you type in something you want to find, it’s like typing “search for pictures of the Orion Nebula.” In this case the “search for” would be the command you are running and “pictures of the Orion Nebula” are the *parameters* you give to the command.

Our command line is the same, it’s just that there are a lot more choices and instead of using the search bar, we enter commands in the shell “prompt.” &#x20;

<figure><img src="/files/XXkJQUKtJ3GJq5hkYr1T" alt=""><figcaption><p>An example of a command line prompt in the shell. Here we have turned off the fans in one command and after returning the result, we are given another prompt to type more commands. The green square is where typed characters wil appear.</p></figcaption></figure>

We try to minimize the number of commands you need to know by giving a single command, `pocs`, that has a lot of different sub-commands and options.

For instance, after [Installing POCS](/build/software/installation/installing-pocs), you can turn off the power to the fans, by typing `pocs power off fans`, where “pocs power off” is the command and sub-commands and “fans” is the parameter.

## Getting a shell

If you used [SSH Access](/build/software/appendix/ssh-access)to connect to the computer, then you will already be using a shell. If you have a desktop environment connected you can search the Applications menu for a “Terminal” or “Console”, both of which are graphical programs that provide shell access.

## Sudo

Some commands require the “root” or “super user” to perform because they can alter the state of the computer. To enter these commands you type `sudo command` and then will be asked for your password before the command is run.  An example of this would be rebooting the computer, which can be done with `sudo reboot`.


# tmux / byobu

How to stay connected.

## Why we use tmux (or byobu)

Even though we are using [SSH Access](/build/software/appendix/ssh-access) to start and stop our POCS software, we want the software to continue running after we have disconnected and so we can't just run things directly in the terminal.&#x20;

Instead, we need to run them in a sort-of background terminal (technically it's called a terminal multiplexer).

Both `byobu` and `tmux` do exactly that. So the idea is that you ssh into your remote computer, then you start `byobu` (or `tmux`) if it's your first connection, otherwise you can "attach" to the existing session by typing `byobu a` (or `tmux a`).

As a bonus, we can also split our screen into multiple "windows" and "panes" and have a different shell in each of these. For example, you can keep the log files open in a lower pane and run the commands in an upper pane. See the images below for examples.

### What's the difference?

`byobu` is actually just a wrapper around `tmux`, which gives some better defaults and a nice-looking status prompt. `byobu` is available by default on ubuntu and many ubuntu tutorials refer to it.

`tmux` is basically the same thing but a little more "raw".  On the other hand, `tmux` tends to be more widely available on non-ubuntu systems.

The big difference comes down to the "command key", with `byobu` using `Ctrl-a` and `tmux` using `Ctrl-b`. :person\_shrugging:

## Attach to byobu session

When observing, you can use byobu ([byobu.org](https://byobu.org/)) to split your terminal into multiple smaller panels with different processes running in each. That way, you can view the running POCS and log files all at once, which is especially convenient when logging in remotely. It also allows other people on your team to join the same byobu session and see how the unit is doing.

![](/files/-MDuoyJaeUaVZqghGkcV)

By default, byobu should already be installed on Ubuntu. To attach, enter byobu in a new terminal window on the NUC. Then, you can jump between panels by pressing `CTRL-a`, letting go, then pressing an arrow key `↑ ↓ → ←` in the direction you want to move. More commands (ie. splitting screens, resizing screens, creating windows etc) are listed below.

#### Byobu cheat sheet

{% hint style="warning" %}
The commands are the same for `tmux` but instead of `Ctrl-a` it's `Ctrl-b`.
{% endhint %}

**`CTRL-a`** then **`?`** - help

**`CTRL-a`** then **`\`** - kill byobu (& all running processes)

**`CTRL-a`** then **`CTRL-d`** - detach without kill (or just close the terminal window)

**Windows management**

**`CTRL-a`** then **`c`** - create new window

**`CTRL-a`** then **`k`** - kill current window

**`CTRL-a`** then **`p`** - goto previous window

**`CTRL-a`** then **`n`** - goto next window

**`CTRL-a`** then **`[window number]`** - goto to a specific window (see bottom bar of terminal for all window numbers)

**Panels management**

**`CTRL-a`** then **`%`** - split current panel vertically

**`CTRL-a`** then **`|`** - split current panel horizontally

**`CTRL-a`** then **`TAB`** - next panel

**`CTRL-a`** then **`↑`**, - switch panels (with arrow keys)

**`CTRL-a`** then **`↓`**,

**`CTRL-a`** then **`→`**,

**`CTRL-a`** then **`←`**

Hold **`CTRL-a`** and press **`↑`**, - resize panels vertically

Hold **`CTRL-a`** and press **`↓`**

Hold **`CTRL-a`** and press **`←`**, - resize panels horizontally

Hold **`CTRL-a`** and press **`→`**

**Scroll up page buffer**

**`CTRL-a`**&#x74;hen **\[** - scroll with **`↑`** **`↓`** arrows, then press **`Enter`** to exit

{% hint style="info" %}
If you’re on a team, try to make your terminal as large as possible (<img src="/files/-MDuoyJbTEjqEF8RViMX" alt="" data-size="line"><img src="/files/-MDuoyJcEd32IHY_SDvh" alt="" data-size="line"><img src="/files/-MDuoyJdXlgHae4wNAPs" alt="" data-size="line">) when using byobu, since you might restrict the size that the session appears to anyone else attached. See pic below.
{% endhint %}

<figure><img src="/files/-MDuoyJeNk83zfLZ-FO9" alt=""><figcaption><p>If more than one person is connected the screen will resize to the smallest display.</p></figcaption></figure>


# Services

Things that are always running in the background.

## Overview

## Starting and Stopping

POCS services uses `supervisord` to run processes in the background. To check that things are running, use the command `sudo supervisorctl status`.

```
(conda-pocs)  panoptes@panoptes  supervisorctl status
pocs-config-server               RUNNING   pid 782, uptime 1 day, 0:12:39
pocs-jupyter-server              STOPPED   Not started
pocs-power-monitor               RUNNING   pid 784, uptime 1 day, 0:12:39
pocs-weather-reader              RUNNING   pid 783, uptime 1 day, 0:12:39
```

When making changes to the config file, use `supervisorctl reread` to save those changes.


# Testing

Make sure your software and hardware actually work!

{% hint style="info" %}
This is not a comprehensive set of tests but is mostly designed to ensure that your system has been properly installed.
{% endhint %}

{% hint style="info" %}
**What is Jupyter?**

Jupyter lets you run POCS (and other!) commands via a web browser in the form of "notebooks".  You can run these notebooks as long as you are connected to the same network as your PANOPTES unit (for an even more remote setup, check the [forums](https://forum.projectpanoptes.org)!)
{% endhint %}

When POCS is installed there is also a [jupyter](https://jupyter.org/) server started that you can use to access the system and perform tests.  This server is available using the **hostname** of the system (see [Installing OS](/build/software/installation/pocs-installation#customize-install-options)) at the following url:  `https://<hostname>:8888`. For our example system this would be <https://PAN021:8888>.

The installation script makes a `/home/panoptes/notebooks` folder that includes a `TestPOCS` notebook that will run through the basics of testing the unit hardware.  You can see this [notebook on github](https://github.com/panoptes/POCS/blob/c1590fa5f0768769530938fe8a91039c821b854e/notebooks/TestPOCS.ipynb).

{% hint style="danger" %} <mark style="color:orange;">**Troubleshooting:**</mark> What if the Jupyter notebook doesn't respond/open ?

* You can run `pocs notebook restart` to restart the notebook
* Check the log for errors: `tail -F $HOME/logs/jupyter-server.log`
* look for entry in the log: "`Jupyter Server is running" at` to see which port is being used. It may not be port 8888, in which case you will need to use this number to connect
  {% endhint %}


# Deployment

Guides and tips related to deploying your PANOPTES unit at it's final site.

{% hint style="info" %}
Something unclear? Please post on the forum at <https://forum.projectpanoptes.org/> or email us at <info@projectpanoptes.org>.
{% endhint %}


# Site Planning

This is an overview of what is required for the installation site of a PANOPTES unit.

## Location / Environment

There are a number of factors to consider when actually selecting a site location. Some of these options are preferences, e.g. light pollution at site, whether the entire horizon is visible or not, etc, and will depend on the site-specific details.

**Access to sky:** In general, you want to make sure you have access to a good chunk of the night sky (although this feasibly could just be half of the sky), from about 30° elevation and upward. It is okay if there are some obstructions at some places as the unit can be marked to avoid these areas.

The best way to find the ideal location (if you have a choice from several) is to stand in the location where you are considering installing the unit and raising your arm to point at the tallest object you can see around you as shown in Figure 1 below. Then turn 360 degrees and check that that is indeed the highest object. Once you have confirmed this, point at the original tall object with your arm and get a friend to measure the height of your fingertips from the ground, the height of your armpit above the ground and the length of your arm (these are indicated by the purple arrows in Figure 1.

![](/files/-MEt3Xv-XrMUpVsMnFbY)

Once you have these dimensions you can use trigonometry to calculate the angle of elevation. The following equation can be used:

![](/files/-MEt0R7iXCHEHb6mEEgN)

If you are going after specific targets you may not need to have a constant minimum elevation all the way around the horizon. For example, if you are in the North, and want to look at more Southern targets, you could move your unit closer to obstructions in the North so that the southern elevation limit is reduced and you can look closer to the horizon. This is at the discretion of the installer but the default is to have a constant horizon limit at a given site.

**Light pollution:** It’s actually okay to be located in a city or other location that has a lot of light pollution. While we would rather have darker skies, brighter skies can actually be used to look at brighter targets, which are often too bright for a dark sky location. The default stars that PANOPTES searches are in the V magnitude range of 8-12, but in a bright location we can look at magnitude 6-8 by having shorter exposure times. There will not be as many viable targets but they are still scientifically interesting and valid targets.

**Weather:** The PANOPTES unit has no enclosure to protect against the weather. When bad weather is detected the unit “looks down” so that the camera lenses don’t get ruined. The weather-proofing that is specific to each unit should be done with respect to this parked position. The current baseline unit (PAN001) has happily weathered a number of blizzards (\~3-5 inches of snow), 150kph winds, rain, and at least one major earthquake.

**Animals:** Perhaps one of the larger concerns are bugs and/or birds. While we have not had any reported problems with these it should be noted that there are many places where bugs could find a nice warm home. The underside of the control box for PAN008 (Australia) became home to a number of red-backed spiders, which are poisonous and can be deadly. The current design tries to seal off all large cavities but one should be aware of the possibilities.

## Physical Footprint

A PANOPTES unit is relatively compact, however it does require some space to operate. There are two aspects to the physical footprint, the mount and the control box.

### Mount

Ground: The mount and pier, along with the range of motion of the mount, occupies about one (1) square meter of space.

Vertical: With the mount assembled on the pier according to the current design the mount sits about one (1) meter tall.

Ideally this footprint is available as a concrete pad to which the pier can be mounted and given full range of motion.

### Control Box

Ground: The control box is a [Pelican 1560](https://www.pelican.com/us/en/product/cases/protector/1560) and needs about 65x50cm.

Vertical: The control box can fit within about a 30cm vertical space with the lid closed.

Note that the Control Box does not necessarily need to be located next to the mount itself assuming you run the cables appropriately (note well, USB 2 cables have a finite length over which they can operate so test that the length of cable you have chosen works well before making it long, 10-12 ft will work, longer needs to be tested). Check the forums for examples of some different setups people have done.

## Power

The system requires access to a mains power connection, either 120V or 230V depending on your host country. The UPS system built as part of the [Power Board](https://docs.google.com/document/d/1A91cS6mInqHBecLHhUG1eggTJb13dPNvwCaTSvFpjB8/edit?usp=sharing) should handle the conversion to the 12V system used by the unit.

Depending on where the unit is located with respect to the mains outlet this could involve running some longer extension cords to the unit.

**Solar Power:** Currently there are no units that are running on solar power although there has been a lot of interest. The baseline design calls for a 12V backup battery, which is used primarily to park the unit during mains power loss, however this could be replaced with a 24V battery and feasibly be used for operations. Extra costs would be associated with this option (for instance, it would require an inverter, solar panels, etc.). If interested in building a solar-powered unit please contact <info@projectpanoptes.org> or check the [forums](https://forum.projectpanoptes.org/).

## Communications / Internet

Each PANOPTES unit will generate about 20GB of data per night (\~10GB / camera) that is uploaded to a Google Storage Bucket. The units can run a lossless compression algorithm which can reduce this by a factor of 3-4. This will help reduce bandwidth requirements.

There are various ways that this requirement can be overcome. The original PANOPTES prototype merely stored all of the files on an external hard-drive, which was physically collected every 2-3 months. A 4-terabyte USB harddrive costs about $90 USD and will store well over a year’s worth of data.

{% hint style="info" %}
If you would like to build a unit in a remote location that does not have a reliable internet connection please reach out to <info@projectpanoptes.org> to discuss ideas. There may also be related topics in the [forum](https://forum.projectpanoptes.org/).
{% endhint %}

## Cable routing

Once the location of the source of power and network have been identified, it’s important to determine how the cables will be routed to the PANOPTES unit. For example, at Maunaloa above ground conduits were allowed (see Figure 2 below), while at Mt Wilson the conduits have to be buried under ground to prevent trip hazards as there was a higher volume of foot traffic.

## Elevating the Control Box

In areas where there is significant leaf litter or where there is snow, you may consider lifting the control box off the ground to prevent the leaf litter or snow blocking the cable and fan ports which could cause the fan to burn out. On Maunaloa we built a small frame from scrap that elevated the control box by about 1ft which helped.

![Figure 2: PAN001 on showing the control box elevated on a frame to prevent snow blocking the ports.](/files/-MEt4leFKGk5Ytd0XsTq)

## Security

Hopefully security is not a major concern, but you should be aware that there is some valuable equipment both in the control box as well as in the camera box, not to mention the mount itself. The Pelican Case that is used for the control box does have holes for a padlock, which will at least prevent idle theft. The easiest and most likely item to steal would be the camera box itself as it could easily be removed (snipping the wires) and contains two cameras that people might find useful.

Realistically the bigger concern is problem simple vandalism. Units should have a webcam pointed at them for normal operations and this could help identify vandals after the fact.


# Camera Focus

How to focus the cameras in a PANOPTES unit.

The Canon cameras that are used for PANOPTES do not have an auto-focus mechanism so it is important to set a proper focus *after* all other deployment is complete but before a [polar alignment](/build/deploy/polar-alignment).

{% hint style="info" %}
Note that there are additional camera settings that should be set before the focus.  See [Camera Setup](/build/hardware/camera-box/camera-setup) for details.
{% endhint %}

### Focus

The video below shows the general movements for the lens in order to focus the camera.&#x20;

{% embed url="<https://youtu.be/dLHJLSKK9B8>" %}

### Focus Procedure

Focusing is currently done via the live-view finder on the back of the camera while looking down into the box. This is sometimes awkward depending on the size of the box and the wiring, but the procedure should work well.

{% hint style="warning" %}
To focus a camera you will need to be able to view something at or near "infinity".  At night this can be actual stars.  If you can only focus during the day your unit will need to be able to "see" a distant object, e.g. a distant mountain range, far away lights, etc.
{% endhint %}


# Polar Alignment

This instruction set will help you polar align the PANOPTES unit once it has been deployed and is fully operational with cloud storage set up.

Equatorial mounts, such as those used by PANOPTES units, require that the mount be properly aligned with the celestial sphere so that they can track the stars accurately.

This can be done with what is called a **polar alignment**, where the rotation axes of the mount (the **Right Ascension** and **Declination** axes, aka **RA/Dec**) are aligned with the rotation axis of Earth.

The [Overview](/build/deploy/polar-alignment/overview) explains the concept of polar alignment in detail and why you need to polar align your PANOPTES unit. If you are already familiar with the concept of polar alignment, skip to [Drift Method](/build/deploy/polar-alignment/drift-method) to learn about the method or to [Procedure](/build/deploy/polar-alignment/polar-aligning-panoptes) to do the polar alignment.


# Overview

This page will give you an overview of what polar alignment is and why you need to polar align your PANOPTES unit. If you are already familiar with the concept of polar alignment, skip to next page.

## Celestial Sphere

When you look up at the night sky, you see hundreds of stars of varying brightness and sizes. The stars seem to be stuck to the underside of a dark dome which is called the ‘Celestial Sphere’. All stars are at different distances from Earth, but due to the lack of distance information when we look at stars, we see them projected onto the two-dimensional celestial sphere.

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDuoOQZEQNrE9MzBv4b%2Fuploads%2F6xwgBLwW00gByCsNd2U4%2Ffile.png?alt=media)

{% embed url="<https://en.wikipedia.org/wiki/Celestial_sphere>" %}

As the night passes, the dome seems to slowly rotate around us carrying the stars with it. This is due to the relative motion between the Earth and the sky. As Earth rotates on its axis, we sense it in the form of the celestial dome rotating around us in the opposite direction.

![](/files/-MJ5RmYqN18lSxq1Svsv)

This apparent rotation of the celestial sphere causes the rising of the stars in the Eastern direction and their setting below the horizon in the Western direction. This effect of rising and setting is most pronounced in the stars that lie along the ‘Celestial Equator’ (a projection of Earth’s equator on to the Celestial Sphere) and least pronounced in the stars that lie close to the ‘Celestial Poles’ (an extension of Earth’s poles on to the Celestial Sphere). Consequently, stars that may lie exactly on the celestial poles never seem to rise or set for an observer on earth.

{% tabs %}
{% tab title="Northern Hemisphere" %}
![](/files/-MJ5q9sQR9hrDLZ3KYd4)
{% endtab %}

{% tab title="Southern Hemisphere" %}
![](/files/-MJ5qF5w8T-29m_D8-xg)
{% endtab %}
{% endtabs %}

The process of ‘Polar Alignment’ of the telescope mount is done by making the axis of rotation of the mount parallel to Earth’s axis of rotation and pointing it at the celestial pole (North celestial pole in the Northern hemisphere and South celestial pole in the Southern hemisphere). Once polar alignment is achieved, the mount will rotate along its axis (now parallel to Earth’s axis of rotation) in a direction opposite to Earth’s direction of rotation.

{% tabs %}
{% tab title="Northern Hemisphere" %}
![](/files/-MJ5vh7mZ2BKz2AA5-6o)
{% endtab %}

{% tab title="Southern Hemisphere" %}
![](/files/-MJ5wRXAJU5Cc2QXyxMV)
{% endtab %}
{% endtabs %}

{% hint style="info" %}
The images above are not drawn to scale and hence spacing between the two red dashed parallel lines is overly exaggerated. In reality, the stars are so far away that these two lines would overlap.
{% endhint %}

Polar alignment helps to accurately offset the motion of the stars on the celestial sphere caused by the Earth’s rotation. The mount’s rotation opposite to Earth’s rotation is observed as the mount ‘tracking’ the stars in the night sky.

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDuoOQZEQNrE9MzBv4b%2Fuploads%2F3WG1kxQhPjsOvxLhH8uT%2Ffile.png?alt=media)

The equatorial mount can be rotated on two axis for polar alignment, the altitude and azimuth.


# Drift Method

This page gives a brief overview of the drift method used to polar align the PANOPTES unit.

## Astronomical Coordinate Systems

There are a few different coordinate systems used in astronomy to define the positions of celestial objects on the celestial sphere, such as:

* Horizontal system
* Equatorial system
* Ecliptic system
* Galactic system
* Supergalactic system

### Equatorial Coordinate System

One of the most widely used coordinate system is the **equatorial coordinate system**, which is the projection of the Earth's latitude and longitude coordinate system onto the celestial sphere. The Earth's equator, North pole, South pole, latitude and longitude are projected onto the celestial sphere and referenced as the celestial equator, North celestial pole, South celestial pole, **declination (dec)** and **right ascension (RA)**, respectively.

Stars appear to move along lines of declination that run parallel to the celestial equator. The **declination** of a celestial object on the celestial sphere is measured similar to the terrestrial latitude of a place on Earth. The declination of a celestial object indicates how far north or south of the celestial equator the object lies:

```
-90° ⇒ star is at South celestial pole
0° ⇒ star is on the celestial equator
+90° ⇒ star is at North celestial pole
```

<figure><img src="/files/0cg1nKJPRFibsL9bCkQ1" alt=""><figcaption></figcaption></figure>

The plot below shows the path stars appear to follow on the celestial sphere as seen from Earth. The concentric circles (colored points) correspond to stars of different declinations, moving parallel to the celestial equator (grey line).

{% hint style="info" %}
The plot is interactive. Use a mouse to pan, rotate or zoom into the plot. Click on `Edit Chart` button at the bottom of the plot to open the plot in plotly studio.
{% endhint %}

{% embed url="<https://chart-studio.plotly.com/~preethi524/62/#/>" %}

### Horizontal Coordinate System

The **horizontal coordinate system**, also called the alt/az system, is a celestial coordinate system that uses the observer's local horizon as the fundamental plane to define two angles: altitude and azimuth.

**Altitude** is the angular distance of an object above the local horizon. It ranges from 0 degrees at the horizon to 90 degrees at the zenith. **Azimuth** is the angular distance of an object from the local North, measured along the horizon in the eastward direction.

<figure><img src="/files/NRc1CwvZeFuzEk0MbDrg" alt=""><figcaption></figcaption></figure>

## Mount Polar Alignment

The equatorial mount can be rotated on two axis for polar alignment, the altitude and azimuth. For polar alignment, the altitude adjustment knob on the mount has to be set to the latitude of your location. The azimuth knob has to be set to point towards true North.

When the mount's axis of rotation is perfectly aligned to the Earth's axis of rotation, the mount can track the stars for very long durations of time without any drift. See plot shown below for a star at declination = 25 degrees. The mount is perfectly pointed to the North celestial pole (altitude error al = 0.00 deg, azimuth error az = 0.00 deg). The mount tracks a path on the celestial sphere (black line) that overlaps with the star's path on the celestial sphere (colored points).

{% embed url="<https://chart-studio.plotly.com/~preethi524/50/#/>" %}

When the mount's axis of rotation is not aligned to the Earth's axis of rotation, the misalignment can be in altitude, or azimuth, or both. This misalignment causes the mount to track the stars poorly. This difference in the star path and mount tracking path is observed as a star drifting in the PANOPTES observations. By observing and calculating the direction and magnitude of the drift in stars, we can estimate how much offset in polar alignment the PANOPTES mount has.

See plots shown below for how a misaligned mount tracks a star at declination = 25 degrees, on the celestial sphere. &#x20;

{% tabs %}
{% tab title="Case 1: Mount misaligned in al" %}
Case 1: Plot shows the path tracked by a mount misaligned in altitude by 15 degrees. The difference in the path tracked by the star and the mount manifests as stars appearing to drift in the PANOPTES observations.

{% embed url="<https://chart-studio.plotly.com/~preethi524/56/#/>" %}
{% endtab %}

{% tab title="Case 2: Mount misaligned in az" %}
Case 2: Plot shows the path tracked by a mount misaligned in azimuth by 10 degrees.

{% embed url="<https://chart-studio.plotly.com/~preethi524/58/#/>" %}
{% endtab %}

{% tab title="Case 3: Mount misaligned in al & az" %}
Case 3: Plot shows the path tracked by a mount misaligned in altitude by 15 degrees and in azimuth by 10 degrees.

{% embed url="<https://chart-studio.plotly.com/~preethi524/60/#/>" %}
{% endtab %}
{% endtabs %}

The path traced by the mount on the celestial sphere can be computed from the observations taken by the PANOPTES unit, by measuring the magnitude and direction in which the stars appear to drift. This is then compared with models to determine the extent of misalignment in mount altitude and azimuth.&#x20;

## Python Notebooks

The equations used for drift alignment and for making the plots shown above, are derived and explained in detail in Python notebooks available on this [link](https://drive.google.com/drive/folders/14kkXs1TpZZruQF1LR08h_mK0bik6dmQn?usp=share_link). There are three Python notebooks to help understand and visualize the drift method:

* Notebook 1: Model Derivation
  * Derive the equations necessary to predict the offset in the equatorial mount pointing on the celestial sphere, when it is misaligned in altitude and azimuth.
* Notebook 2: Model Visualization
  * Using equations derived in Notebook 1, we see how stars would drift as seen by a PANOPTES unit when the equatorial mount is misaligned in altitude and azimuth.
* Notebook 3: Fitting Model to Data
  * Fit the models derived in Notebook 1 to observations taken by your PANOPTES unit to compute the offset in the mount alignment in altitude and azimuth.
  * Then use the computed offsets to do the polar alignment of your PANOPTES unit.

{% hint style="info" %}
*Note: It is not critical to understand the equations derived in Notebook 1 and Notebook 2 to do the polar alignment of your PANOPTES unit. You only need to follow Notebook 3 to polar align your PANOPTES unit.*
{% endhint %}


# Procedure

This instruction set will help you polar align the PANOPTES unit once it has been deployed and is fully operational with cloud storage set up.

## Before you start

You need to set the mount manually as described below before you attempt to polar align your unit:

{% hint style="info" %}
Note: The mount images shown here may not match the mount model you have used in your build.&#x20;
{% endhint %}

## STEP 1: Balance the mount

Ensure that the mount, camera box and counterweights are properly balanced before attempting to do the polar alignment.

{% hint style="warning" %}
The mount needs to be r&#x65;*-*&#x62;alanced any time it is physically moved or has any weight added or removed.
{% endhint %}

{% content-ref url="/pages/-MEsuqx9KGlEdQ3QeWqi" %}
[Balancing](/build/hardware/mount-and-pier/mount/balancing-the-mount)
{% endcontent-ref %}

## STEP 2: Set the latitude on the mount

The mount must be adjusted to account for your current latitude. Use the ‘Latitude adjustment knob’ on the mount until the arrow roughly points to your current latitude on the ‘Latitude Indicator’.&#x20;

For example:  If you are located at `33°23'39" N / 104°31'21" W`, set the arrow to roughly point at `33°`.

The azimuth knob has to be adjusted such that the mount's axis of rotation points towards true North.

{% tabs %}
{% tab title="iOptron CEM40" %}

<figure><img src="/files/CAYuucdboL98fdZsbrVW" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="iOptron CEM25" %}
![The Latitude Adjustment knob on the iOptron CEM25.](/files/-MJEmSIl1_DNmsmujnWl)
{% endtab %}

{% tab title="iOptron iEQ30Pro" %}
For instructions, see Section 3.2.3 in the [iOptron iEQ30 Pro Manual](http://www.ioptron.com/v/Manuals/3000E_iEQ30Pro_Manual.pdf).

![](/files/-MNw3i5VqTesESOjKGPM)
{% endtab %}
{% endtabs %}

## STEP 3: Mount position

{% hint style="danger" %}
It is assumed you are keeping a close eye on the unit during this entire procedure. If at any time it looks like the mount or camera box might collide with the pier you should immediately turn off the mount power - by physically toggling the power switch - and resolve the issue.
{% endhint %}

### Test mount positions

You should ensure that your mount can take itself from the Park position (RA axis horizontal, cameras pointing roughly down) to the `Home` position (RA axis vertical, cameras pointing roughly toward Polaris) and back to `Park` position.&#x20;

![](/files/-MJExIo3a67QUuyTuzsS)

![](/files/-MJExONZtvav8R561RNn)

### Set mount position

Set mount at `Home` position with PANOPTES head up facing North and counterweight down.&#x20;

## STEP 4: Test image plate-solving

The process of polar alignment relies on plate-solving the image taken during the process. You can check this in advance by running the following test from the command line:&#x20;

`cd $POCs`

`pytest -xv pocs/test/test_images.py`


# Find Misalignment

How to find polar alignment errors.

## Step 1: Take observations

You can use `pocs run alignment` to take a series of pictures that samples the sky. This procedure will produce a series of pictures for use in the analysis steps below. There are a number of configurable options but the default should be fine for a first step:

```sh
$ pocs run alignment --help
Usage: pocs run alignment [OPTIONS]

 Runs POCS in alignment mode.
 Not specifying coordinates is the same as the following:     -c 40,90 -c 55,60 -c 55,120 -c 70,210 -c 70,330

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --coords         -c      TEXT     Alt/Az coordinates to use, e.g. 40,55 [default: None]                      |
│ --exptime        -e      FLOAT    Exposure time in seconds. [default: 30.0]                                  │
│ --num-exposures  -n      INTEGER  Number of exposures. [default: 5]                                          │
│ --field-name     -f      TEXT     Name of field. [default: PolarAlignment]                                   │
│ --help                            Show this message and exit.                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

## Step 2: Download drift data from the observations

* Beginner's tutorial on how to create, open and run a Jupyter notebook: <https://www.dataquest.io/blog/jupyter-notebook-tutorial/>
* Download the Jupyter notebook file `PANOPTES - 03 Drift Observation Polar Alignment.ipynb` in this [link](https://drive.google.com/drive/folders/14kkXs1TpZZruQF1LR08h_mK0bik6dmQn?usp=share_link) to your local laptop/computer.
* Follow the steps in the Jupyter Notebook, run one cell at a time consecutively until you reach the end of the notebook.

## Step 3: Fix misalignment in your mount

* Use the alt (deg) and az (deg) values obtained from the notebook to do the polar alignment as described in [Fix Misalignment](/build/deploy/polar-alignment/polar-aligning-panoptes/fix-misalignment).

{% content-ref url="/pages/cxvTcvnnw9A5h0X5kTpk" %}
[Fix Misalignment](/build/deploy/polar-alignment/polar-aligning-panoptes/fix-misalignment)
{% endcontent-ref %}


# Fix Misalignment

This page describes how to polar align your PANOPTES unit using the al (deg) and az (deg) values obtained from previous page.

## Altitude and Azimuth error in mount pointing

**al (deg): Mount misalignment in altitude**&#x20;

When misaligned in altitude, the mount is either pointing above or below the celestial pole.

* When al = +ve: The mount is pointing above the north celestial pole in the northern hemisphere and below the south celestial pole in the southern hemisphere.
* When al = -ve: The mount is pointing below the north celestial pole in the northern hemisphere and above the south celestial pole in the southern hemisphere.

**az (deg): Mount misalignment in azimuth**

When misaligned in azimuth, the mount is either pointing to the right (towards East) or to the left (towards West) of the celestial pole.

* When az = +ve: The mount is pointing to the left (towards West) of the north celestial pole in the northern hemisphere and to the right (towards East) of the south celestial pole in the southern hemisphere.
* When az = -ve: The mount is pointing to the right (towards East) of the north celestial pole in the northern hemisphere and to the left (towards West) of the south celestial pole in the southern hemisphere.

## Move the mount to do polar alignment

* Use ‘Azimuth’ adjustment knobs to move mount along X-axis, parallel to your local horizon. This axis has to be rotated by az (deg).
* Use ‘Latitude’ adjustment knobs to move mount along Y-axis, perpendicular to your local horizon. This axis has to be rotated by al (deg).

{% embed url="<https://youtu.be/qGUgxrJSG6o>" %}

You unit is now polar aligned!

## Test Alignment

* Run the unit again and take new observations.
* Use the Jupyter notebook file `PANOPTES - 03 Drift Observation Polar Alignment.ipynb` to download the drift rates for the new observations.
* If the stars are still drifting, repeat the process mentioned in [Find Misalignment](/build/deploy/polar-alignment/polar-aligning-panoptes/find-misalignment) for the new observations and do a second iteration of polar alignment of your unit.
* Repeat the process of taking observations, running only the new observations through the Jupyter notebook, determine al (deg) and az (deg), and do polar alignment until the stars have stopped drifting through the frames of a single observation.


# Operation

How to control and operate your unit.

This section is designed to help you operate your PANOPTES unit, from initial testing setup to the fully [automated operation mode](broken://pages/-MDuop8nwpZrOClW7dLb#overview). There is also a guide for [manual operation](/build/operation/manual-operation) for when you really just want to get some pretty pictures.

{% hint style="info" %}
The guides in the section assume you have a completed PANOPTES and would like to run it under normal operating conditions.&#x20;

If you need to test your unit as part of the build process, including the final polar alignment, see [Testing a PANOPTES Unit](broken://pages/-MEsRiuiy7VZTC-Nh0Rl).
{% endhint %}

As always, don't forget to check out the forum other tips from users:

{% embed url="<https://forum.projectpanoptes.org>" %}

### Automated Operation

This is the normal nightly operating mode for the Project PANOPTES survey and the default mode of operation for PANOPTES units.

Automated operation works by selecting from a predefined list of targets written in a file on the unit.  This list of targets can either be a default list provided by the PANOPTES team, or can be any list of targets that you wish!

See [Automatic Operation](/build/operation/automatic-operation) for details.

### Manual Operation

You can choose to manually operate a unit, either for getting specific images (like the pretty image of the Andromeda Galaxy taken by PAN012 below), for testing mount and camera movements, for following up on specific exoplanet transits, or simply just for fun!

Check out [Manual Operation](/build/operation/manual-operation)to learn more.

![Andromeda Galaxy imaged by PAN012](/files/-MEsSv5a4UFvS1omlLHH)

{% hint style="info" %}
Something unclear? Please post on the forum at <https://forum.projectpanoptes.org/> or email us at <info@projectpanoptes.org>.
{% endhint %}


# Automatic Operation

How to set up your PANOPTES unit automated nightly operation

## Overview

Most of the time the unit should be started in automatic mode, which just means that POCS will make the decisions about when to start and stop operations (based on safety conditions), what targets to observe (based on the scheduler and the constraints), and how the data is handled during cleanup.

{% hint style="info" %}
Make sure you have done the following:

* Set the [Configuration](/build/software/configuration) properly.
* Checked that all the [Services](/build/software/appendix/services) are running.
* Performed all the appropriate [Testing](/build/testing).
  {% endhint %}

### Automatic operation

Assuming everything is set up properly, running POCS in automatic mode is simple:

```sh
pocs run auto
```

This command will block for as long as the unit is running, so it should be done in a `tmux` (or `byobu`) session so it can live longer than your ssh session.

You can also view the detailed logs (in a separate [tmux / byobu](/build/software/appendix/tmux-byobu) pane or window) with:

```sh
# Follow the log file in a terminal.
tail -F logs/panoptes.log
```

### Using simulators

You can use simulators with the `pocs run` commands, passing a `-s` (or `--simulator`) option for each piece of hardware you need to simulate:

```
pocs run -s power -s night -s weather run
```

The possible list of simulators is:

* `power`
* `weather`
* `night`
* `mount`
* `cameras`

{% hint style="warning" %}
The `mount` and `cameras` simulators are not very robust.
{% endhint %}

{% hint style="info" %}
Note that you are passing the options to `pocs run` and not to `pocs run auto`, e.g.:\
\
`pocs run -s mount auto`\
\
and **NOT**:\
\
`pocs run auto -s mount`
{% endhint %}


# Manual Operation

How to manually operate your PANOPTES unit to take custom pictures.

## Introduction

This document provides advice and a general outline on how to conduct manual observations of interesting targets with your PANOPTES unit for fun, outside of its default survey mode in POCS. Note that the default survey mode, described in the [POCS Automated Operation Guide](https://docs.google.com/document/d/1I9lBAuRxitC95ltAhUAyZIoIpXjmorBdYzc3sN6EF14/edit?usp=sharing), would be a good prerequisite step for testing newly-deployed units.

| <p><img src="/files/-MEsSv5ZVbHQBCx1Kc_Z" alt=""><img src="/files/-MEsSv5_l1tFQRp6JUiN" alt=""></p><p>M93 Butterfly Cluster <em>(PAN001, Mauna Loa)</em></p> | <p><img src="/files/-MEsSv5a4UFvS1omlLHH" alt=""></p><p>M31 Andromeda Galaxy (<em>PAN012, Mt. Wilson)</em></p> |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- |

## Finding targets

With a rather large 10° by 15° field of view, PANOPTES units have photographed everything from bright galaxies, nebulae, star clusters, the Milky Way, and even comets! The celestial coordinates for your targets (Right Ascension, abbreviated as RA or α, and Declination, abbreviated as DEC or δ) can be obtained through an astronomical almanac, star charts, or an astronomy app.

Note that solar system planets might not be as ideal targets for PANOPTES units, because the large field of view doesn’t offer the magnification necessary to resolve any detail (ie. the rings of Saturn or the cloud patterns on Jupiter). Also note that in POCS, it isn’t currently possible to photograph the Sun (which would require solar filters to protect the camera detectors) or the Moon, as by default POCS has been programmed to avoid these targets.

### Known exoplanet transits

\- your unit can also observe known exoplanet transits!

\- learn how to pick transits: see [*Using the Swarthmore Transit Finder*](broken://pages/-MEsSv5T-9ObM31c0Qxy#_k4f90i7ad75r) in the Appendix

Consider observing transits with the following:

| 100% visibility, plus \~an hour before and after | <p>Bright star</p><p>(magnitudes \~)</p> | Elevation |   |
| ------------------------------------------------ | ---------------------------------------- | --------- | - |

## Observing preparations

Once you have a target in mind, quickly run through a checklist similar to the following to get set up before observing.

### 1. Check sky conditions

Because the Moon can drastically brighten the night sky, be aware of its current phase (which also determines the time it rises and sets). You can use an online calendar (such as the Lunar Calendar at [timeanddate.com/moon/phases](https://www.timeanddate.com/moon/phases/)) to check this. Depending on how close the Moon is to full, you may have to compensate for extra brightness in your camera’s exposure length later.

It can also be helpful to view an hourly forecast of the night’s weather beforehand, to help you plan your time accordingly. Note that [weather.com](https://weather.com/) offers hourly forecasts based on location for many parts of the world. Additionally, if your unit is located nearby an observatory, it’s possible that it has its own weather station or cloud cover webcams that update online.

### 2. Plot star trails

*(This step is optional.)* You can use a program like Stellarium ([stellarium.org](https://stellarium.org/)) or iObserve ([apps.apple.com/app/iobserve/id424693907](https://apps.apple.com/app/iobserve/id424693907)) to watch the path your target traces in the sky over time. This will help you get an idea for which part of the sky the target is in, and see how close it is to the Moon.

### 3. Create scheduler file

Set up a custom scheduler file for your target(s): in a terminal window on the NUC, change directory to the scheduler directory (at $POCS/resources/targets), then create a new .yaml file using the following scheme to specify observation parameters for each target.

| <p><strong>name</strong></p><p>Target name: allowed characters include letters, numbers, spaces, and hyphens (-).</p><p><strong>position</strong></p><p>RA and DEC coordinates formatted in hours-minutes-seconds and degrees-minutes-<br>seconds, respectively.</p><p><strong>priority</strong></p><p>An arbitrary number you can set to bias the scheduler toward picking certain targets (optional; default: 100). A relatively larger number = higher priority. Must be greater than 1.</p><p><strong>exptime</strong></p><p>Exposure time in seconds (optional; default: 120). Take the Moon phase and proximity into account! Note that this can be adjusted while observing.</p><p><strong>min\_nexp</strong></p><p>Minimum number of exposures to take during the observation (optional; default: 60).</p><p><strong>exp\_set\_size</strong></p><p>The exposures will be taken in smaller sets of this size (optional; default: 10). The minimum number of exposures (min\_nexp) must be an integer multiple of this size!</p><p>Note: An observation may consist of more exposures than min\_nexp but exposures will always come in groups of exp\_set\_size.</p> | <p> EXAMPLE 1 andromeda.yaml</p><p><strong>-</strong></p><p> <strong>name: Andromeda Galaxy</strong></p><p> <strong>position: 00h42m44s +41d16m09s</strong></p><p> <strong>priority: 100</strong></p><p> <strong>exptime: 120</strong></p><p> <strong>min\_nexp: 10</strong></p><p> <strong>exp\_set\_size: 2</strong></p><p> EXAMPLE 2 star\_wars.yaml</p><p><strong>-</strong></p><p> <strong>name: Tatooine</strong></p><p> <strong>position: 11h03m22s +63d09m00s</strong></p><p> <strong>priority: 100</strong></p><p> <strong>exptime: 60</strong></p><p> <strong>min\_nexp: 15</strong></p><p> <strong>exp\_set\_size: 3</strong></p><p><strong>-</strong></p><p> <strong>name: Arvala-7</strong></p><p> <strong>position: 03h45m01s -07d15m31s</strong></p><p> <strong>priority: 100</strong></p><p> <strong>exptime: 100</strong></p><p> <strong>min\_nexp: 10</strong></p><p> <strong>exp\_set\_size: 2</strong></p><p><strong>-</strong></p><p> <strong>name: Alderaan</strong></p><p> <strong>position: 05h29m47s -01d34m01s</strong></p><p> <strong>priority: 500</strong></p><p> <strong>exptime: 120</strong></p><p> <strong>min\_nexp: 6</strong></p><p> <strong>exp\_set\_size: 3</strong></p> |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

Tip: in the scheduler .yaml file, use a hyphen (-) on a new line in front of each new target, and hit Tab in front of each parameter to indent it properly.

\- add some tips for observing from a light-polluted area (ie. city)

\- include illustrative comparison between good and bad sky darkness (ie.

mauna loa vs. pasadena)

\- camera settings

\- approx magnitude ranges

### 4. Update POCS Configuration

In the pocs\_local.yaml configuration file under scheduler, change the fields\_file from the survey mode target list to the filename of your new scheduler file, from the previous step.

Make sure to also enable the setting for POCS to follow changes to the scheduler file so that you can tweak parameters, such as exposure time, while observing: under scheduler, set check\_file to true.

| Tip: the scheduler part of pocs\_local.yaml should now look something like: | <p><strong>scheduler:</strong></p><p> <strong>check\_file: true</strong></p><p> <strong>fields\_file: star\_wars.yaml</strong></p><p> <strong>···</strong></p> |
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |

After editing the config file, restart the config server: docker restart config-server

## Observing sequence overview

A high-level description for starting and fine-tuning observations follows, with links to relevant sections from the [POCS Automated Operation Guide](https://docs.google.com/document/d/1I9lBAuRxitC95ltAhUAyZIoIpXjmorBdYzc3sN6EF14/edit?usp=sharing) and [Appendix](broken://pages/-MEsSv5T-9ObM31c0Qxy#_spvwd62jvhm9) for further instructions. Sample log file excerpts are also included to help you know what to expect and easily recognize important messages.

### 1. Start PEAS and POCS

**Start PEAS**, and optionally check that the last readings from the camera board and weather station look OK – see [*Starting PEAS Shell*](https://docs.google.com/document/d/1I9lBAuRxitC95ltAhUAyZIoIpXjmorBdYzc3sN6EF14/edit#heading=h.wqmsbcdgpzfh) for all commands.

Then **start POCS** if it’s not already running, or if it hasn’t been restarted since changing the scheduler filename in pocs\_local.yaml – see [*Starting POCS Shell*](https://docs.google.com/document/d/1I9lBAuRxitC95ltAhUAyZIoIpXjmorBdYzc3sN6EF14/edit#heading=h.hjs7birt007n).

Make sure to have both PEAS and POCS **log files** visible, as you will need to monitor them for errors now and while you observe.

In the POCS log, check that both cameras were detected after running setup\_pocs. For each camera, you’ll see confirmation messages similar to the following as it is connected. (If one or both are not detected, try re-running setup\_pocs.)

**SAMPLE POCS LOG OUTPUT**

**D0213 05:03:10.384 camera.py] Camera created: Canon00 (XXXXXX) on usb:001,024**

**D0213 05:02:52.824 canon\_gphoto2.py] Connecting to camera**

**D0213 05:02:52.846 camera.py] Getting output from proc 133**

**D0213 05:03:01.305 camera.py] gphoto2 command: \['/usr/local/bin/gphoto2', '--port', 'usb:001,023', '--set-config-index', '/main/action s/viewfinder=1', '--set-config-index**

**', '/main/capturesettings/autoexposuremode=3', '--set-config-index', '/main/capturesett**

**ings/continuousaf=0', '--set-config-index', '/main/capturesettings/drivemode=0', '--set**

**-config-index', '/main/capturesettings/focusmode=0', '--set-config-index', '/main/captu**

**resettings/shutterspeed=0', '--set-config-index', '/main/imgsettings/imageformat=9', '-**

**-set-config-index', '/main/imgsettings/imageformatcf=9', '--set-config-index', '/main/i**

**mgsettings/imageformatsd=9', '--set-config-index', '/main/imgsettings/iso=1',&#x20;*****(ETC.)*****]**<br>

**NOTE: THAT LONG BLOCK OF TEXT WILL APPEAR IF THE CAMERA CONNECTS SUCCESSFULLY-**

**KEEP AN EYE OUT FOR IT!**

**D0213 05:03:10.262 canon\_gphoto2.py] Canon00 connected**

### &#x20;2. Begin observing

In POCS, **begin observing** by doing run\_pocs, and follow along what the unit is doing by watching the POCS log file. If anything goes wrong past this point, you can hit Ctrl+C to stop observing and park the unit. (If possible, wait for current exposures to finish before doing so.)

**SAMPLE POCS LOG OUTPUT**

**I0122 05:06:45.901 messaging.py] PANCHAT Ok, I'm all set up and ready to go!**

**I0122 05:06:50.739 messaging.py] PANCHAT Ok, I'm finding something good to look at…**

**···**

**I0213 05:06:52.470 messaging.py] PANCHAT Got it! I'm going to check out: Alderaan**

**I0213 05:06:57.820 messaging.py] PANCHAT I'm slewing over to the coordinates to track the target.**

**D0213 05:06:57.821 mount.py] Slewing to target**

**···**

**I0213 05:07:25.411 messaging.py] PANCHAT I'm at the target, checking pointing.**

**I0213 05:07:31.788 messaging.py] PANCHAT Taking pointing picture.**

**I0213 05:07:32.325 pointing.py] Taking pointing image 1/5 on: Canon01 \[Primary] (01abcd) on usb:001,002**

**D0213 05:07:32.333 camera.py] image\_id: PAN000\_01abcd\_20200213T050732**

**D0213 05:07:32.334 camera.py] Taking 30.0 s exposure on Canon01: /var/panoptes/images/fields/Alderaan/01abcd/20200213T050652/pointing00.cr2**

**D0213 05:08:02.893 core.py] Waiting for pointing events: 30 seconds elapsed**

As you can see from the log, POCS will start by selecting a target from your scheduler file. Then it’ll slew the mount to that part of the sky, and take a few *pointing images* using your primary camera. These are short exposures (30 seconds long by default) that POCS analyzes to help very precisely aim the mount at your target.

Once the target coordinates have been perfectly centered in the camera field of view, your unit will start taking the actual photos, following the exposure settings you’ve specified in the scheduler file. Both cameras will take exposures at the same time, of the same field of view.

### 3. Check first exposures

After the first few images have been taken, you can take a look to **make sure the photos are satisfactory**. Each exposure will be saved as the 3 following file types:

* The original .cr2 image: the Canon raw file format, which saves all exposure data. With regards to astrophotography, raw files are good for artistic image processing in an editing program such as Adobe Lightroom or Photoshop.<br>
* A .fits image: a file type commonly used in astronomy and scientific image processing. FITS files will require a specialized program to open (see [*Checking FITS exposure with DS9*](broken://pages/-MEsSv5T-9ObM31c0Qxy#_4zwx74ng751r) in the Appendix). Note that on the secondary camera, the FITS files will be immediately compressed, with the extension .fits.fz<br>
* A .jpeg image: this will have a much smaller file size, and is a good format for posting on the Internet. POCS generates these to have a timestamp and additional information displayed along the bottom of the photo.

The filenames of these photos will be the UTC timestamp at which they were taken.

The photos will all be located on the NUC under

/var/panoptes/images/images/fields/\[TARGET NAME]/\[CAMERA ID]/\
\[TIMESTAMPED FOLDER]

where the formatting and capitalization of TARGET NAME will have been determined by POCS, and the TIMESTAMPED FOLDER will be the UTC date that the observation was started.

| Tip: you can easily copy image file paths from the POCS log output as you wait for the images to be taken.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong>SAMPLE POCS LOG OUTPUT</strong></p><p><strong>I0226 07:59:34.831 messaging.py] PANCHAT I'm finding exoplanets!</strong></p><p><strong>D0226 07:59:34.832 observatory.py] Getting headers for : Alderaan: 120.0 s exposures in blocks of 10, minimum 60, priority 500</strong></p><p><strong>D0226 07:59:35.368 observatory.py] Exposing for camera: Canon00</strong></p><p><strong>D0226 07:59:35.377 camera.py] image\_id: PAN012\_358d0f\_20200226T075935</strong></p><p><strong>D0226 07:59:35.378 camera.py] Taking 120.0 s exposure on Canon00: /var/panoptes/images/fields/Alderaan/345efg/20200213T050652/20200213T051030.cr2</strong></p><p><strong>D0226 07:59:35.401 observatory.py] Exposing for camera: Canon01</strong></p><p><strong>D0226 07:59:35.413 camera.py] image\_id: PAN012\_95cdbc\_20200226T075935</strong></p><p><strong>D0226 07:59:35.414 camera.py] Taking 120.0 s exposure on Canon01: /var/panoptes/images/fields/Alderaan/01abcd/20200213T050652/20200213T051030.cr2</strong></p><p><strong>D0226 08:00:05.923 core.py] Waiting for observing events: 30 seconds elapsed</strong></p> |
| <p>Notice that:</p><ul><li>The filenames and paths from either camera are identical, except for the camera folder name<br></li><li>The filename of the original .cr2 raw file will be the same as the .jpeg and .fits files, once the raw file has been converted to these formats. So, the path from the log can be used for any file type; just change the extension at the end.</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

You can either view the photos directly on the NUC (if you are with the unit and there is a computer monitor connected) or copy them over to your computer using the scp command.

Tip: the scp command goes as follows (run it in a terminal window on your computer)

scp panoptes@\[IP ADDRESS]:\[NUC FILE PATH] \[PATH TO SAVE ON YOUR COMPUTER]

Example: scp panoptes\@100.200.300.400:/var/panoptes/images/fields/\
Alderaan/345efg/20200213T050652/20200213T051030.jpg \~/Documents/PANOPTES\_obs/

### 4. Make adjustments

*(This step is optional.)* You can adjust the observation as necessary (ie. increase exposure time if target is too faint) by editing the parameters you’ve set in the scheduler file.

### 5. Monitor observations

Keep the terminal window open and continue to occasionally check the POCS log file output for observing progress and any errors.

Tip: at this point it may be a good idea to start writing down a short summary of how the observation is going, ie. in an observing log notebook, for your own records. In the future, you can refer to this to keep track of what you’ve observed and plan camera settings, such as which exposure length was optimal for a target of a given magnitude.

## Returning to survey mode

Follow these steps when you’re done observing to have your unit resume its automated nightly sky survey operations.

* In the pocs\_local.yaml configuration file, change the fields\_file back to the survey mode target list. Currently, PANOPTES units are set to look at TESS sectors ([tess.mit.edu](https://tess.mit.edu/)), which are defined in the tess\_sectors\_north.yaml and tess\_sectors\_south.yaml files. Set your unit to view the TESS sectors corresponding to its location in the northern or southern hemisphere.
* Restart config server afterwards.
* Restart POCS.

##

## Appendix

### Using the Swarthmore Transit Finder

The online Swarthmore Transit Finder ([astro.swarthmore.edu/transits.cgi](https://astro.swarthmore.edu/transits.cgi)) makes it easy to search across various databases for stars with known exoplanet transits.

Fill out the form and hit *Submit* to generate a table of upcoming transits visible from your unit’s location. It may help to narrow down results by setting the following constraints on the form (change as needed based on your location's sky conditions):

**Depth**

Only show transits with a depth of at least **5** millimag (5 “parts per thousand”, or ppt).

**V magnitude**

Only show targets brighter than visual magnitude V = **12**.

**Day/night definition** (Under **Output format and labeling**)

Start night at Sun altitude of **−18 degrees (astronomical twilight)**

After getting query results back as a table from the Swarthmore site, it can be useful to sort the results by % of transit visible, then local evening date, as shown in the GIF below.

![](/files/-MEsSv5bQ3tT8goa2xVZ)

Tip: To view transits with the same constraints at a later date, you can bookmark the results page URL. No need to fill out the form next time!

### About meridian flips

The following information may be helpful when planning long, time-sensitive observations of known exoplanet transits.

#### What is a meridian flip?

![](/files/-MEsSv5c5Lxf1b4DhKFG)

In astronomy, the meridian is defined to be the circle intersecting the zenith at your location (the highest point in the sky, directly overhead) and both celestial poles. In the above animation, the star Sirius crosses the meridian, the line shown in green, as the sky rotates over a few hours. At this point on the meridian, Sirius reaches its highest elevation in the night – after it has risen from the east and is beginning to set in the west.

Similarly, if the target you're observing crosses the meridian, the German Equatorial-style mount that PANOPTES units use will need to swing over and reposition itself to continue tracking that part of the sky. This repositioning of the mount is called a meridian flip. (The photos on [this webpage](https://astronomy.mdodd.com/gem_movement.html) can help you visualize why the mount does this. 🔭)

#### How will a meridian flip affect observations?

The POCS scheduler vetoes targets that are going to cross the meridian during the minimum observing window (which is 60 120-second exposures long, by default) because after the mount flips, all the stars being photographed will potentially end up on completely different parts of the camera detector. With Project PANOPTES being an exoplanet survey, this is not ideal for generating transit light curves from the photos later on, because the data before and after the flip should be treated as 2 different observations and will have to be processed separately. So if possible, try to pick targets that either keep rising, or keep decreasing in elevation for as long as you plan to observe, to avoid the need for a flip.

| ![](/files/-MEsSv5djeyWAdWe4MO0) | **Tip:** One of the columns on the Swarthmore site lets you check each star’s elevation throughout the transit. When choosing a target, you may wish to prioritize this after factors such as the percentage of transit visible, star brightness, and transit depth. |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

Otherwise, it’s possible to work around the scheduler vetoing the target by shortening the minimum observing window: in the scheduler file, set min\_nexp and exp\_set\_size to be small (ie. 1) for the target. If the target is the only one in the scheduler, it will be observed for as long as possible. However, note that mount tracking errors may occur in POCS, which could interrupt or stop observations altogether. In addition, the scheduler will also re-run more frequently, wasting around 20 seconds of time in between exposure sets.

The following animations demonstrate whether or not a meridian flip is needed for two different targets. The meridian is the vertical line, and the target trail is plotted in orange.

| <p><img src="/files/-MEsSv5eZnyhJ2Up9Uui" alt=""></p><p><strong>Flip required:</strong> target crosses meridian</p> | <p><img src="/files/-MEsSv5fulHIGKseJDAT" alt=""></p><p><strong>No flip required:</strong> target stays west of meridian</p> |
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |

### Checking FITS exposure with DS9 ![](/files/-MEsSv5gtoM4k20Kn-GC)

DS9 ([ds9.si.edu](http://ds9.si.edu/)) is a program that astronomers like to use to view FITS files.

Download DS9 for your operating system at: [ds9.si.edu/site/Download.html](http://ds9.si.edu/site/Download.html)

Once installed on your computer, click on the FITS file you wish to view. (You may need to right-click select “SAOImageDS9” to be the program to open FITS files by default.)

The following is an example of an observation FITS file opened in DS9.

![](/files/-MEsSv5h__RsIkoWFIAb)

When you move the cursor around the image, the info in the top left corner (Value/counts, RA/Dec, image xy coordinates) will update.

(Explain WCS)

Also notice that the “counts” value for the stars are higher than those of the surrounding background pixels. The brightness of a pixel on the Canon camera detector is given here in “counts” (as in # of photons recorded). The maximum brightness that can be recorded before the detector becomes saturated is \~13,000 counts. To get count readings for a specific target, go to *Analysis > Name Resolution…* (second option) and type in the object’s name in the window that comes up. Click the *Resolve* button, then on the top menu bar, select *File > Crosshair To* and then *File > Pan To*. The counts for the star will be in the Value box at the top left of DS9.

![](/files/-MEsSv5iroH-CizRPxqa)

For an optimal exposure time, the counts on the main target should be around \~7000, but shouldn’t exceed 10,000. The counts for the background should be as low as possible.

### Plate solving with Astrometry.net

In astronomy, “plate solving” means figuring out which part of the sky your camera was aimed at, using software to find a match between the pattern of stars in your image and existing star catalogs. Astrometry.net ([nova.astrometry.net](http://nova.astrometry.net/)) is a popular online plate solving tool commonly used by astrophotographers, which can output an image’s exact sky coordinates (RA and DEC) and other information, such as any interesting deep sky objects or planets contained in the field of view.

You can upload your images to

* Through the web interface, at [nova.astrometry.net/upload](http://nova.astrometry.net/upload), you can upload any jpeg/fits/etc photos to plate solve an image of the sky containing stars. The process will take a few minutes. After it’s done, you can get more information about the photo, such as interesting objects in the field of view


# Data

Information about our data processing and results.

The nightly data for PANOPTES is hosted on our Data Explorer:

{% embed url="<https://panoptes-data.net>" %}
PANOPTES Data Explorer
{% endembed %}


