Please note: Some websites have links directly to the .ipk files for this program. While it is very gratifying that other people like the program enough to include a link to the .ipk file, those links will not automatically update when a newer .ipk file is uploaded. So using one of those links might cause you to install an obsolete version of the program. If your version of the code doesn't match the description below, please download the most recent version from here: . The current version is 2.5, and the version is shown under the "opts" menu, at the top of the "About Orrery / Symbol Key" page.
The orrery is a simple open-source application for the Openmoko platform which displays the night (and day!) sky. It is nowhere near as elaborate as, for example Google Sky or xephem. It is intended to be a small application that will have a storage footprint comparable to a ringtone, or one of the games bundled with the openmoko rootfs. It requires no network connection, but does use the GPS information, by querying gpsd. It will be converted to work with Gypsy once the dbus based software stack becomes available.
The star database was extracted from the Hipparcos catalog. To ease the computational load, the coordinates are not precessed or nutated before being displayed. Orbital elements are used, rather than ephemerides, to calculate planet positions. Although this is less accurate, it dramatically reduces the memory footprint. The planet positions are accurate to a few arc minutes, from 3000 BC to 3000 AD. Since the scale on the default display is approximately 8 arc minutes per pixel, these small errors are imperceptible, unless a very large zoom factor is used.
Note, the screen grabs shown below were taken with the orrery running atop the 2007.2 stack, because I find it easier to do a screen grab with that stack. The program works with 2008.x too.
The image above shows the default display - all stars visible to the unaided eye, with colors for the brightest ones. It's displayed with a Transverse Mercator projection (similar to Norton's Star Atlas) which works well with the VGA aspect ratio in portrait mode. It's a conformal transformation, so the constellations have about the right shapes. The Sun, Moon and planets are plotted, and the Moon is shown with the proper phase. The Sun and Moon are plotted with a size about 3.5 times larger than their true angular size on the sky.
The blue line near the bottom of the display is the horizon. Nothing below that line is visible, but the program plots objects there anyway, because it is often useful to know which objects are just about to rise, and which ones have recently set.
The orrery as a compass
The green numbers at the bottom are the azimuth values. The azimuth is measured along the horizon, from north through east. So the azimuth of due north is 0, east is 90, south is 180 and west is 270 degrees. By using these azimuth values, the orrery can be used as a celestial compass, if the sky above you is at least partially clear. Notice that the azimuth values are not exactly evenly spaced. This is caused by the distortion introduced by the Transverse Mercator projection.
There are two display screens defined. By default, one of them shows the display shown above, and the other shows the constellations, and symbolic representations of the solar system objects.
The constellations are plotted in three colors. The twelve zodiac colors are plotted in hot pink. The constellations plotted in gold are the classical Greek constellations, as listed in Ptolomy's Almagest (apart from the zodiac constellations, which are also in the Almagest). The only constellation from the Almagest which is not plotted is Argo Navis, which is not one of the official modern constellations (Argo Navis was broken up into the modern constellations Carina, Puppis and Vela). The remaining constellations, plotted in blue, where added during the last few hundred years.
In addition to constellation names and figures, three great circles, the Celestial Equator (light yellow), Ecliptic (red) and Galactic Plane (blue-green), are shown. Solar system objects are shown symbolically (see Mercury, Venus, the Moon and the Sun in the above image).
There are many informal constellations which are widely know, such as the Big Dipper, The Summer Triangle, etc. The user can choose to display some of these unofficial constellations by selecting "Use Asterisms" from the "items" menu. If you know of some nice asterisms that the orrery does not yet display, please send them to firstname.lastname@example.org, and I'll include them in a future release if I can. The image below shows the Big Dipper and Little Dipper asterisms.
The orrery has two control modes, "finger mode" and "stylus mode". By default the program is in finger mode. In finger mode, the image can be panned by tapping your finger in the bottom 1/5 of the display (excluding menus). The size of the panning step is controlled by how close your finger is to the edge of the display. If you tap in the center, it pans by 0 degrees, and nothing happens. If you tap near the left or right edges, it pans by the maximum allowed amount, +-45 degrees. Pan steps are quantized in increments of 5 degrees. You may exit fullscreen mode by tapping anywhere in the upper 1/5 of the display area. Tapping anywhere else toggles between the two screens.
If you are in stylus mode, the view can be panned around the sky by tapping the green arrows at the bottom, or the green azimuth values. In stylus mode, to exit from fullscreen you must tap in the area above the upper blue line, in the region where the time and location are displayed. Tapping anywhere else toggles between the two screens.
There is a check box in the opts menu which allows you to turn finger mode on and off.
One may enter fullscreen mode by tapping the FS button at the bottom left of the display.
When not in fullscreen mode, one button and four menus are displayed at the bottom of the screen.
Pushing the "FS" button pops you into fullscreen mode. To exit, tap the top 1/5th of the display (if you are in finger mode) or the region where the location and time is displayed (in stylus mode).
The opts menu allows you to toggle between finger and stylus mode. It also has a checkbox labeled "Save All Changes". If that box is checked, all changes you make within the menus are saved to flash memory when you click the "OK" button. If "Save All Changed" is not selected, you must click the "Save to Configuration File" to save changed configurations to flash - clicking "OK" makes the changes active for the current session, but does not save to flash.
The "White Flashlight" button paints the entire screen white, and the "Red Flashlight" button paints the entire screen red. Both may be used as a flashlight, but the red one is best if you are trying to preserve your night vision.
Sunrise, Moonrise and Moon Phases
The "Sun and Moon Information" button displays a page giving the sun and moon positions, rise and set times, phase etc for five days, centered on today:
The highlighted date is the current UT date (unless the time menu has been used to select a different time). The highlighted rise and set times are the next ones which will occur at your location. Of course, that may be on a different UT date (for example, during daylight hours, the next sunrise will be tomorrow). The times are shown as Universal Times (UT), which may annoy people, UT is used because the orrery allows you to select any location on the earth, and any time from 3000 BC until 3000 AD. It would be very difficult to keep track of all the timezone, daylight savings change dates, etc for that time range! So I have wimped out, and displayed UT, which is always reasonably well defined.
The current sun and moon positions shown are geocentric - no topocentric correction has been applied. However topocentric corrections are applied when rise and set times are calculated, so they should be reasonably accurate for a specific location on earth.
The moon illumination percentage shown on the line with the rising and setting times is the value at transit. The illumination shown on the line that has the drawing of the moon phase is the illumination percentage at this moment.
This page also shows the UT date and time of the four major moon phases (New, First Quarter, Full and Last Quarter) for a time span of 17 lunar months, centered on the current time (which of course can be changed with the time menu). The next time and date when each phase will occur is highlighed.
Big Moon Calendar
The Big Moon Calendar is a graphic display of the phase of the moon for each day from 10 months before the current month, until 10 months after the current month (roughly 640 days), as shown below:
Each column shows one month, and the day number is shown for each row. At the top and bottom of each column is shown the first letter of the name of the month shown in the column. Two vertical green lines separate years. The current Universal Time date is outlined in a red box.
This Month's Moons
The This Moon's Moons page shows the phase of the moon for each day of a particular month. By default, the current month is shown, but one may use the arraw buttons to pan through the months.
To exit the Moon Calendar displays, just tap the screen anywhere.
The Planet Compass page graphically shows where each of the planets is at the current time.
The image has one complete circle, which shows the planet azimuth, and one semicircle, which shows the elevation.
The azimuth circle has blue triangles marking the four cardinal points: North, South, East and West. There are small tick lines at the NE, SE, SW and NW directions, as well as a small dot every 10 degrees. The planet symbols are shown with lines projecting to their current azimuth. The line is white if the planet is above the horizon, and red if it is below the horizon.
The elevation semicircle has blue triangles marking the directions of the Zenith, Horizon and Nadir. Small dots are shown every 10 degrees, and there are short lines at +-45 degrees. As with the azimuth circle, lines connect the planet symbols to their current elevations.
Below the compass graphic, the name, Hour Angle (HA) rising time and azimuth, transit time and elevation, and setting time and azimuth is shown for each planet. The name and HA of the planet is highlighted if the planet is above the horizon. The time of the next event - rising, transiting or setting, is also highlighted for each planet.
Schematic Solar System View
This button presents a schematic view of the Solar System, showing the locations of the earth, the earth's moon and the other planets in their orbits around the sun. The view is schematic in the sense that the orbit radii and planet sizes are not shown to scale. However the positions of the objects within their orbits are correct (the heliocentric ecliptic longitudes are correct).
Several buttons are drawn at the bottom of the display, which allow you to show an animation of the motion of the Solar System objects for several time increments. Showing the motion of planets in this way is what mechanical orreries do.
To-Scale Solar System View
This button displays the Solar System with the planet orbits shown with the proper relative sizes. The orbits are also plotted as ellipses in this display, with the correct eccentricity and orientation. The moon is not plotted, because it would be too close to the earth to display if any of the planet orbits were completely shown. Because Neptune's orbit is nearly 100 times larger than Mercury's, it is not possible to display all of the planet orbits simultaneously. There are "Zoom In" and "Zoom Out" buttons which allow you to select which proper subset of planet orbits is shown. The current position of each planet in its orbit is shown. Also plotted are grey lines connecting the Sun to each orbit, terminating with a white dot at the position of the planet's perihelion (where it is closest to the sun in its orbit). The image below shows the display when the outermost plotted planet is Mars. Note that the orbits of Mercury and Mars are quite noncircular:
About Orrery / Symbol Key
This button displays an annotated list of all the symbols used on the orrery display.
The time menu allows you to specify an explicit time between 3000 BC and 3000 AD, or the current time. If "Now" is selected, the current time is used and the display updates automatically once per minute. If a specific time is selected, it is shown in red, to remind you that the display is not going to update automatically as time passes. The time may be specified as a calendar date, or as a Julian Date.
The Julian Date is a less ambiguous way of entering times in the distant past than using a calendar date, because of the differing calendar systems in use worldwide before the late 16th century. For example, the date October 10, 1582 never occurred in some European countries. Many countries have gaps in their calendars with missing dates when they adopted the Gregorian Calendar.
The place menu allows you to select the GPS-derived location, a user specified latitude and longitude, or a city or astronomical observatory selected from a menu. The lists of locations are stored in ASCII text files under the menus subdirectory of the program installation area on your phone. You may save your selected location, by hitting the "Save to Configuration File" button, so it will be used the next time you start the orrery. If you would like to add additional cities etc to one of the menus, you may simply edit one of the menu files, and add the name, latitude and longitude of the location. You will need to restart the orrery program for your new locations to become available.
To use the menu option, first select the "place" menu. Then, select the "Menu" checkbox at the top right of the screen. You will notice that the "Region" menu will then become highlighted. Push "Region", and then select the continent or category of the area you want the sky to be shown for. Once you have selected a region, a pull-down menu with the name of that region will appear next to the "Region" button. Use that new menu to select your city. After the city is selected, its name will appear next to the regional menu.
If you select a "Custom" or "Menu" location, a button labeled "Save in Private Menu" will appear. After you select your new position, you may push that button to save it in the menu labeled "Private". That menu is initially empty.
How to change the default location from Cambridge MA
To change the default location, just use the place menu to select a new location as described above, and be sure to push the "Save to Configuration File" button. That will make the currently selected position your new default location, which will be used whenever the program is started, unless GPS is selected.
The display menu allows you to configure the display, selecting such things as the faintest magnitude object displayed, whether constellation lines are plotted, whether or not star names are displayed, etc.
Deep Sky Objects
If you select "Deep Sky Obs" from the items menu, you will be shown some of the brightest Deep Sky Objects. Deep Sky Objects are objects such as galaxies, expelled envelopes of dying stars, clusters of young stars and lumious gas. A few, such as the Andromeda Galaxy, are visible to the unaided eye. Many more are visible with binoculars or a small telescope. The orrery shows all messier objects, and many other well known bright nebulae and star clusters. The image bellow shows the Messier objects in Sagittarius.
Adding Your Own Deep Sky Object List
You may add your own list of deep sky objects to be plotted. Simply create a file within the directory /usr/share/orrery/deepSky/ with any name. The file should contain lines of text with the format
name HH MM SS.SS DD MM SS.S type mag
where name is the object name, which may not include white space, HH MM SS.SS is the Right Ascension, DD MM SS.S is the declination (do not include a + sign for positive declinations) "type" is an integer specifying the type of object. 0 = Supernova Remnant, 1 = Globular Cluster, 2 = Open CLuster, 3 = Diffuse Nebula (HII region, etc), 4 = Planetary Nebula, and 5 = Galaxy. The "mag" is the visual magnitude. The orrery program currently does nothing with the visual magnitude, but future versions may use it.
Changing the Magnitude Limit
By default, the orrery displays every star a person with excellent eyesight located in a very dark area on a moonless night can see. If your observing conditions are less ideal than that, it can be helpful to use the "Mag. Limit" filed in the item menu to lower the limit of the faintest object plotted. The plot below shows the "Summer Triangle" region plotted with the default 6.6 limiting magnitude on the left, and a 5.0 limiting magnitude on the right.
If you tap "Save to Configuration FIle" your new magnitude limit will be the default the next time orrery is run.
There are four types of touchscreen gestures which you can make in the plotting area which are recognized by the orrery: Taps, Zooms, Pans and Presses.
If you press the display area, and withdraw your finger or stylus within 0.25 seconds, that gesture is considered a tap.
Tapping in the lower 1/5 of the display area will pan the display in azimuth. If you are in fullscreen mode, then tapping in the upper 1/5 of the display will take you out of fullscreen mode. Tapping anywhere else toggles between the default screen and the constellation screen.
If you press the screen and trace out a roundish figure, and remain in contact with the screen for more than 0.25 seconds, and if the figure encloses a nontrivial (> 300 pixels) area, the gesture is considered to be a zoom. As you move your finger or stylus, the region you are outlining will be shown as a green dotted line. After you release your finger from the display, a red box will be shown. The red box is a rectangle with the aspect ratio of the display area, and the same area and centroid as the region you traced out with your finger. The display will then be zoomed so that the region in the red box fills the display area:
The image above shows the display immediately after the zoom gesture has been made (left) and after the zoom has become active (right). One may zoom an image which has already been zoomed.
Zooming can do some non-intuitive things, especially if you zoom near the upper left or upper right of the display. This is because the orrery's transverse mercator projection always has a line of constant azimuth in the center. This means that something zoomed at the edge of the display area will be rotated as it is zoomed, and some of the stars you wish to display may be rotated out of the display area. It is best, especially if you are zooming in on an area near the zenith, to first pan the display so that the region is near the center of the display, before zooming. The nice thing about the transverse mercator projection is that a zoomed area is displayed with the orientation it would have if you were directly facing it at the time indicated by the display.
If your zoom area includes the zenith, the display any do weird things. This is a bug.
A pan is like a zoom, but with a more linear, rather than roundish gesture. A pan can be used to move the center of a zoomed region. It has no effect if the display area is not zoomed. After you release your finger or stylus following a zoom gesture, orrery will show the region you traced out in green, and will draw a red arrow showing the direction and size of the pan. After that, the display is re-drawn with the new center position.
The image above shows the display immediately after a pan gesture has been made (left) and following the re-drawing of the display area (right).
If you push down on the touchscreen for more than 0.25 seconds, and do not move your finger or stylus significantly while making contact, you will have made a press gesture. Since one almost always moves one's finger a little by while pressing the screen, some small motion is allowed during a press gesture. This means that a zoom or pan gesture cannot be arbitrarily small, because it will be interpreted as a press.
If the screen is zoomed, then the press gesture unzooms it. If the screen is already unzoomed, then the press gesture has the same effect as a tap gesture.
If you select "About Orrery / Symbol Key" from the "opts" menu, you will be shown an annotated list of the symbols used by the orrery, which is reproduced below:
NOTE: the current version is 2.5.
The solar system symbols, used by default on the constellation page (screen two), are the standard astronomical symbols for these objects. They are explained here: 
The dotted yellow line is the Celestial Equator, the intersection of the Earth's equatorial plane with the celestial sphere. The red dotted line is the Ecliptic. The Ecliptic is the intersection of the Earth's orbital plane with the celestial sphere. The Ecliptic is also the path of the Sun across the sky, and the intersection points between the Celestial Equator and the Ecliptic are where the Sun is at the time of an equinox. Constellations lying along the Ecliptic plane are zodiac constellations. The planets and the Moon are always near, but usually not exactly on, the Ecliptic. The blue-green dotted line is the Galactic Plane, the intersection of the plane of the Milky Way's disk and the celestial sphere.
Displaying Stars Too Faint for the Unaided Eye to See
The default sky catalog used by the orrery contains every star you can see with your unaided eye, even if you have exceptionally good eyesight, and are located in a very dark area on a moonless night. If you wish to display stars which require binoculars or a small telescope to be seen, you can download the file hipparcos_9.0.dat from the orrery area of the gForge site: .
You must load this file onto your phone, of course, but you probably will want to store it on the microSD card, because the file is so large (3 megabytes). You must make a softlink in the top of the orrery files area called "faintStars", which will point to where the hipparcos_9.0.dat is actually stored. For example, if you do the default opkg installation of the orrery (or use a script like Kustomizer), and if you store the hipparcos_9.0.dat at the top directory of your microSD card, you must issue the following command to make the faint star catalog usable:
> ln -s /media/card/hipparcos_9.0.dat /usr/share/orrery/faintStars
You must restart the orrery after making this softlink.
Once the new catalog and softlink are in place, the orrery will allow you to change the maximum magnitude (using the item menu) all the way up to magnitude 9.0. Note that the default, smaller catalog is still used if the maximum magnitude is no larger than 6.6, so you may used the orrery with the faint star catalog, and not incur and performance penalty as long as you restrict yourself to stars no fainter than 6.6. The faint (mag > 6.6) stars cannot be displayed in constellation mode.
The default orrery star catalog contains 9931 stars. hipparcos_9.0.dat contains 83392 stars, and is complete to 9th magnitude. The orrery will be more sluggish if you choose to display stars fainter than 6.6. If you choose to display all the stars in the hipparcos_9.0.dat, by setting the magnitude limit to 9.0, it will take about 10 seconds to draw the star map.
The plot below shows Lyra with limiting magnitudes of 6.6 (left) and 9.0 (right).
Remember, there's no reason at all to install the hipparcos_9.0.dat file unless you plan to do star gazing with binoculars or a small telescope.
This program will run on either the neo1973 (gta01) or the FreeRunner (gta02). Users of the neo1973 may wish to move the files to the microSD card, to save space in the limited builtin flash memory (see below).
Supported Software Stacks
This program has been tested running atop the 2007.2 and 2008.8 distributions. It probably will work with FSO too. It is gtk based.
A note about FSO
At least some versions of FSO do not include the file /usr/lib/libpopt.so.0 . orrery uses that file, and will not run without it. If you cannot get orrery to run on FSO, try issuing the command
opkg install libpopt0
and then launch orrery again.
This program requires 630 kbytes of storage space in the phone's builtin flash storage or microSD card. By default, most of the files (everything except the .desktop file, the launch icon and the executable) are stored under /usr/share/orrery. This directory tree may be moved elsewhere, if the new location is specified with the -d switch on the orrery invocation line in the .desktop file. The .desktop file resides in /usr/share/applications .
Installing this Program
.ipk files for this program are now available for both the 2007.2 and 2008.8 stacks, at the gForge site. It is much easier to install than it used to be. The latest .ipk files can be found here: .
Zooming the zenith area doesn't work
If you make a zoom gesture that includes the zenith, or if you pan a zoomed region so that the zenith falls within it, the orrery goes nuts.
Send more bug reports!
New user features: Added a to-scale Solar System view, which shows the positions of the planets to proper scale, with elliptical orbits. Added the ability to display common asterisms, rather than official IAU defined constellations. Official constellations are still shown by default. Improved handling of the faint star catalog, so that the normal catalog is used if you chose to display only stars visible to the unaided eye, but if you have installed the faint star catalog, it will be used if you choose to display stars that require binoculars or a small telescope to see. Added a display of the number of satellites being tracked and being used for the last fix, which is displayed when GPS position mode is active. This was requested by a user. Bug Fixes: In version 2.4, the Solar System View time increments were always 1 day too small, which made the +-1 day buttons do nothing at all. That has been fixed. Fixed a bug which lead to a nonterminating loop if the moon phases were calculated at a time within a few hours of the new moon. Added a trap for the SIGPIP signal, so that a shutdown of the socket to gpsd will no longer crash the program. Now the gpsd connection will be re-established, if possible. Cleaned up planet-related code.
Please send comments, suggestions, questions and/or abuse to email@example.com
Orrery displays the objects in the night (or day) sky. It uses the GPS position, if available