Skip to content
Find things in space and point to it.
Python C++ Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Ardiuno
RaspberryPi
images
.gitignore
README.md

README.md

SpacePointer

Find things in space and point to it.

This project was inspired by https://github.com/gradyh/ISS-Tracking-Pointer.

I wanted to expand it to point at more things then just the ISS and make it easy to use. It uses a compass so there is no need to align the pointer, just set it down and start using it.

Skyfield is a python package that does all the math for the pointer.

Video

Pointing @ things

Images

Pointer

Pointer

Driver

How to install.

  1. Setup your Raspberry Pi and connect it to your Wi-Fi.
    • this has to be done at least once. But the data for the space station and other satellites needs to be updated often.
  2. Enable the SPI and GPIO on the Raspberry Pi.
  3. Make sure its up to date.
    1. sudo apt-get update
    2. sudo apt-get upgrade
  4. Give the Pi a reboot here.
    1. sudo reboot
  5. Install python dev.
    1. sudo apt-get install python-dev
    2. sudo python setup.py install
  6. Install python GPIO.
    1. sudo apt-get install python-rpi.gpio
  7. Install skyfield. It does all the space math for us.
    1. pip install skyfield
  8. Install Adafruit library for the display.
    1. git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
    2. cd Adafruit_Python_SSD1306/
    3. sudo python setup.py install
    4. cd ..
  9. Clone this repo.
    1. git clone https://github.com/blee1170/SpacePointer.git
  10. Program the Arduino.
    1. The declination will need to be configured for your location. Use http://magnetic-declination.com/ to find it. Update it on line 130 in the Arduino code.
    2. Compass offset will also need to be set. I used this Arduino code to find it: https://github.com/jarzebski/Arduino-HMC5883L/tree/master/HMC5883L_calibrate
    3. I did not setup the Raspberry Pi to program the Arduino, I used another computer because of the steps above.
    4. Once the calibration offset and declination is set, you can write it to the Arduino.
  11. Configure settings.
    1. Update your latitude and longitude in the RaspberryPi/config.py file.
    2. Also set what port and speed the Arduino will be listening on. (The defaults should be okay, unless you are using a USB hub or something).
  12. Have the pointer start on startup.
    1. Copy the systemd service file to /usr/lib/systemd/system/.
    2. sudo cp RaspberryPi/spacePointer.service /usr/lib/systemd/system/
    3. Enable the service.
    4. sudo systemctl enable spacePointer
  13. If you are using the adafruit powerboost you will want to enable the battery watcher service.
    1. Copy the service file and timer to /usr/lib/systemd/system/.
    2. sudo cp RaspberryPi/spacePointerBattery.* /usr/lib/systemd/system/
    3. Enable the timer.
    4. sudo systemctl enable spacePointerBattery.timer
    5. Ensure the script is runable.
    6. chmod +x lowBattery.sh

Parts list

Actobotics Parts


Hardware wiring

alt SpacePointer Fritzing

The Teensy-LC was used because it can do both 5v and 3v outputs. The magnetometer can only do 3 volts, but the stepper driver needed 5. This was a great board for only $10.

The Raspberry Pi is wired up to display what is being tracked. I used this from Adafruit.


Things I would like to add

  1. Bluetooth interface. So you can use your phone to control it.

Code used

You can’t perform that action at this time.