Previously we have used GPRS shield to establish internet connection. Now we will use 3G, 4G/LTE shield for PPP internet connection. In order to make a 3G and 4G connection we will need to use Quectel UC20 and Quectel EC25 modules respectively.

As this tutorial is for 4G PPP Internet connection, we will use Quectel EC25, which is a series of LTE category 4 module optimized specially for M2M, IoT and multimedia applications. Due to rich set of protocols, industry-standard interfaces and abundant functionalities extend the applicability of the module ti a wide range of M2M and IoT applications such as industrial router, industrial PDA, rugged tablet PC, video surveillance and digital signage.


  • Backward compatible with existing EDGE and GSM/GPRS networks.
  • Data rates: 150Mbps downlink and 50Mbps uplink
  • Simple migration from 3G to 4G
  • Operates with power from Raspberry Pi. Externally, 9V power can be supplied.
  • Operation Temperature -40°C ~ +85°C

Lets have a look on the pin assignment of the shield. GPIO23 disables wireless communications and GPIO24 is used for force hardware reset.


Sixfab 3G,4G/LTE shield pin assignment

We will need to follow the following steps:

# The tutorial is covered using Raspberry Pi 3

1. Connect EC25 module to the shield.


Sixfab 3G,4G/LTE shield and EC25 module


EC25 module connected to shield

2. Insert SIM into the shield.


Inserting Sim to Shield

3. Attach the shield to the raspberry pi. Connect USB to Raspberry Pi


Shield Attached to Raspberry Pi 3


USB connected

4. Connect Raspberry Pi to Internet via WiFi or Ethernet.

Open the terminal(if you are using desktop or laptop you may connect raspberry pi with SSH. Also enable ssh from the Menu > Preferences > Raspberry Pi Configuration as shown in the figure below)


Raspbian Interface


Raspberry Pi Configuration

5. Once Raspberry Pi is connected, update Raspberry Pi by following command


Update command in Terminal

6. Quectel Module support is to be added to the kernel, since Raspbian Jessie Kernel doesn’t support Quectel EC25/ UC20 modules.

6a. Install rpi-update


Installing rpi-update

6b. Update Raspberry Pi Kernel using following command


Running rpi-update

6c. Once updated Reboot the device


rebooting device

6d. Connect USB Cable to sheild from Raspberry Pi.


and check if ttyUSB3 is available.


ls /dev


Looking for ttyUSB3

7. Now script is to be downloaded.



*HOLOGRAM is the APN. As for example, APN for Boost Mobile is Boost_Mobile, for Verizon is  internet, for Virgin Mobile is Sprint etc. ttyUSB3 is the connection.

If you are using UART of Raspberry Pi 3 then use ttyS0 instead of ttyUSB3 or for other versions of Raspberry Pi use ttyAMA0.


change mode command

8. Disconnect Raspberry Pi from WiFi or Ethernet.



Here & sign allows to run the command in background.


Connecting to Internet

The SIGNAL LED indicates the connectivity, HIGH indicates Network is connected.
(Open a browser and check a website)


Signal LED

9. Just to check the status of shield and ip, type



Checking IP and status

2 thoughts on “[Updated] Tutorial 3 | Make a PPP internet connection with 3G, 4G/LTE Shields on Raspberry Pi”

  1. Hello i followed you step by step, i use orange sim, when i arrive to sudo pppd call gprs give me that : connection script error.

    But i fixed the problem in this way but i need to know how can fixed normally:
    I connect the LTE shield with the QNavigator software, and then i use AT+CPIN=”0000″ and after that i reconnect the USB cable to the LTE shield (The LTE shield already connect to the PI and UART SW is ON).
    Then the sudo pppd call gprs work !!!

    I think the problem is the CPIN in the script gprs but i dont know how can i fix .
    Or if you can tell me what is the problem exactly.
    A guys from the support team from sixfab was already did the configuration for it and it was working properly but not now i faced this problem again(connection script failed when i type sudo pppd call gprs)

    Thank you very much

    1. Please modify /etc/chatscripts/quectel-chat-connect file, add bold line

      ABORT \”BUSY\”
      ABORT \”ERROR\”
      TIMEOUT 30
      \”\” AT
      OK ATE0
      OK AT+CPIN=0000
      # Insert the APN provided by your network operator, default apn is $1
      OK AT+CGDCONT=1,\”IP\”,\”\\T\”,,0,0
      OK ATD*99#

Leave a Reply

Your email address will not be published. Required fields are marked *