An ATMega328 microcontroller, with Arduino software, handles the communication between the different devices:
- MPU6050 Accelerometer
- BMP180 Altimeter
- SD Card Reader
- Radio Transmitter
Not represented in the above diagram are the two LEDs: one for power check, and the other for status.
I chose every module with the size in mind, as everything has to fit in a 32mm diameter rocket tube. A 3D printed structure holds everything in place.
Everything is powered through a 450mAh, 7.4V LiPo battery. It may seem a tad oversized, but I want the transmitter to emit bursts as long as possible!
The microcontroller is an ATMega328, running Arduino, for the sake of simplicity. The program has three main "states"
- Monitoring: it runs continuously, checking for a rise in acceleration indicating takeoff. The radio module continuously emits a tone to allow some fine tuning of the receiver.
- Take-off/Coasting Phase: the data is logged from the accelerometer along with the altimeter into the SD card as fast as the ATMega can do. A timestamp is added.
- Parachute Deployment: logging continues, the transmitter turns on and emits a continuous pulse.
- Landing/Beacon: after a fixed delay (about 1min), the transmitter transmits short bursts and will continue to do so as long as it stays on.