Pi Planet Finder

A simple gadget that makes it easy to find your favorite planet (or other feature) in the night sky.

Similar projects worth following
This gadget uses the Raspberry Pi 3, GPS and a Sense Hat to allow you to select from a basic menu of planets and other objects in the night sky, then uses simple graphics to help guide you to "point" right to where that object is in the sky at your location just at that time.

I've recently started working with the Raspberry Pi, and have been looking for a fun first project.  I bought a Sense Hat for it, which is an add-on board that provides a magnetometer, gyroscope, accelerometer, tiny joystick and an 8x8 RGB LED matrix (along with some other sensors I'm not currently using).  Since we'd recently experienced The Great North American Solar Eclipse of 2017 and interest in the sky was... um, "high", I came up with the idea of making a little gizmo to help point people where to look for some common objects, mostly planets.

The Sense Hat provides almost everything I needed, namely a magnetometer for determining compass bearing, a gyroscope for reading the device orientation and the hardware for a very basic UI.  I added a GPS module to allow it determine both the precise location of the observer and the current time. I did some simple coding in Python, using the pyephem module for the astronomical calculations.

Using the Planet Finder is pretty simple.  Upon power on, it first attempts to get a GPS lock.  Usually this is pretty fast (a few seconds).  Next, you use the joystick to scroll through a simple menu of possible targets.  I've preloaded all the planets, the moon & sun (useful for testing) and Pluto.  Once you click the joystick button to select your planet, the real fun begins.

Using simple right, left and straight ahead arrows on the display, the planet finder guides you to the correct compass bearing to view your target (astronomers call this the azimuth).  Once you're pointing the right way, you'll see a green checkmark on the display, and it will then use similar arrows to guide you to the right elevation (referred to as altitude).  If you hold the device level in your hand with your arm outstretched, you should now be pointing right to your target.  Easy!

Once it's done guiding you, the display will go dark, but you can wake it up again and start the entire process over for your next target just by clicking the joystick button.  

When you're done with your viewing session in the field, don't just yank the power cable out!  Give the planet finder a good shake, and that'll trigger a graceful system shutdown.   Simply disconnect and reconnect the power to boot up again if you change your mind and decide to do some more planet gazing.

View all 7 components

  • Build Instructions Published

    David J. Bianco09/16/2017 at 01:31 0 comments

    I just published the build instructions.  The process is pretty straightforward, but please leave a comment if you have any questions or run into any problems.

  • GitHub Repo Now Available

    David J. Bianco09/15/2017 at 16:03 0 comments

    While working on finalizing the installation instructions, I found that I had accidentally left the GitHub repo marked "PRIVATE".  Sorry about that.  It's public now, so if you tried to access it and were denied, please try again.

  • User Interaction

    David J. Bianco09/13/2017 at 22:41 0 comments

    I had an hour or so this morning before work, so I decided to try coding up a simple method to allow the user to choose which object they'd like to locate.  The planet finder has no monitor or keyboard, so previously I had hard coded the target just for testing, but now it was time to add some interactivity.  

    I toyed with the idea of making a simple web UI that you could use from your smartphone or tablet, but rejected that (for now).  Yes, it'd allow you a lot of flexibility in selecting objects or even inputting your own orbital data, but when you involve the phone for a UI, you might as well use your phone's sensors for all the rest too, and skip the Pi altogether.  No, I wanted something that could be done entirely on the device, from start to finish. 

    I ended up with simple Python routine that takes a list of possible objects and lets the user use the joystick UP/DOWN to cycle through them until the user clicks the button on one of them.  

    It's not perfect, but so far it's workable.  I have some ideas about how to make it a bit nicer, but really the 8x8 LED matrix is a little limiting.  But it's better than pairing it with a phone!

View all 3 project logs

  • 1
    Install the Sense Hat

    Push the Sense Hat onto the Pi's GPIO header.  Be careful to put it on straight so you don't bend any pins.

  • 2
    Put the Pi into your case

    This is a no-brainer.  Note, though, that if you're using the case from my parts list, which is designed to fit a Pi with a hat, you'll have to remove the clear plastic window on top, or drill a small hole.  The Sense Hat's joystick is just a bit too tall to allow the case to close completely.  However, I haven't found operating without the lid to be a problem.

  • 3
    Connect the Pi to a monitor, keyboard and mouse

    You'll need to do the first few steps of the configuration this way, though later you can switch to using the network to complete the project if you like.

View all 11 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates