Geo positioning system or GPS has become more or less a norm for smart phones. Geo positioning system was first created for the navigation of defense vehicles in any part of world. But over the period of time, this system is being used in many other purposes outside defense and has proved itself to be a revolutionary technology in today’s world. Apart of the smartphone, most of the premium cars and commercial vehicle do have inbuilt GPS for fleet tracking, vehicle Telematics, and driver assistance.

Apart from such fleet navigation use cases, GPS are now being used for many applications such as locating nearby restaurants, hotels and gas stations and finds huge applications in tourism industry. Personal navigation devices also employ GPS technology.

Also most of the IoT/M2M applications use GPS modules. Some of them are as follows

  • Smart utility metering
  • Connected health and patient monitoring
  • Smart buildings
  • Security and video surveillance
  • Smart payment and PoS systems
  • Wearable devices etc

While the term GPS in general represents the technology, there are numerous systems being used to achieve this. In this blog, we will briefly describe about the various such Geo positioning systems and related concepts.

Geo Positioning System – Technology

Any geo positioning system uses about three to four satellites from more than a dozen of satellites orbiting in a group (satellite constellation) to provide autonomous geo-spatial positioning. These satellites transmit 1500 bits of data such as the satellite health, its position in space, propagation delay effects, constellation status, the time of information being sent, etc. This allows a small electronic receiver to determine its location in terms of latitude and longitude based on triangulation of the data obtained from at least three satellites. With four or more satellites, the receiver can also determine the 3D position, i.e. Latitude, longitude and altitude. In addition, a GPS receiver can provide information about the speed and direction.

Anyone with the GPS receiver can access the system. Since it is an open source and providing almost accurate 3D position, navigation and timing 24 hours a day, 7 days a week, all over the world, it is used in numerous applications even in GIS data collection, mapping and surveying.

Geo Positioning System – Types

At present there are many options available for geo positioning system each of them owned and operated by countries such as US, Russia, European Union, China, etc. They are as follows

NAVSTART GPS – GPS, Global Positioning System is a one among the various satellite navigation system designed and operated by the U.S. Department of defense. Official name of GPS is Navigational Satellite Timing and Ranging Global Positioning System (NAVSTAR GPS).

GLONASS – Global Orbiting Navigation Satellite System, GLONASS developed by Russian, is an alternative to GPS and is the second global navigational system in operation providing global coverage with comparable precision. A GLONASS satellite design has various upgraded versions and the latest is GLONASS-K2 which is expected to operate in early 2018.

Galelio – Galelio is created by European Union with the aim to provide an independent high precision positioning system for European nations.

BeiDou – BieDuo Navigation Satellite System (BDS) is a Chinese satellite navigation system consisting of two separate satellite constellations BeiDuo-1 and BeiDuo-2. BeiDuo-1 is decommissioned and BeiDuo-2 also known as COMPASS offering services to customers in the Asia-Pacific region with a partial constellation of 10 satellites in orbit.

IRNSS – Indian Regional Navigation Satellite System also known as NAVIC (Navigation with Indian Constellation) is a regional satellite navigation system covering the Indian region extending 1500Km. This constellation is already in orbit and expected to operate in early 2018.

Satellite Based Augmentation System (SBAS)

All the above systems are autonomous and governed by the respective countries. Other than autonomous systems, other regional augmented systems are available that run with the aid of other autonomous satellites. These augmentation systems will provide reference signals (Signal in Space- SIS) via satellites to the receivers including correction information with the objective of increasing the accuracy of the position. In addition to the accuracy they also help to maintain the reliability and availability of the navigation system. The whole system is known as SBAS (Satellite Based Augmentation System) and satellite providing the SIS signal are known as SBAS GEO satellites. Some of them are as follows,

GAGAN – GPS-Aided Geo Augmented Navigation – It is the implementation of SBAS by Indian government. It supports pilots to navigate in the Indian airspace by an accuracy of 3m.

QZSS Quasi Zenith Satellite System is a project governed by Japanese government and operated in order to receive the US operated GPS in the Asia-Oceania regions with Japan as a primary focus.

Other commonly available SBASs are WAAS (US), EGNOS (EU) and MSAS (Japan).


The above mentioned satellite systems such as global, regional and augmented systems are integrated together to form Global Navigation Satellite System, GNSS. It is a standard term for satellite navigation systems providing autonomous geo spatial positioning with global coverage. It is a satellite system that is used to pinpoint the geographic location of a user’s receiver anywhere in the world. Three GNSS systems are currently in operation: the United States’ Global Positioning System (GPS), the Russian Federation’s Global Orbiting Navigation Satellite System (GLONASS) and the Europe’s Galileo.

Most degrading factor of a receiver, i.e. Line of Sight degradation can be solved with the GNSS system due to its accessibility to multiple satellites and if one satellite system fails, GNSS receivers can pick up signals from other system.

Navigation messages

Any satellite in the constellation will transmit a detailed set of information such as each satellite position, network to receiver called the navigation messages. Following are available in the navigation message, 

  1. Date and time together with the satellite status and an indication of its health 
  1. Almanac data – Contains coarse orbit and status information of all the satellites in the constellation. It allows the GPS receiver to predict which satellites are overhead, shortening acquisition time. Almanac data can be received from any of the satellites. The receiver must have a continuous fix for approximately 15 minutes to receive a complete almanac data. Once downloaded it is stored in the non volatile memory.
  1. Ephemeris data – Contains precision correction to the almanac data necessary for the receiver to calculate the position of the satellite. It is continuously updated every 2 hours and so ephemeris data of a deactivated receiver will become stale after 3 to 6 hours.

Time-To-First-Fix (TTFF)

For a receiver to get a fix, it needs a valid almanac, initial location, time and ephemeris data. When a receiver is switched ON, it requires some time delay for the first fix. This delay depends on how long since the stored data’s being used. The time delay is commonly termed as Time To Fist Fix, TTFF and it is one of the main factor for receiver selection.

About Embien

Embien Technologies is a leading provider of embedded design services for the Automotive, Semi-conductor, Industrial, Consumer and Health Care segments. Embien has successfully designed and developed many products with GPS for various domains such as Wrist wearable based tracker device for healthcare, Vehicle Telematics device for automotive, Data acquisition/logger devices for industry etc.

This blog demonstrates the Windows Embedded Compact 7 on NXPs iMX6 UltraLite evaluation kit with the video as a proof of Embien’s capability in porting WinCE 7 operating system on various processors and architectures.

The EVK includes an LCD display, audio playback and many connectivity options. It is designed to showcase the most commonly used features of iMX6UL processor in a small, low cost package and to facilitate software development with the ultimate goal of faster time to market.

Below is the video demonstration of the OS running on NXPs iMX6UL evaluation kit.

About Embien:

Embien Technologies is a leading service provider in the Embedded software domain. Our team has rich experience in working with various OS like Linux, Android, Windows CE, FreeRTOS, uC-OS, QNX etc. We have created various applications on top the WinCE systems such as HMI, Medical instrumentation displays, Smart Home control system etc. We have also enabled running legacy Windows Applications on top of latest hardware and software including emulation over Linux using technologies such as Mono, OpenNETCF etc.

In a series of blogs on BLE, we have discussed in detail about the Bluetooth technology, its classifications, its popular variant BLE and various hardware design considerations such as SoC selection, RF layout and Antenna selection. These posts were primarily in perspective of hardware design.  Bringing up the software functionality is mostly straight forward as the stack is provided by the silicon vendor and will run with little or no modifications. But improving and optimizing the performance is a different story altogether. In this series of blog, we will discuss about various parameters related to BLE operations and important considerations while working with BLE devices.

To begin with, some of the important aspects of Bluetooth low energy communication are as follows,

  1. Advertisement interval
  2. Connection interval
  3. Slave latency
  4. Connection supervision timeout
  5. Data throughput

Understanding the above aspects will help any developer to lower the device power consumption, increase the speed of connection and improve the reliability of data transmission and reception.

In the following sections of this blog, we will discuss in detail about the BLE Advertisement process along with a practical example based on Embien’s eStorm-B1 Bluetooth Low Energy module by capturing the Advertisement packets using the nRF sniffer.

BLE Physical Layer

It is important to know about the BLE physical layer, such that we understand the BLE communication better, because physical layer includes the actual RF radio and is in charge of sending the signals over the air.

Bluetooth Low Energy is similar to classic Bluetooth where both of them use 2.4GHz spectrum but differ from each other with different modulation index. Classic Bluetooth uses 79 channels whereas BLE uses only 40 channels and are the channels of both are spaced differently. Due to this, the BLE and classic Bluetooth cannot communicate. But there are modules that can support both BLE and classic Bluetooth which operates by switching its modulation parameters and the channels.

The 2.4GHz spectrum of BLE is divided into 40 channels (0 to 39) which extend from 2402MHz to 2480 MHz with 2MHz spacing. Among the 40 channels, BLE advertisement takes place in 3 channels (37, 38 and 39) and data exchange takes place in remaining 37 channels.

The following image illustrates the channel layout of BLE with 3 advertising and 37 data channels.

Channel Layouts of BLE

BLE – Channel Layout

BLE Communication

BLE communication takes place between a “central device” (for example Android Smartphone or iPhone) and a “peripheral device” (for example eStorm-B1 BLE module). Any BLE communication can happen only with the following two modes,

  1. Advertisement mode
  2. Connection mode

BLE advertisement mode by default is uni-directional and will be initiated only by the peripheral device through sending advertisement packets. The peripheral device will broadcast advertisement to every device around it.

Connection can be initiated only by the central device (within the communication range of the peripheral device) to receive more information. Only in connection mode, both the peripheral and central device can send packets.

Connection cannot be done between two devices without using advertisements and central device cannot send any packets to peripheral device without a connection. 

BLE advertisement Interval

BLE peripheral device in advertisement mode will send advertisement packets periodically on each advertising channels (channel 37, channel 38 and channel 39) at a user defined interval called “Advertisement interval”. Setting advertising interval is the first and foremost task for any developer, since the value has great impact on the connection speed and power consumption. The advertising interval can be as short as 20 milliseconds or as long as 10.24 seconds.

In practical case, the time interval between the advertisement packets will have a fixed interval set by the user and a random interval between 0 millisecond to 10milliseconds. This random interval will be added automatically in order to avoid collision between advertisements of different devices.

Interval between BLE Advertising events

BLE Advertisement Interval

A short advertisement interval will enhance the central device to find the peripheral device quickly. On the other hand, due to frequent radio operation the power consumption becomes higher. So the developer should set a value balancing the speed and power consumption.

eStorm-B1 module – UART to BLE setup for capturing advertisement packets and interval

In this example, eStorm-B1 BLE module and PC communication is established via UART. UART interface is available in the module in TTL level and a UART to USB Bridge is used to connect the module with the PC via USB port. A windows console application “UART_BLE” is developed to simply the process of communications such as,

  1. Starting and stopping advertisements
  2. Transmit and receive data’s
  3. Set and get BLE RF parameters such as
    1. Transmit power
    2. Advertisement interval and
    3. Connection interval
  4. Enabling interrupts
  5. Get interrupt status

nRF Sniffer, a windows application from Nordic Semiconductor, together with Wireshark, is used for viewing the Bluetooth Low Energy communication between two devices using BLE. In this example, BLE advertisement packets sent from eStorm-B1 and the interval between two advertisements are sniffed.

The following images are the screen shots that depicts the advertisement interval of 5 seconds being set in eStorm-B1 BLE module via “UART_BLE”, a windows console application and the Wireshark capture done via nRF sniffer application for observing the advertising packets and interval.

UARTBLE Console application

Embien’s UARTBLE-Console application for eStorm-B1


Nordic Sniffer application for BLE

nRF BLE Sniffer Application


Wireshark capture of BLE Advertisement interval

BLE Advertisement interval – Wireshark Capture


BLE Tags and BLE Beacons

 BLE advertisements in general are of two types such as connectable advertisement or non-connectable advertisement. Connectable advertisement type is most common. It is not directed and it is connectable, which means a central device can connect to the peripheral that is advertising and it is not directed towards a particular central device. Non-connectable advertisement is a type used when the peripheral does not wants to accept connections and broadcast only the data in the form of advertisement.

BLE Advertisement is more popular due to its significance of broadcasting data along with the advertisement. The advertisement packets itself has suitable bytes dedicated for custom data which can be used by a developer to broad cast data. The typical application of the non-connectable advertisement is the BLE tags and beacons.

BLE tags are mainly used for asset tracking were the advertisement data broadcasted will help to track each device to which they are connected.

Beacons evolved with the introduction of Apple’s iBeacon, targeted for proximity market such as shopping malls, retail showrooms, etc. Also we have Google’s Eddystone as an alternative for iBeacon for Android platforms. In both these technologies the device will transmit very small bits of data via BLE advertisement.

Application of BLE Beacons

BLE Beacon – Applications

In this blog we have briefly discussed about the BLE communication, BLE advertisement and advertisement interval. In the fore coming series of blogs, we will discuss in detail about the BLE connection parameters such as connection interval, slave latency, etc.

About Embien

Embien Technologies is a leading provider of embedded design services for the Semi-conductor, Industrial, Consumer and Health Care segments. Embien has successfully executed many projects like based on IoT such as healthcare Wearables, Gateways, and Data Analytics etc. Embien also offers a set of wearable design collections complete with electronics, firmware and Cloud that can be used to shorten product development costs and time significantly.