# F-1 (satellite)

F-1 is a CubeSat built by FSpace laboratory at FPT University, in Hanoi, Vietnam, in partnership with Angstrom Space Technology Center (ASTC), Uppsala University, Sweden and Nanoracks LLC, United States. Its mission is to train young engineers and students about aerospace engineering and evaluate an advanced three-axis magnetometer, Spin-Dependent Tunneling Magnetometer (SDTM) designed in Sweden by ASTC.
F-1 was launched on 21 July 2012 and delivered to the International Space Station (ISS) aboard Kounotori 3 (HTV-3) along with the RAIKO, WE WISH, Niwaka and TechEdSat-1 cubesats. Then, on 4 October 2012, it was deployed into orbit from the ISS using the JEM-Small Satellite Orbital Deployer (J-SSOD) which was attached to the Kibō module's robotic arm.
As of 2 November 2012, F-1 failed to confirm communication after the orbital deployment.

## Hardware

* Structure: aluminium alloy T-6061
* Power supply: body-mounted solar cells, rechargeable Li-Polymer battery
* PIC16 and PIC18 micro-controllers
* Yaesu VX-3R handheld transceivers
* C328 low-resolution camera
* Temperature sensors
* Three-axis magnetometer (ASTC)
* 2-meter band Dipole Antenna
* 70-cm band Dipole Antenna

## Specifications

* Size: 10 cm x 10 cm x 10 cm (1U CubeSat)
* Mass: 1 kg
* Communication: 2 independent radios using amateur radio Very high frequency (VHF) and Ultra high frequency (UHF) bands, transmission speed 1200 bit/s; AFSK and PWM Morse code modulation, KISS protocol
* Payload: low resolution C328 camera (640 × 480 maximum resolution, 8 bit color)
* Sensors: temperature sensors and three-axis magnetometer
* Targeted orbit lifetime: at least 3 months on orbit (depend on release altitude from the ISS)

## Communication subsystem and Packet format

1. Backup UHF channel (only operational in daylight):
* Frequency: 437.485 MHz
* Modulation: Narrow FM
* Power: about 0.2 watt RF output
* Antenna: half-wave dipole
* Beacon interval: 20 seconds duration, repeated every 90 seconds
Pulse-Width-Modulation Morse code telemetry beacon
| No1 | Data | Description | Size (bits) | Size (chars) |
| 1 | F-1's callsign | "XV1VN" | | 5 |
| 2 | OBC1 reset count | Number of OBC1's reset since the beginning | 8 | |
| 3 | Temperature 1 | °C (temperature inside F-1, OBC board) | 8 | 5 |
| 4 | Temperature 2 | °C (temperature outside F-1, Y- side) | 8 | |
| 5 | Checksum bit | 0 if summary of items #2 to #4 is even, 1 if it is odd | 1 | |
| | | | Total | 10 |
2. Main VHF channel (operational during night time but may be turned on in daylight later)
* Frequency: 145.980 MHz
* Modulation scheme: AFSK/FM
* Power: 1.0 watt RF output
* Antenna: half-wave dipole
* Baud rate: 1200 bit/s
* Telemetry and interval: one burst of 3 telemetry packets in KISS format every 30 seconds (interval configurable)
F-1's KISS packet format
| No | Data | Description | Size (bit) |
| 1 | Date time | Date: dd/mm/y: 5/4/3=12 bits Time: hh/mm/ss: 5/6/6=17 bits | 29 |
| 2 | Battery voltage | Battery voltage multiplied by 100 (divide by 100 to get actual value) | 11 |
| 3 | Solar cells voltage | Solar cells voltage multiplied by 10 (divide by 10 to get actual value) | 8 |
| 4 | Temperature 1 | °C (side 1, Y+) | 8 |
| 5 | Temperature 2 | °C (side 2, Y-) | 8 |
| 6 | Temperature 3 | °C (side 3, X-) | 8 |
| 7 | Temperature 4 | °C (side 4, Z+) | 8 |
| 8 | Temperature 5 | °C (side 5, Z-) | 8 |
| 9 | Temperature 6 | °C (side 6, X+) | 8 |
| 10 | Temperature 7 | °C (inside side 5, Z-) | 8 |
| 11 | Temperature 8 | °C (inside, under VX-3R1) | 8 |
| | | Total | 112 bits = 14 bytes |
Note:
* F-1 periodically sends a burst of 3 telemetry packets with the same content, to avoid packet loss
* Time in UTC, 24 hours format
* Year count starting from 2012 (2012 equals 0, 2013 equals 1 and so on...)
* Battery voltage reading is accurate to 0.01 volt, values are multiplied by 100. Divide by 100 to get actual value.
* Solar cells voltage reading is accurate to 0.10 volt, values are multiplied by 10. Divide by 10 to get actual value.
* Temperature readings from sensors, will be added with 100 before transmission to ensure a positive number so please subtract 100 to get actual value
* 112 bits, divided into 14 bytes