Hello SatNOGS Community!
Apologies in advance if this exact topic has already been posted. I also apologize because I am fairly new to Linux and radio communications. Lastly, this is a long one. To summarize, I am so sorry…
My university is currently working on our first Earth-orbiting satellite, and I am heading the project (actually, I am the only one working on it right now…) I have included current info on our satellite radio at the bottom. Please let me know if you need more.
I came across SatNOGS by chance when figuring out how we will receive data from our satellite and thought your system would be perfect for us. We are on an ultra-low budget and already planning on transmitting on amateur frequency (we have a general-class license, and I have used APRS in the past for weather balloon experiments). However, I seem to be lost in the process of how to implement our satellite as I have no experience in radio modulation/demodulation or encoding/decoding. I found the topic by @killic1 here: SatNOGS Satellite Model Testing. I, unfortunately, am not as well versed as @killick1 and still do not understand the process of creating a custom flowgraph (if I need to) and demodulator, testing theses offline, then implementing them into the network. I am a humble newbie whose degree is in physics and not engineering or CS.
I’ve read the “Satellite Operator Guide” wiki here: Satellite Operator Guide - SatNOGS Wiki. To keep my questions organized, I will ask them in step order under 2.2 – “Add a new mission”:
- No question here. I just need to figure out what we’re calling our orbiting friend.
- Here’s potentially the dumbest question of mine. What’s the best way to figure out what flowgraph will work or if I need to make my own?
a. Should I install gr-satnogs and gr-flowgraphs on a non-RPI distro and then test the examples? I’ve tried installing these packages manually on several distros (UB 16,18,20, and openSUSE Leap 15) but always have some kind of problem and can’t get them to work. I just found this topic, though: Best way to set up/change SatNogs on Ubuntu machine and haven’t yet tried the Ansible script yet.
b. Can I use the RPI image to test the flowgraphs with data I collected manually? In other words, can I record the waterfall of my satellite transmission using whatever SDR program and then feed them into the flowgraphs manually so that I can test the output?
c. If a. and b. aren’t good options then is my only option to make my station operating in “test” mode and then schedule observations of my satellite using the flowgraph I think will work? What about the demodulation?
- I should be able to do this if needed.
- I’ve never used Kaitai, but I found the forum topics here Starting with satnogs-decoders and here Small example to write a frame decoder using kaitai structs and will follow them. I’ll probably have more questions when I get to this step.
- I haven’t looked too much into this stem yet, so I don’t currently have questions.
I really appreciate any help you can give me or directions on where I can go to find more information. As stated, I’m probably in way over my head, but I’m excited to learn more and be a part/support this community any way I can!
Information on our satellite:
Formfactor: 1U TubeSat
Brains: Controlled by an Arduino Mega operating at a 3.3v logic level
Radio: Our radio is the si4464 chip from Silicon Labs (PDF on its packet handling here if it’s of any help: https://www.silabs.com/documents/public/application-notes/AN626.pdf). It’s currently set up to transmit at 434 MHz with a 30 MHz crystal frequency and FSK modulation.
Coding: Done in C/C++ because of the Arduino controller. To control the radio chip, we are using this library: Radio - Arduino Reference
Goal: To transmit basic satellite data like battery levels and other sensor data. If possible, be used as an amateur radio beacon. This satellite is mostly a proof of concept to get my university started in the small satellite community for future missions. We have a launch paid for but have not yet scheduled it.