Our project focuses on the optimization of the access time to data of our satellites (plural) on Earth . In our use case, the satellite are based on smartphones. Our team is divided into 2 focus point : hardware and software. Hardware : conception of smartphone satellite, energy optimization, RF choices Software : android app to allow mesh communication and optimized internet communication

This project is solving the PhoneSat: Convert Your Smartphone Into a Satellite challenge.


Space Coop

Our challenge

We decided to choose the #convertyoursmartphone challenge. The aim is to modify thanks to a "USB Dongle" a smartphone into a satellite. We thought that making only one satellite was a little bit limited !

So we changed the challenge scope and designed a solution for a constellation of smartphone satellites!

What we decide to tackle during the event

We identified one huge issue with launching into orbit such a small electronic device : they go fast!

The objective of our "mission" is a constellation of nano-satellites launched into orbit in order to map the gravitational field in low-orbit.

Each of our satellites will have the capabilities to communicate in-space (between each other) and toward earth. Our aim is to make the satellites communicates between themselves in order to optimize the access time to the satellite data on Earth. Another issue tackle by our solution is that if the orbit of the satellite changes, it will lead to a situation when the satellite is never in range of the antenna of the satellite owner. With our protocol, the information will be relayed by other satellites.

During this weekend, we will design : - a communication protocol for our space mesh network (with connectivity to the ground) - a proof of concept of the communication protocol (as an android App) - a satellite "box" where a smartphone would be part of.

Space Coop Protocol

Every month, thanks to satellite ephemerids, the ground stations will solve an optimization problem (described below) in order to specify to each satellite when to send data to other satellite and when to send data back to earth.

In this information, a satellite will have several parameters : - when to send its data (in a broadcast fashion way) - when to relay data coming from other satellites - when to send stored data to earth

These parameters are the solution of our optimization problem. We have the trajectories, the battery states of all our satellites, the range and the position of the ground station. It is assimilable to a graph search where the nodes are the satellites and the ground station, the edges are the communication between our nodes. The edges are uni-directional and we have a cost for both using a node and a edge. The cost function associated to a node is based on the power level : if a node doesn't have enough energy, it will not be used to relayed the information. The cost function associated to an edge is based on the distance between the two nodes at a given time. An edge exists if and only if the sender node and the receiver node are in range.

We then run a classic A-Star search for each timestep during a month. And finally, we select the paths that allow to send the maximum amount of data at the maximum data speed.

Space Coop App

In order to illustrate our concept, we developped an android app that allow users to share the accelerometer data on a Wifi P2P network (ie without the need of any infrastructure). The data can then be sent to a server via a GSM communication of only one of the phones of the network.

In this proof of concept, the smartphones represent the satellites. The WiFi P2P network corresponds to the satellite to satellite communication. And the The GSM communication to a server is a simplification for the satellite to ground station setup.

Space Coop Satellite (Hardware)

Project Information

License: GNU Library or "Lesser" General Public License version 3.0 (LGPL-3.0)

Source Code/Project URL:



  • Benjamin VADANT
  • Vincent Masson
  • Benjamin VADANT
  • Vicente Almonacid
  • Thibault VIEL
  • César Prouté
  • Vincent Bonnin