Why Internet connectivity is a must for your product?

Why cellular connectivity is so popular?

What are the challenges with GSM GPRS connection?

So, what’s the real challenge?

  1. RF part is not straight forward. RF knowledge, availability of test equipment is a big challenge.
  2. Peak current requirement during transmission, dependency on RF section and available connection strength.
  3. Poor GSM GPRS connectivity, especially in remote places, hilly areas.
  4. SIM card connection with the module.
  5. Extra debugging support required to be implemented in the firmware.
  6. Lack of experience with all the issues if the engineer is implementing for the first time or has not faced issues in the past.

What are the hardware considerations?

  1. PCB layout is a critical part of the design. Make sure you follow all the recommendations as given by the manufacturer. Learn from the available reference designs. Get your design reviewed by an expert before going for sampling. Some of the manufacturers provide the design review support else you should ask an external consultant or a designer to help.
  2. Power supply for the GSM/GPRS modem should be clean and should be capable of handling peak-current. During transmission GPRS modem will need peak-current and it may cause a huge voltage drop and the module may get unstable or switch-off. Bulk capacitor and decoupling capacitor very near to the power supply pin of the modem helps supply necessary peak-current. In case you don’t have space for the bulk capacitor, you need to use a dc-dc converter which can respond to such peak-current.
  3. ON/OFF control via software. It is handy if you want to save power or handle any hang condition.
  4. Careful about RF signals on the PCB. Get your RF section PCB design reviewed by the expert. Test the design in the lab for the maximum RF output. Check antenna, connecting RF cable (if any) for its performance or buy a good quality certified antenna and cable.
  5. If possible, use an external antenna. with a provision to connect an external antenna, you can choose high-gain antenna depending on the field conditions. Good quality antenna not only provides good RF performance but will also help reduce the power as the transceiver need not increase the amplifier output to compensate the RF section power loss.
  6. SIM connection with the module should be designed with high-speed considerations. SIM should be accessible so that if at all required could be changed in the field without opening the enclosure. To avoid SIM accessibility, embedded SIMs are also available these days. Please check the cost, availability, ease of use before making a decision. As per my understanding, there are challenges in using eSIM. Read this article for some more details on eSIM.
  7. Handle heat dissipation of the modem well. Make sure components are selected to handle environmental conditions like temperature, humidity, vibration, etc.

What the MCU firmware should have?

  1. Restarting the GSM/GPRS modem (ON/OFF control)
  2. Checking the status of the SIM, network registration status, availability of internet connection, signal strength.
  3. Set modem in power saving mode to save power consumption.
  4. Store the data locally and sync whenever required. This is useful when you have poor GPRS connectivity in the area.
  5. Add logging facility for signal strength & number of connection breaks, etc. It helps greatly in debugging the field condition in case the GPRS connection is unreliable and you need to understand what’s going on. Ability to enable or disable logging is also useful.
  6. Another thing which could be super helpful while debug is if you create transparent remote access to AT command interface. For this, you must have another direct internet connectivity interface or PC interface like USB, Ethernet (to remote access). When debugging you can connect your device over the PC interface or cloud directly via the second interface (say ethernet) and give the AT commands and check the response. This greatly helps do the debug quickly.
  7. For a reliable GSM/GPRS connection, keep your data packet small (~200 to 500 bytes). If you have unreliable or frequent disconnection, file transfer or big data packets will drop in-between most of the time.

How to optimize power consumption?

  1. Choose the right GSM GPRS module.
  2. Implement a smaller data packet (<500 bytes).
  3. Reduce the number of data transactions to save power.
  4. If GPRS connection is required to sync data to the server or cloud but connectivity need not be ON for all the time then the best solution is to keep storing all the data in reliable local storage (EEPROM, SPI Memory, FRAM, etc. ). Put GPRS modem off when not in use and sync the data fewer times. This will save huge power. Please note, there will some power-up time to establish GPRS connection again.
  5. Use a highly efficient power supply for powering GSM/GPRS modem. Check what is the power consumption in the mode GPRS modem will remain most of the time (generally receiving mode) and then look for DC-DC power supply most efficient at the current/load level. As modems will need peak current during transmissions be careful about the capability of the power supply to deliver that or use a bulk capacitor of appropriate value.
  6. In case, ultra-low power GPRS power consumption is necessary, you need to go to the next level and optimize the modem firmware for power consumption. Take help from the manufacturer’s datasheet, application notes. Don’t hesitate to seek help from manufacturers FAEs.
  7. As mentioned in the hardware section. RF output should be matched for max. power output. The design should be tested in the lab. Good RF implementation and high gain antenna help greatly in reducing power consumption.

How to test your product?

  1. Low Coverage Area or Weak Connection: use a low dB antenna or go to the basement/remote place for testing. This will help you test the performance of the RF section, power supply, and firmware.
  2. GSM GPRS Frequency Disconnection: Use a jammer and automate ON and OFF to create frequent connection unavailability conditions. This will help you test how the firmware handles the frequent disconnection. If the modem is able to connect to network quickly or not, how much time & attempts it takes to connect. This information will also help you tweak your firmware to be more suitable for the field conditions.
  3. Frequent Power Failure: Create an automated setup to set the frequency of power ON-OFF conditions to test how the hardware and firmware will behave in such situations.
  4. Power Consumption: If the product is battery powered, it is important to test how much power it consumes per transaction in real condition and estimate the battery backup time.
  5. Power-up time: how much time it takes to GSM GPRS modem to connect to the network once it cool boots.
  6. Environment Tests: Test the hardware for the rage of temperature, humidity, vibration, EMI it may face during the operation in the field.
  7. EMI Emissions: Radiation from other equipment may impact the performance of your IoT product especially when you have an RF connectivity like GSM GPRS.




I am a hobbyist turned engineer, deeply in love with Electronics. Currently working as an embedded systems design consultant. My Blog:

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Don’t get stuck in the hot tub

Apple & Google’s Attempt to Address a Future of Smartphone Zombies.

Does a bear… Wait a second let me Google this

Why I Loved ‘Inside Real Innovation’

How To Donate Tablet To Charity

Pairing the Nikon KeyMission 360

UBIO and the Automation Cloud receive strategic investment from trivago

The Positive In Our Current Situation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pallav Aggarwal

Pallav Aggarwal

I am a hobbyist turned engineer, deeply in love with Electronics. Currently working as an embedded systems design consultant. My Blog:

More from Medium

C Program to check whether a number is prime or not

Create your First Program in C Language

Legged robots: Keeping legs moving

I Created an Assembly Language