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 drastically 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.
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 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.
In addition to constellation names and figures, the Celestial Equator (light yellow), Ecliptic (red) and Galactic Plane (blue-green) are shown. Solar system objects are shown symbolically (see Mars, the Moon and the Sun in the above image).
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 display menu which allows you to turn finger mode on and off.
One may enter fullscreen mode by tapping the fullscreen button at the bottom left of the display.
When not in fullscreen mode, three menus are displayed at the bottom of the screen.
The time menu allows you to specify an explicit time between 3000 BC and 3000 AD, or the current time. If current time is selected, 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 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.
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.
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.
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.
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 program has been added to the community repository, so if you are running the 2008.8 stack, you need only type:
opkg install orrery
If you are running the 2007.2 stack, it is better (you get a better launch icon) if you download and install via opkg the latest .ipk file with 2007.2 in its name from here: .
Slow Display of Constellations
The first time you tap the display to go into constellation mode, it takes several seconds to show the constellations. This only happens the first time - subsequent switches are pretty fast (< 1 second).
Blurry Orion Label
Ooops - I didn't remove some emacs backup files from my first .ipk files. The only visible effect of this that the name of the constellation Orion will be typed twice, slightly displaced from each other, one with a tilda (~) following it. You can fix that by removing the file /usr/share/orrery/constellations/Orion~ . This problem was fixed on the 1.1.1 .ipk file for 2007.2, and the 1.1.2 .ipk file for 2008.8 .
Restarting gpsd crashes orrery
If you restart gpsd while the orrery is running, the orrery will crash if it is configured to use the GPS position.
Send more bug reports!
Version 1.1 Changes:
New user features: 1) Added "finger mode", which allows orrery to be used without a stylus. This is now the default mode. 2) Users can now specify which directory is the top of the data file tree for orrery. By default, this is /media/card/orrery, but the -d switch overrides this, so "orrery -d /usr/share/orrery" will tell orrery to look in /usr/share/orrery for the data files. 3) The orrery will now display the names of some of the most prominent stars. This is not enabled by default, however - you must select this feature using the "display" menu. Bug Fixes: 1) Fixed bug which caused cardinal point label ("North" etc) to be displayed at the top of the window rather than at the bottom, where it belongs.
Please send comments, suggestions, questions and/or abuse to firstname.lastname@example.org