EIRSAT-1 Mission

Hi all!

This post has been a long time coming, but I would like to finally introduce the EIRSAT-1 mission to the SatNOGS community!

Firstly I would like to say what an amazing project and community you have here! We have from time-to-time, in between testing, used the Ground Station that we are developing for EIRSAT-1 as a SatNOGS GS (station 2271) and whenever we do, I always find myself getting sucked in, scheduling lots of observations and getting excited when my observations show up on the dashboards.

EIRSAT-1 is a 2U CubeSat developed by student-led team from University College Dublin (UCD) in Ireland. We started the project back in 2017 in response to a call for applications to ESA’s Fly Your Satellite! 2 programme. To our astonishment, we were selected for the programme and that began our long journey to develop, build, test, and soon launch and operate the first ever satellite from Ireland.

EIRSAT-1 is manifested to launch on the VV23 flight of Vega-C early in 2023. It would be incredible to have the support of the SatNOGS community during the mission and particularly at launch. We know from the expected flight profile that it will be many hours before our Ground Station in Ireland will be able to contact EIRSAT-1 so it’s almost a certainty that the first observations will be made by dedicated individuals like yourselves!

We’ve created a GitHub repository (https://github.com/ucd-eirsat-1/beacon) with some reacordings and details of how to decode some of our beacons. This is a work in progress and we do hope to expand it with more details of different EIRSAT-1 data and to serve as a tutorial to encourage more people to take part. We think the easiest way for most people to get started observing EIRSAT-1 would be through building their own SatNOGS GS. So we would like to have EIRSAT-1 support in SatNOGS and then encourage new people to join the network.

The repository contains recordings and, I think, all the details necessary to decode them as well as a gr-satellites SatYAML.

I’ve begun working on a .ksy that can decode two of our beacon types so far. It’s not the right format for SatNOGS just yet, but it is very heavily documented so I think it will also serve as a good explanation of what data our beacons contain and the necessary calibrations required to interpret the data. One issue that I’ve run into is that EIRSAT-1’s flight software builds up the beacon data using the same data aggregators that we use to store data onboard and to save space, all parameters are bit-packed. That is, the individual parameters are not byte-aligned. In Kaitai Struct this works fine for unsigned integers but for any other data type, I haven’t been able to figure out how to get the correct values. If anyone has any advice on how to deal with this that would be greatly appreciated! On our Ground Station, we use Construct to parse out the byte contents from the beacon (which I have been able to do with Kaitai Struct) but then the data calibration functions reinterpret those bytes as the correct datatype (which I haven’t figured out in Kaitai Struct).

Thanks!

7 Likes

Welcome to the SatNOGS community and thanks for checking in! While I don’t have answers to address you specific data question, I’m certain other community members can expand on this. We’re here to help and look forward to a continued dialog about your upcoming mission.

1 Like

Welcome @davidmurphy !

I have used Kaitai to decode multiple formats that don’t align in byte boundaries and found no problem, so I’m sure we’ll find a way.

The easiest way forward might be real-time chat on Matrix or irc. See Community - Libre Space Foundation for connection info.

3 Likes

I’m adding also this link Get In Touch - SatNOGS Wiki which is more SatNOGS specific. :wink:

Hi @davidmurphy and welcome!

I’m cc’ing @DL4PD for the ksy issue, maybe it would be a good idea to open a merge request in librespacefoundation / SatNOGS / satnogs-decoders · GitLab and discuss there any issue.

About the rest process of having SatNOGS support your mission, we have this guide Satellite Operator Guide - SatNOGS Wiki it is not complete but it can give you some hints.

When we have everything ready, we can try in our dev environment an end to end test, your engineering model transmitting, a SatNOGS station receiving and sending data to network-dev, network-dev sending data to db-dev where the data are decoded and sent to grafana and get visualized in your dashboard.

Thank you also for contacting as that early, usually we integrate missions after deployment. :slight_smile:

3 Likes

Good day David,

Welcome on the community forum and really great to see all the information that you share.

I tested the recordings and gr_satellites yaml file and these are also working perfectly.

gr_satellites EIRSAT-1.yml --wavfile primary_no_conv.wav --samp_rate 48e3 --input_gain -1

***** VERBOSE PDU DEBUG PRINT ******
((transmitter . 9k6 GMSK downlink) (rs_errors . 0))
pdu length =        892 bytes
pdu vector contents = 
0000: 00 10 58 58 18 00 08 02 c0 58 00 d3 10 03 19 02 
0010: 45 49 52 53 41 54 2d 31 49 72 65 6c 61 6e 64 27 
0020: 73 20 46 69 72 73 74 20 53 61 74 65 6c 6c 69 74 
0030: 65 21 20 20 20 20 20 20 00 5a e4 97 00 00 07 14 
0040: 44 2f 01 00 8d ff 6f 80 00 00 00 00 00 00 00 00 
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 07 38 a7 
0070: 69 ea 6c 00 00 03 2a e8 f0 5d 73 78 00 c1 c0 40 
0080: 02 fe 43 fd 8a fc 6f fd 89 00 40 20 04 02 00 40 
0090: 20 04 00 32 6b ff db ff ac 00 70 00 00 00 00 00 
00a0: 00 00 01 c4 94 5d 20 00 01 b0 00 02 72 80 00 7f 
00b0: ff ff ff e0 00 0f ff ff ff ff c0 00 3f ff ff f0 
00c0: 00 0f ff ff ff ff ff ff 00 00 00 00 00 00 04 c0 
00d0: 07 40 99 80 00 8c 04 bf ff ff ff ff ff ff 1d 9d 
00e0: 07 ff 00 00 02 95 00 00 00 00 00 00 00 00 00 00 
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0370: 00 00 00 00 00 00 00 00 00 00 00 00

Lets make this a successful launch.

2 Likes

After suggested by @PE0SAT the satellite is in DB with a temporary NORAD ID (99320). Feel free to suggest more changes/details and also add transmitter(s) or change the current one suggested by @ENSFNM.

1 Like

Hi all!

Thanks so much for the very warm welcome! It’s very cool to see an entry for EIRSAT-1 in the SatNOGS DB!

@mfalkvidd Thanks for the reassurances and for offering to help find a way. Do you know off hand of any other satellites in SatNOGS that are using non-byte aligned data so I could take a peek at their .ksy?

@fredy I’m glad you consider this early! :slight_smile: Really, I had been meaning to get in contact much sooner, but building a satellite keeps us busy!

I have a spare Pi4 and an RTLSDR here that I could setup on network-dev and install in our cleanroom, possibly this week. This week we’re working on Mission Testing so the flight model of the satellite is transmitting. And even after that I’m sure we can keep the engineering model transmitting quite regularly.

I can also provide a timestamped log with the byte values from demodulated frames if that’s of any use? I have several days worth of continuous beacons (and other data) in this format. I also have some raw IQ recordings and can make more if those are useful.

Thanks again all!

2 Likes

Sorry I don’t. The stuff I have written has been for terrestrial devices.

No worries! Just though it might be a very easy example to follow if there were. Thanks!

I’ve setup a SatNOGS station in our cleanroom on network-dev. SatNOGS Network - Ground Station EIRSAT-1 Cleanroom GS The flight model of the satellite is on and beaconing so for the time being there should pretty much always be something to observe.

EIRSAT-1 isn’t in db-dev. Should I create a new satellite in db-dev or do sats in db eventually sync across? When we do have an entry in db-dev to test with is there an easy way I can create arbitrary observations? I feel like this would be possible using api/observations/, but maybe there’s an easier method?

Thanks!

3 Likes

It needs a separate entry in db-dev. Give me some minutes to add it. Also I’m going to use TLE from some MEO satellites in order to give you enough time for scheduling. In case you don’t have a current pass over your dev station, just change the location of the station, which needs to be changed on both client and network.

3 Likes

The dev environment is ready, for both DB and Network. @davidmurphy feel free to experiment. On the current setup data should be demodulated reach the network and forwarded to DB automatically.

When the decoder is ready and added in the decoders, we are going to move forward and add it in the db-dev entry in order to get the data decoded and pushed to the time series database to create the grafana dashboard.

4 Likes

Thanks @fredy!

I’m sorry that the pass that you scheduled failed. After it didn’t upload the waterfall and audio, I investigated and realised the Pi had the time wrong and hadn’t even executed the pass yet. Then I remembered that the University network for some reason blocks NTP. I’ve now set it up to use a local NTP server.

I scheduled some more passes overnight which were successfully executed. They didn’t decode any data, but I didn’t expect that they would. I’ll need to take a deeper look into the available flowcharts and decoders.

I was able to download some of the audio recordings and pass them through both gr-satellites and an EIRSAT-1 version of HS SoundModem and they did decode perfectly. So I would say this is looking promising so far!

4 Likes

No problem :slight_smile:

Have in mind that in order to keep these observations and their artifacts(audio, waterfall etc), it needs to be vetted as good, as after some time we remove any non-vetted observations in our dev instance.

Feel free to open issue in librespacefoundation / SatNOGS / satnogs-flowgraphs · GitLab in order to find out what changes are needed for demodulating frames and track the whole process there.

Have in mind that any changes on this repo will need some time to land into the stations as it needs a new version and the station owners to update their stations. So, the earlier the better. :slight_smile:

1 Like