Position: Command & Data Handling Team - Software Engineer
Location: Los Angeles, CA
Platform: Embedded Systems
PIC Microcontrollers: PIC18, PIC24
Languages: C++, Python
Period: Feb 2018 - July 2018
The Electron Losses and Fields Investigation (ELFIN) 3U+ CubeSat is a satellite being built by the Earth, Planetary, and Space Sciences department at UCLA, and will be UCLA's first satellite. The main objective of ELFIN will be to explore the mechanisms responsible for the loss of relativistic electrons from the radiation belts. ELFIN is funded jointly by the NSF and NASA CubeSat programs and has been a participant in the AFRL's University Nanosatellite Program.
The ELFIN team consists of around 20-30 students and 10 faculty and is composed of several subsystems (i.e. the Command & Data Handling Software Subsystem, the Missions Subsystem, the Operations Subsystem, etc.).
I worked as a software engineer under the CNDH subsystem for ELFIN for 5-6 months (before being promoted to lead software engineer of the ELFIN mission). As a member of the CNDH team, I have established a full duplex Universal Aysnchronous Receiver/Trasmitter (UART) serial connection between the ACB and the PCB. In addition, I have implemented the majority of the PCB's functionality, which takes place in its execution handler, and consists of reading and writing data to and from the PC to its memory map and the ACB (among other functions). Moreover, I have developed spin control algorithms for the spin-stabilized satellite, which allows ELFIN to determine its attitude via the magnetometer (MRM) data received from the PCB and maintain it to control its spin vectors and orbital path.