Using General Purpose Inputs and Outputs (GPIOs) on the Telit GE863 / GE863-GPS

Telit GE863 GPS Module
Telit GE863 GPS Module

The GE863 device offers 18 GPIO channels which are all configurable as either input or output. All channels are 2.6V CMOS type, and by default all pins are set as inputs on power up to prevent damage to connected equipment.

The following GPIO pins have no pull-up resistors or alternate functions and are the focus of the sections below:

Table 2.1: GE863 Basic Configurable GPIO
Table 2.1: GE863 Basic Configurable GPIO

The following sections provide examples of how control and feedback of various external components can be achieved by connecting them to this device.  Section 2.1 discusses using some of these as outputs, and section 2.2 shows their use as inputs.

2.1 GE863 GPIO Outputs

 When configured as outputs, all GPIO have maximum ratings of 0-1mA at 2.6VDC.  Because this is a relatively low voltage level, typically some buffer device will be required.  Sections 2.1.1 and 2.1.2 show two ways these outputs can be used.

2.1.1 GE863 GPIO Output Connected to a MOSFET

Figure 2.1 gives an example of how one or more of the GPIO outputs may be used to control a high power device (such as a lamp, heater, or motor) using a MOSFET.  In this example GPIO1 is used, however the same circuit could be connected similarly to any or all of the other outputs listed in Table 2.1.  The part specified in this example (Maplin N10AH) is a commonly available N-channel MOSFET which is capable of driving 30A at up to 100VDC.  The motor shown is wired to a suitable power source within the ratings of the MOSFET.

The resistor R1 pulls the MOSFET gate voltage low to ensure the device remains off when the output is not turned on, or when the pin is set as an input (for instance during power-up or reset).  When the GPIO output turns on, the gate voltage is raised and the MOSFET allows current to flow through the load.  The power used to drive the load can be at any voltage suitable for the MOSFET, and is not restricted by the GPIO output ratings.

The load in this case is a 12VDC motor and since it is inductive, the flyback diode D1 is used to prevent high-voltage transients from damaging the MOSFET, the GE863, and any other connected components.

If an AC load needs to be switched, or one in excess of the MOSFET ratings, a relay may be added.  The relay coil would be used in place of the motor in this example and the controlled load would then be switched by the relay contacts.

Figure 2.1: GPIO Output Example Using a MOSFET
Figure 2.1: GPIO Output Example Using a MOSFET

2.1.2 GE863 GPIO Output Connected to an LED

Figure 2.2 shows a simple method of attaching an LED to an output for testing purposes. Because the output rating on the GE863 GPIO pins is only 1mA, care must be taken to avoid directly connecting a common LED (which typically use 10-50mA). The one used in the example (Digi-Key 516-1311-ND) is designed for low current applications, and R1 is selected to limit the current to an acceptable level. As the LED is a rectifier, connecting it backwards will cause it to not light.

If higher brightness or current is desired, a solid-state driver such as the MOSFET shown in section 2.1.1 would have to be used. The LED and resistor (or alternatively a lamp), would be used in place of the motor and diode.

Figure 2.2: GPIO Output Example Using an LED
Figure 2.2: GPIO Output Example Using an LED

2.2 GE863 GPIO Inputs

When configured as inputs, all GPIO have maximum ratings of 0-1µA and 0-3.3VDC.  A high state is achieved with voltage above 2.1V and the inputs are designed to operate at typical 2.6V CMOS levels, but can accept input voltages up to 3.6VDC.  Section 2.2.1 provides a simple example.

2.2.1 GE863 GPIO Input Connected to a Switch

Figure 2.3 shows the connection of an input to a basic SPST toggle switch (Maplin part FH97F).  Because neither this GPIO channel nor any of those listed in Table 2.1 include pull-up resistors, R1 is added externally.  When the switch is in the closed position it ties the pin to ground so the input reads a low level.  When the switch is opened, the input will read a high level because R1 will pull up the voltage. 

Figure 2.3: GPIO Input Example Using a Switch
Figure 2.3: GPIO Input Example Using a Switch

TModSoft provides a range of Python software (including GPIO SMS Remote Control and Monitoring Software) suitable for the Telit embedded hardware modules that takes advantage of the inbuilt Python interpreter negating the need and extra integration cost of an additional micro controller. For more information see http://www.tmodsoft.com/.

More by this Author


Comments 2 comments

Jason 7 years ago

How can the GPIO pin (2.8v) drive the IRF540 MOSFET into saturation when the MOSFET need >5v?

I have bread boarded the above circuit in Fig 2.1 simulating a 2.8v signal using a 12v supply and voltage divider using series resistors - I want to make sure it works before I hook it up to my Telit device.


Jason 7 years ago

If fact, just threw caution to the wind and hooked it up anyway ... as predicted, didn't provide enough voltage to saturate the MOSFET ... any ideas anyone?

I'm thinking to using the old fashioned Trany or even the 555 at the mo!

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working