Being myself (Walid) in the COMS sub-team at McGill Space, I have suggested to my friends this idea. Given that satellite communication is one of the most important form of communication for humans, we believe that having an autonomous satellite tracker can be the first step to fine-tuning the tracker into a transceiver and given it's portability, it enables us to be in constant communication with the outside world, in any remote place on Earth.
What it does
The satellite tracker runs on an interface between Python and Arduino. The python part does the prediction for us after giving it as a parameter the type of satellite we are interested in tracking (weather, amateur, stations, etc...) and then given the Two Line Element data updated every hour from NORAD, it outputs the closest satellite above a certain degree of elevation as a form of two servomotors signals. The Arduino gets those two signals and outputs them to the servos and is updated every 100ms.
How we built it
We have used open sources libraries namely, Pypredict that given the TLE data from NORAD, outputs the estimated position of the satellite in real time, we then automated the process to get the next passing satellite and do the same.
Challenges we ran into
We were first going to automate the process of decoding the downlink of the weather data into weather images using an SDR receiver (Radio receiver that fits to USB) and we have the code ready to run and decode (even the antenna) but the code will not compile on our macs and we designed the code to run on linux-based systems only. We also did not have enough time to implement systems we wanted to, such as the accelerometer and magneto-scope input.
Accomplishments that we're the most proud of
We are mostly proud of our Python and Arduino interface and tracking as well as of our decoding process, even though we could not have tested it.
What we learned
We mostly learned to develop for cross-platform compatibility