An application that fetches live global satellite positions and visualises them on an interactive world map in real time, all 195 Countries.
You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Live Satellite Tracker is a fully functional MATLAB App Designer application for real-time satellite tracking over any country in the world. The app connects to the N2YO REST API using MATLAB's built-in webread() function to retrieve live orbital data — no third-party toolboxes or external libraries required.
OVERVIEW
The app presents a clean two-tab interface. The Home tab contains an interactive UIAxes map, a country selector dropdown covering 195 countries, a satellite category dropdown (All Satellites, Starlink, GPS, ISS, Weather, NOAA, and more), a search radius knob (0–90 degrees), configurable max-distance and max-satellite-count fields, and four action buttons — Play, Refresh, Export, and Stop. The Reports tab displays a sortable UITable with full per-satellite data.
HOW IT WORKS
1. Country selection: the user selects a country from a dropdown. The app instantly resolves the country's geographic centre coordinates (latitude and longitude) from a built-in lookup table covering all 195 UN-recognised countries.
2. API call: pressing Play sends a live HTTP request to the N2YO /above/ endpoint, querying for all satellites visible above the selected location within the configured search radius and category. The full URL is constructed programmatically using sprintf() and executed via webread() with a weboptions timeout.
3. Data parsing: the JSON response is parsed into a structured MATLAB table with columns for Satellite ID, Satellite Name, Latitude, Longitude, Altitude (km), Speed (km/s), Distance from country centre (km), and Launch Date.
4. Haversine distance filter: a custom haversine() function computes the great-circle distance between each satellite's current ground position and the selected country's centre. Only satellites within the user-defined maximum distance are retained.
5. Speed calculation: orbital speed is derived analytically from altitude using the vis-viva equation — v = sqrt(GM / (Re + alt)) — giving an accurate approximation for circular low Earth orbits without requiring any additional data field from the API.
6. Map visualisation: satellites are rendered on app.UIAxes as a colour-coded scatter plot. Marker colour encodes altitude (dark blue = low orbit, cyan = high orbit) and marker size encodes proximity (larger = closer to the country centre). The top 8 nearest satellites are labelled with name, altitude, and speed. A gold star marks the country's geographic centre. An orange ring highlights the single nearest satellite with its distance.
7. Auto-refresh: a MATLAB timer() object running in fixedRate mode triggers a full data fetch and map redraw every 30 seconds. The lamp indicator shows the app state — red (idle), yellow (fetching), cyan (country ready), green (data loaded).
8. Export: every refresh automatically writes the current satellite table to a CSV file using writetable(), compatible with Microsoft Excel and Google Sheets.
TECHNICAL HIGHLIGHTS
- Zero external toolboxes required for core functionality (Mapping Toolbox used optionally for coastline rendering; falls back to a grid overlay if unavailable)
- Fully event-driven architecture using App Designer callbacks and MATLAB timer objects
- Robust error handling with uialert dialogs, lamp state feedback, and graceful API timeout management
- Supports all N2YO satellite categories including Starlink, OneWeb, GPS, GLONASS, Galileo, ISS, Hubble, Weather, NOAA, and Amateur Radio satellites
- Clean shutdown: CloseRequestFcn stops and deletes the timer before app deletion, preventing orphaned timer objects
WHAT YOU CAN DO WITH THIS APP
- Track the International Space Station (ISS) passing over your country
- Monitor Starlink constellation density over any region
- Identify GPS and GLONASS satellites currently serving your location
- Study LEO vs GEO satellite distribution by altitude
- Export time-series snapshots to CSV for further analysis in MATLAB or Excel
Cite As
SOMNATH BAKSI (2026). Real-Time Global Live Satellite Monitoring App (https://www.mathworks.com/matlabcentral/fileexchange/183473-real-time-global-live-satellite-monitoring-app), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.0.0 (176 KB)
MATLAB Release Compatibility
- Compatible with R2024a and later releases
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.0.0 |
