B1C Flight Avionics
I developed this avionics system in 2019 while acting as the avionics lead for the Beach Launch Team B1C rocket being developed by a student-driven organization at CSULB. From a simple concept to a working flight prototype this system was intended to help lead to more advanced systems in the near future by gaining understanding.
The inflight system was made to collect data and develop telemetry and did not have any active ground control functions implemented. It was a mesh capable data acquisition module (DAQ) network configured for Point to Point 2.4 GHz RF communication with the internal Engine DAQ node and then Point to Point 900Mhz Telemetry to the ground.
2.4 GHz @ 250 kBps (S-Band) Internal
900 MHz @ 115 kBps (P-Band) To pad
Pictures are taken before final assembly which consisted of epoxy to seal the batteries and enclosures.
Figure 1 Flight Hardware Display
The system was designed this way with expandability as well as repeatability in mind to allow many features to be implemented within the system. The coordinator was the main node that would ultimately handle all the data internally as well as to the ground. End devices internally communicated with the root node and only the root node communicated with the ground.***Note All TBD Devices are out of scope of what was actually implemented on the B1C Rocket
Figure 2 Network Architecture
A Yagi antenna positioned on a hand-operated gimballed tripod to receive telemetry. Datastream during this development was visualized simply as a comma separated string in the serial monitor.
Figure 3 Telemetry Ground Station
Summary of the functionality of the root node
The main telemetry node collected what was denoted as standard vehicle flight data. This included GPS along with an accelerometer, gyroscopic and barometer data. The main node was responsible for parsing the GPS NEMA string and collecting its internal sensor data and then concatenating all the data from other internal nodes in the system, saving it to the SD and then sending the data down to the ground.
Figure 4 Telemetry Node Hardware
The Arduino Mega utilizes a single core 8-bit microcontroller and has a 16 Million Instructions Per Second (MIPS) throughput that is programmed in C++ compiled and flashed using the Arduino IDE. The GPS has a PPS pin that is hooked up to the interrupt pin for time synchronization. There were a total of 4 serial buses occupied as well as 2 devices each on both the i2C and SPI buses. The parsing of the GPS string required a lot of overhead by the microcontroller on top of handling the com buses. The program used more than 90% of the Arduino Mega flash memory which is 256KB for its program. With this microcontroller pushed to its limits the actual output rate of our complete data string to the ground was about 1 Hz. This could have been mitigated by using a more powerful chip or more than one.
The design of B1C prevented the allowance of a umbilical to the vital area for instruments so a wireless design approach was taken. This required an isolated unit to record the data and then send it to the main node for the downlink. The Engine node gathered analog data that was configured for pressure and temperature readings needed for determining engine performance during flight. This data was saved on an SD internally before being sent to the main telemetry node for additional saving and then sent to the ground.
Figure 5 Engine DAQ Node Hardware
The recovery node utilized 2 QTY StratoLoggerCF Altimeter chips commercially available from Perfect Flite which are programmable deployment chips that have 2 stage deployment capability at both apogee and a lower altitude that can be programmed by the user. Our chips were programmed to deploy at apogee with +0 second delay and to deploy the main chute at 1000 ft
Figure 6 Recovery Node Hardware
- Amplifier Maximum power output +10dBm 10mW theoretically equates to +30 dB at 900 MHz
Main Data Stream contained about 200 (Configuration dependent) 8-bit characters at a 10 Hz
Frequency Shift Keying Modulation
Used UDP Connection Protocol to save overhead from handshaking.
Doppler Consideration fr = ft (1+v/c)
64 channels 902-928 MHz -> Width per channel .406 Mhz
Doppler Effect @ M1.27 induces Δf of .0013 MHz << Width
In the lab prior to launch
Days of Launch
B1C Final Launch Attempt
There was an issue with the construction of the ablative engine and the design meant to secure it to the thrust plate. During ignition the pressure broke the seal and the engine and boat tail flew right off!
Drone aerial footage showing a ballistic trajectory!
B1C Avionics Fate
Remains gathered from the wreckage