HAL-1 Overview and Summary
Hal-1.0 Overview and Summary
Hal-1.0 was the avionics computer flown on Control Freak at LRI during the 2025-26 academic year. Its primary function was to provide roll controlling actuation commands to canard control surfaces, with secondary goals of testing radio telemetry uplink and downlink, GPS positional determination, altitude determination, and attitude determination. The board has seen two flights in total, with the first flight of Control Freak during the fall semester being lost to the wind, and the second resulting in partial success with its data being preserved.
Hal was able to perform all functions but GPS positional determination. It was able to calculate its orientation and attitude and drive a state-space roll control model. The specific improvement points and issues it encountered are listed in other sections within the Avionics page. A high-level summary is as follows:
- GPS lock was seldom achieved outside of test conditions.
- The computing cycles were rather slow, at around 3 cycles per second.
- Some data stopped being transmitted or errored out within RCI (see Rocket Control Interface). Altitude data was not affected.
- Accelerometer data produced large inaccurate data spikes during initial launch acceleration despite filtering.
- Automatic roll control abort systems were tripped shortly after burnout.
The KiCAD schematics and embedded firmware may be accessed through GitHub, available to LRI members. The overall design was partially inspired by the Telemega flight computer, by Altus Metrum. In addition to its most basic flight computer features, it also can actuate two servo motors and receive individual encoders’ voltages.
Also: The name “Hal” was originally chosen as a nod to 2001: A Space Odyssey. It was realized later that ST Microelectronics also uses the name HAL for its Hardware Abstraction Layer, containing its basic user microcontroller functions. Hal (with the lowercasing) will henceforth represent the flight computer, while HAL will be used for ST’s Hardware Abstraction Layer.
