Skip to content

zaeem7744/Altimeter_Desktop_App_Bluetooth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”οΈ Altimeter -- Desktop App (Bluetooth)

Python PyQt6 Bluetooth

A PyQt6 desktop application for real-time telemetry visualization from the Altimeter device via Bluetooth Low Energy (BLE). Features live data plotting, flight phase detection, memory status monitoring, and CSV data export.

See also: Altimeter Firmware & PCB | Desktop App (USB Serial)


πŸ”§ Features

  • Async BLE Communication -- Connects to Altimeter via bleak with qasync event loop integration
  • Real-Time Data Visualization -- Live altitude/pressure plotting with pyqtgraph
  • Flight Phase Detection -- Automatic detection and labeling of flight phases
  • Memory Status Monitoring -- Reads device flash memory usage and status
  • Data Export -- Save telemetry data to CSV with pandas
  • Communication Logging -- Full BLE command/response logging to file
  • Modular UI Architecture -- Separated BLE manager, control panel, data manager, and data panel

πŸ“ Project Structure

Altimeter_Desktop_App_Bluetooth/
|-- main.py               # Application entry point (QApplication + async event loop)
|-- ui_dashboard.py        # Main dashboard window
|-- config.py              # BLE UUIDs, settings, thresholds
|-- data_processor.py      # Telemetry data parsing and processing
+-- ui_components/
    |-- ble_manager.py     # BLE device scanning, connection, and data streaming
    |-- control_panel.py   # User controls (connect, start/stop, export)
    |-- data_manager.py    # Data storage, CSV export, logging
    +-- data_panel.py      # Real-time data visualization widgets

πŸ› οΈ Tech Stack

Component Technology
GUI Framework PyQt6
BLE Library bleak (async BLE)
Async Integration qasync (asyncio + Qt event loop)
Data Visualization pyqtgraph (real-time plotting)
Data Processing pandas, numpy
Logging Python logging (file + console)

πŸš€ Quick Start

# Install dependencies
pip install PyQt6 bleak pandas numpy pyqtgraph qasync pyserial

# Run the application
python main.py

πŸ‘€ Author

Muhammad Zaeem Sarfraz -- Electronics & IoT Hardware Engineer

About

πŸ”οΈ Desktop app for Altimeter device β€” receives real-time altitude data via Bluetooth Low Energy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages