Frequency Hopping with NRF24l01+

Since I couldn’t find any frequency hopping example online, I tried one on my own and it works.

For those who don’t know what is Frequency Hopping see this Frequency Hopping  .It is a nice feature for secure communication.FHSS is unhackable (though it also depends on how randomly you change the frequencies )

I have tried Frequency (Channel) Hopping with the Auto Acknowledgement feature of nrf24l01 so that I can change the frequencies on both Tx and Rx devices in synchronism. Sometimes there is a loss of synchronism (possible “different” latencies of the mcus [atmega328p] ).In that case, I manually set them using Serial of Arduino IDE.

In the given example I am sending a 32-byte array of data and hopping linearly between  channels 90 and 125 (back and forth with an increment of 2 ) each new array of data is Transmitted on a different channel (frequency). Continue reading “Frequency Hopping with NRF24l01+”

Motion Processing Unit – MPU9250 for RTPT [using Filters,auto – calibration ]

Main Page

Motion Processing is an important concept to know if you want to interact with real time data you should be able to interact with motion parameters such as Linear acceleration, Angular acceleration, Magnetic North of the planet with a reference point on the object.

Continue reading “Motion Processing Unit – MPU9250 for RTPT [using Filters,auto – calibration ]”

Hardware Integration of RTPT

Main Page

Things you need :

  1. Arduino Mega (or MCU with more than 33Kbyte flash )- This is important because my final code was around 33KB and i couldnt fit it in an UNO.
  2. U-BLOX GPS Receiver ( NEO-6M ) or any GPS Module.
  3. MPU9250 (9 axis gyro-accelero-magneto) for auto Yaw stabilization [OPTIONAL]
  4. Pan- tilt Mechanism with Servos.(pan servo should be of 3.5turns and Tilt servo can be a normal 180 degree servo )
  5. A laser pointer –to be fixed to the tilt servo to show planet location in a closed rooom
  6. Optional Power Distribution board and Battery Eliminator Circuit (BEC).
  7. A Potentiometer  to be used as Planet selector and a Switch as Mode Selector.

Continue reading “Hardware Integration of RTPT”

Calculation of Right Ascension and Declination and its conversion to Azimuth and Altitude

Main Page

The Idea!- Kepler’s Algorithms

Yes! the Real time position of any celestial body can be calculated using some parameters called Orbital Elements (or Osculating Elements or Keplerian Elements). These are the parameters that define an orbit at a particular time.

  1. Inclination (i)angle between the plane of the Ecliptic and th

    In this diagram the orbital plane (yellow) intersects a reference plane.For Earth-orbiting satellites, the reference plane is usually the earths equatorial plane and for satellites in the solar orbits it is the elliptic plane.The intersection is called the line of nodes as it connects the center of mass to ascending and descending nodes.This plane together with the vernal point establishes a reference frame. source:1

    e plane of the orbit.

  2. Longitude of the Ascending Node (o)states the position in the orbit where the elliptical path of the planet passes through the plane of the ecliptic, from below the plane to above the plane.
  3. Longitude of Perihelion (p)states the position in the orbit where the planet is
    closest to the Sun.
  4. Mean distance (a)the value of the semi-major axis of the orbit – measured in Astronomical Units for the major planets.
  5. Daily motion (n)states how far in degrees the planet moves in one (mean solar) day. This figure can be used to find the mean anomaly of the planet for a given number of days either side of the date of the elements. The figures quoted in the Astronomical Almanac do not tally with the period of the planet as calculated by applying Kepler’s 3rd Law to the semi-major axis.
  6. Eccentricity (e)eccentricity of the ellipse which describes the orbit.
  7. Mean Longitude (L)Position of the planet in the orbit on the date of the elements.source:2

Continue reading “Calculation of Right Ascension and Declination and its conversion to Azimuth and Altitude”

Real-Time Planet Tracking System & Trajectory Prediction


This project aims to make a system that effectively tracks celestial bodies (such as planets ) with a fair amount of accuracy. We will be using some algorithms along with a processing unit for the calculations and a servo mechanism to show the location of the planet physically!. The hardware used in the project is pretty much basic and simple because the primary focus of this project is the software that is to make people understand the algorithms and their implementations. So please bear with my “un-formatted” hardware.

Not just planet tracking  you will learn some additional important things that you can implement in your other projects:

  1. Planet tracking using Kepler’s algorithms
  2. Many coordinate systems and their interconversion
  3. pan-tilt programming and servo mapping (3.5 turns Servo and 180 degrees Servo )
  4. MPU9250 auto-calibration programming
  5. Using Madwicks/Mahony Filter to Stabilise MPU readings.
  6. Yaw correction using P- controller with MPU9250

Continue reading “Real-Time Planet Tracking System & Trajectory Prediction”