Download the CDH Lead role description

CDH Lead.pdf

Command and Data Handling (CDH) Lead

Overview

The CDH lead is in charge of designing and implementing the software layers used on the microcontrollers. The software hierarchy starts with the HAL drivers for the MCU and continues upwards to the OS and its API, the network layer, and the UTAT-specific code. As the CDH lead, you will be coordinating the design and interaction of these layers to achieve synchronized and safe execution.

The OS API is used to launch, track, and organize threads on the MCU, with each thread being in charge of a specific, defined task, such as communication with the ADCS unit. This, alongside the network layer, will facilitate communication between the threads and the PAY-ELEC and OBC MCUs.

The UTAT-specific code will be run inside these threads and will be focused on command and data handling. Command handling involves receiving, deciphering, and executing commands received from the ground station, and from on-board components. Data handling involves the storage, organization, processing (compressing), and transferring of data. Both of these responsibilities involve the implementation of data integrity algorithms and designs, to ensure that any damaged or incorrect data or commands are not used.

Program integrity must also be implemented through various methods, such as watchdog timers, to ensure that the satellite can detect and fix errors independently.  You will work closely with the Systems Design Lead and the Mission Operations teams to implement the operating procedures of FINCH.

The CDH, Firmware, and Pay-Firm leads work very closely together, so this is a highly collaborative role.

Responsibilities

The CDH lead is expected to perform the following duties:

Expected time commitment: 8-16 hours, varying by the week. Includes work sessions, technical discussions with the CDH team and other subsystems, mandatory meetings (leads + systems + general), and miscellaneous tasks.