Skip to content

AdzCoder/rocket-sensors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rocket Instrumentation System

Arduino Licence University Status Domain

Overview

An Arduino-based payload sensor system designed for collecting comprehensive telemetry data during water rocket flights. This compact instrumentation package provides real-time data acquisition for flight dynamics analysis, recovery assistance, and educational aerospace applications.

Applications

  • Educational Rocketry β€” Hands-on aerospace engineering demonstrations
  • Flight Dynamics Research β€” Data collection for trajectory and performance analysis
  • STEM Outreach β€” Interactive learning platform for physics and engineering concepts
  • Competition Rocketry β€” Telemetry systems for water rocket competitions

Features

  • πŸš€ Multi-Axis Motion Tracking β€” Complete 6-DOF measurement with triaxial accelerometer and gyroscope
  • 🌑️ Environmental Monitoring β€” Atmospheric pressure and temperature sensing for altitude calculation
  • πŸ’Ύ Data Logging β€” High-frequency data capture to microSD card storage
  • πŸ”Š Recovery System β€” Audible buzzer for post-flight payload location
  • πŸ’‘ Status Indication β€” Visual power and system status monitoring
  • πŸ“Š Real-time Processing β€” Onboard altitude calculation and flight phase detection

Technical Specifications

Performance Characteristics

  • Data Acquisition Rate: Up to 100 Hz sampling frequency
  • Flight Duration: 15+ minutes continuous logging (9V battery)
  • Altitude Range: 0-1000m (limited by pressure sensor)
  • Acceleration Range: Β±16g triaxial measurement
  • Operating Temperature: -10Β°C to +85Β°C

Sensor Array

Sensor Model Measurement Range Precision
Accelerometer/Gyroscope DFRobot WT61PC 3-axis acceleration & angular velocity Β±16g, Β±2000Β°/s 16-bit resolution
Pressure Sensor MPX4115A Atmospheric pressure 15-115 kPa Β±1.5% accuracy
Temperature Sensor LM35DT Ambient temperature -55Β°C to +150Β°C Β±0.5Β°C accuracy

Hardware Components

  • Microcontroller: Arduino Micro (ATmega32U4)
  • Storage: MicroSD card (FAT32 formatted)
  • Power: 9V alkaline battery (6-12V input range)
  • Recovery Aid: Piezo buzzer (85dB @ 10cm)
  • Status Display: Power indicator LED

Quick Start

Prerequisites

  • Arduino IDE (version 1.8.0 or later)
  • MicroSD Card (Class 10 recommended, FAT32 formatted)
  • 9V Battery and connector cable

Required Libraries

Install the following libraries via Arduino Library Manager:

Library Repository Version Purpose
DFRobot WT61PC DFRobot Official Latest Accelerometer/gyroscope interface
MPX4115A Community v1.0+ Pressure sensor reading
LM35 Erriez v1.2+ Temperature measurement
SD Arduino Built-in Latest SD card data logging

Installation

  1. Clone the Repository

    git clone https://github.com/AdzCoder/rocket-sensor.git
    cd rocket-sensor
  2. Hardware Assembly

    Follow the detailed wiring instructions in DESIGN.md or reference the circuit diagram:

    Circuit Plan

    Key Connections:

    • WT61PC: I2C (SDA/SCL pins)
    • MPX4115A: Analogue pin A0
    • LM35DT: Analogue pin A1
    • SD Module: SPI interface
    • Buzzer: Digital pin 8
    • LED: Digital pin 13
  3. Software Upload

    // Open src/RocketSensors.ino in Arduino IDE
    // Select Tools > Board > Arduino Micro
    // Select appropriate COM port
    // Verify libraries are installed
    // Upload to device
    
  4. Pre-Flight Checklist

    • Insert formatted SD card
    • Connect 9V battery
    • Verify LED power indication
    • Test buzzer functionality
    • Confirm sensor readings via serial monitor

Data Output

CSV File Format

Data is logged to the SD card as a .CSV with timestamp-based naming:

Time(ms),Pressure(Pa),Temperature(C),Height(m),AccelX(m/s2),AccelY(m/s2),AccelZ(m/s2),TotalAccel(m/s2),GyroX(deg/s),GyroY(deg/s),GyroZ(deg/s)

Sample Data Structure

Column Unit Description
Time ms Milliseconds since system startup
Pressure Pa Atmospheric pressure (absolute)
Temperature Β°C Ambient temperature
Height m Calculated altitude above launch point
AccelX/Y/Z m/sΒ² Triaxial acceleration components
TotalAccel m/sΒ² Vector magnitude of acceleration
GyroX/Y/Z Β°/s Angular velocity components

Post-Flight Analysis

  • Flight Phases: Launch, coast, apogee, descent identification
  • Performance Metrics: Maximum altitude, peak acceleration, flight duration
  • Trajectory Analysis: Velocity and position estimation through integration
  • Recovery Data: Descent rate and landing impact analysis

System Operation

Flight Modes

  1. Pre-Launch β€” System initialisation and sensor calibration
  2. Launch Detection β€” Acceleration threshold triggering
  3. Flight Logging β€” High-frequency data acquisition
  4. Recovery Mode β€” Buzzer activation for payload location

Safety Features

  • Automatic Shutdown β€” Low battery protection
  • Data Integrity β€” Regular file synchronisation to prevent data loss
  • Fault Detection β€” Sensor error handling and status reporting

Documentation

Project Information

Development Team: Group A04
Institution: University of Warwick, School of Engineering
Module: ES192: Engineering Design (2022/23)
Sprint: Electronic Systems Design Sprint 2

Learning Objectives

  • Sensor Integration β€” Multi-sensor data fusion and calibration
  • Real-time Systems β€” High-frequency data acquisition under constraints
  • Embedded Programming β€” Arduino development for aerospace applications
  • System Design β€” Requirements analysis and hardware selection

Troubleshooting

Common Issues

Problem Symptoms Solution
No Data Logging LED on, no CSV file Check SD card formatting (FAT32)
Sensor Errors Serial output shows NaN Verify I2C connections and library versions
Power Issues Intermittent operation Check 9V battery voltage (>7V required)
Recovery Buzzer No sound after flight Verify buzzer connections and pin 8 continuity

Future Enhancements

Identified improvements for next iteration:

  • GPS Integration β€” Absolute position tracking for recovery
  • Wireless Telemetry β€” Real-time data transmission during flight
  • Advanced Sensors β€” Magnetometer for orientation determination
  • Data Visualisation β€” Onboard display for real-time monitoring
  • Multi-Stage Detection β€” Support for multi-stage rocket configurations

Contributing

This educational project has been completed, but contributions are welcome:

  1. Fork the repository for your own experiments
  2. Document modifications clearly for other students
  3. Share results with the academic community
  4. Maintain educational focus in any derivatives

Project Status

Status: Completed (Academic Year 2022/23)
Maintenance: Educational reference - not actively maintained
Usage: Available for student projects and educational demonstrations

This project successfully demonstrated practical application of embedded systems in aerospace instrumentation and provided valuable hands-on experience in sensor integration and real-time data acquisition.

Licence

MIT Licence β€” see the LICENCE file for details.


Developed as part of the Engineering Design module at the University of Warwick. This project showcases practical application of electronic systems in aerospace engineering education.

About

An Arduino-based payload sensor system for water rocket telemetry data collection.

Topics

Resources

License

Stars

Watchers

Forks

Languages