# UPSat

UPSat was the first satellite manufactured in Greece to be successfully launched into orbit, by the University of Patras and Libre Space Foundation (an earlier Greek-made communications satellite, HELMARS-SAT, although entirely constructed by 1999, was not launched due to budget limitations). It was part of the QB50 mission with ID GR-02. The UPSat mission was the first satellite launched into orbit made entirely of open-source software and open-source hardware.

## Open-source

The UPSat mission developed an open-source hardware and software 2U cubesat, minimizing the use of commercial off the shelf components, and providing hardware and software designs under the provisions of the CERN-OHLv2 and GNU-GPLv3 licenses respectfully. The vast majority of its components were designed from scratch in an open-source software and hardware way.

## Mission

UPSat, as part of the QB50 cubesat constellation, was launched to the International Space Station at April 18, 2017 11:11 EDT at Cape Canaveral in Florida, on board an Atlas V rocket transferring the Cygnus cargo spacecraft to dock with the International Space Station with supplies and other scientific experiments. UPSat was released in orbit by the NanoRacks deployer from the International Space Station at 08:24 UTC 2017-05-18. After 30 minutes, UPSat subsystems commenced normal operations in orbit. The SatNOGS ground-station network began receiving telemetry signals from UPSat in several ground-stations deployed globally shortly after its deployment. All data and telemetry is publicly available. UPSat decayed at November 13, 2018.

## Subsystems
### General

EPS (Electrical Power System) An EPS designed from scratch around an STM32L1 MCU, utilizing software MPPT, harnessing power from 7 solar panels and having a 3-cell battery system.
OBC (On board Computer) An OBC designed from scratch around an STM32F4 MCU, with software built around the FreeRTOS Operating System
ADCS (Attitude Determination and Control System) An ADCS designed from scratch around STM32F4 MCU, determining attitude and position through sensor fusion (GPS, magnetometer, gyro, Sun sensor). The sensor fusion algorithm used is based on an alternative implementation of Wahba's problem, in order to accommodate gyro measurements, as introduced in. This implementation uses a virtual vector base, propagated by the gyro reading, fused with the vectors provided by the sun sensor and the magnetometer, as per Wahba's problem. This forms essentially a complementary filter in SO(3) between the gyro and the vector measurements. The reference vectors in ECI frame are calculated by and IGRF model, respectively, given the satellites position is known by the GPS and SGP4 model. The control system is based on a spin torquer, which is used as a reaction wheel for pitch control and also to stiffen roll and yaw to the satellite's orbit plane (Gyroscopic torque and momentum bias). Magneto-torquers are also used to dampen the roll and yaw motion while also control pitch angle.
SU (Science Unit) (see primary payload)
COMM (Communications system) A COMM designed from scratch around an STM32F4 MCU, using the TI CC1120 transceivers, with contingency around TX operations combined with a custom Antenna deployment system with an integrated GPS antenna.
IAC (Image Acquisition Component) (see secondary payload)
Structure The structural sub-system is based on a "hybrid" approach of both aluminum (frame) and CFRP components (4 faces), built in-house.

### Primary payload

On-board UPSat, the primary payload, a science unit was integrated. The science unit (designed by the University of Oslo and supplied through the Von Karman Institute as part of the QB50 program) was used for plasma measurements during the mission. The science unit was a multi-Needle Langmuir Probe (mNLP) instrument that worked by measuring the current collected individually from four needle probes, placed in front of the satellite's shock front. The collected current was converted to voltage, filtered, digitalized and then sent to the central telemetry system.

### Secondary payload

As a secondary payload UPSat sports an embedded Linux board (DART-4460) running a modified version of the OpenWRT operating system controlling a b/w camera (MU9PM-MH) with 1 / 2.5’’ sensor size.