This weekend the “NASA Space Apps Challenge” took place and I participated at the EPFL, Lausanne to work on a challenge about communicating with multiple CubeSats in space.
Our amazing team decided to go all the way from “Satellites throw some bytes on us” to “You can tap a button on your iPad and see temperature curve of Satellite #1 for the last 10 days”. Our Code is on GitHub.
What a weekend!
We were participating at the EPFL, Lausanne - a very nice location with a lot of cool people there! We had a lot of fun on Saturday & Sunday and I’ll definitely try to attend next time, too.
Thanks a lot
The organization team surely did a great job and I want to thank all of them! (I can only name a few of you, but you all did a great job, so count this as a big THANK YOU! to every one of you!)
For our project, I would like to give a big thank you to the guys from the Swiss Space Center and Dr. Anton Ivanov for his patience and knowledge. Without him we wouldn’t have had a clue where to find the right specs to talk with CubeSats.
And last but not least: My teammates. You’re awesome guys! Let’s keep up the good work!
The Challenge: Command & Control CubeSats
So our challenge was to create a command & control system for CubeSat satellites.
That solution is currently capable of talking to a single satellite (currently “Swisscube 1” - call-sign “HB9EG”).
Our architecture is built upon 4 components:
- A packet-generator generating sample packets and puts them into frames and a library to reassemble packets from some given frames.
- An interface to put packets enriched by information about the sending spacecraft and the status of the packet (valid or invalid) into a database
- An API-layer to access data from the database as JSON
- A client-application for the end-user (for demo purposes)
We’ve been chosen as one of the two projects nominated for the global NASA challenge. (This is the other one, if I remember correctly)
The current status is:
- We have a basic version of the packet generator and the library (currently it only validates frames, but I am currently implementing the other functions [i.e. packet assembling and enrichment for the database).
- The API-Layer generates dummy data for testing purposes already (see the wiki).
- The client application exists in static mockups (more and more)
And the T-Shirt goes to…
I am not really sure how exactly this will go on - the team stays in touch and we’ll be giving some presentation at the Swiss Space Lab - and are participating at the global challenge. But how exactly this will all will happen is unknown to me now. Stay tuned!