Skip to content

A satellite and ground station using ESP32, ESP-CAM, Multiple Sensors

Notifications You must be signed in to change notification settings

OmarElmelegy/ICARUS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

ICARUS

ICARUS is a dual-module sensor and communication system built for a CUBESAT competition using ESP32 boards. The project is designed to collect, log, and wirelessly transmit environmental and navigational data. It consists of two separate modules:

  • Satellite Module:
    Gathers data from various sensors (IMU, environmental, magnetometer, GPS), logs the information to an SD card, and transmits the data to the Ground Station using ESP-NOW.

  • Ground Station Module:
    Receives the transmitted data via ESP-NOW, processes the information, and displays it in real time on a Serial Monitor for debugging and monitoring purposes.


Overview

The goal of ICARUS is to create an efficient, low-power system for remote data acquisition and transmission. This setup can be used for various applications including environmental monitoring, remote sensing, and telemetry.

Key Features

  • Sensor Integration:

    • IMU (MPU6050): Captures acceleration and gyroscopic data.
    • BME280: Measures temperature, humidity, pressure, and altitude.
    • HMC5883: Reads magnetic field data and computes heading.
    • GPS Module: Provides real-time location and time data.
  • Data Logging:

    • The Satellite module logs sensor data to an SD card for persistent storage and future analysis.
  • Wireless Communication:

    • Utilizes ESP-NOW for low-latency, peer-to-peer communication between the Satellite and Ground Station modules.
  • Real-Time Monitoring:

    • The Ground Station displays incoming data on a Serial Monitor, allowing for real-time analysis.

Project Structure

The repository is organized as follows:

ICARUS/
├── Satellite/
│   ├── [Satellite module source file and README]
├── GroundStation/
│   ├── [Ground Station module source file and README]
└── README.md   <-- (This main README)

Each module has its own README with detailed setup and operation instructions. Please refer to those documents for module-specific guidance.


Setup and Installation

  1. Clone the Repository:

    git clone https://github.com/yourusername/ICARUS.git
    cd ICARUS
  2. Module-Specific Setup:

    • Satellite Module:
      • Navigate to the Satellite folder.
      • Follow the instructions in the Satellite module README to install required libraries, configure sensor wiring, and upload the code to your ESP32.
    • Ground Station Module:
      • Navigate to the GroundStation folder.
      • Refer to the Ground Station README for steps to install libraries, set up the ESP32, and start receiving data.
  3. General Requirements:

    • Ensure you have the ESP32 board package installed in your Arduino IDE or PlatformIO.
    • Verify that all required libraries are installed, as specified in each module's README.

Operation

  • Deploy the Satellite Module:
    This module collects sensor data, logs it locally, and transmits the data via ESP-NOW to the Ground Station. Make sure the MAC address in the code is updated to match your Ground Station device.

  • Deploy the Ground Station Module:
    This module listens for incoming data via ESP-NOW, processes the received information, and displays it on the Serial Monitor for real-time monitoring.

  • Monitoring:
    Use the Serial Monitor in your Arduino IDE or PlatformIO to view the real-time data output from the Ground Station module.


Troubleshooting

  • Communication Issues:

    • Verify that both modules are powered and within range of each other.
    • Double-check the MAC address configuration in the Satellite module.
  • Sensor/Data Logging Issues:

    • Ensure all sensors are correctly wired and operational.
    • Confirm that the SD card is properly formatted and connected for data logging.
  • General Debugging:

    • Use the Serial Monitor to review debug messages from both modules.
    • Consult the module-specific READMEs for additional troubleshooting tips.

Contributing

Contributions, suggestions, and improvements are welcome. Please open an issue or submit a pull request with your ideas or fixes.


This main README is intended to provide an overall view of the ICARUS project. For detailed information on setup, configuration, and troubleshooting, refer to the individual module READMEs located in the THEFLYINGTRASHMAN and GROUNDSTATION folders.


About

A satellite and ground station using ESP32, ESP-CAM, Multiple Sensors

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages