.co.uk Designer Systems PRODUCT DESIGN AND MANUFACTURING Global Positioning System (GPS) Shield for Arduino and Raspberry-PI ™ ™ Technical Data DS-GPM.S Firmware version 1 Description TM Arduino UNO Shield standard form factor for simple integration into any Arduino project. I2C interface for simple connection to Arduino or Raspberry-PI Give your robot the ability to know where it is, how fast its moving and in what direction*. Fast 56-channel position acquisition with battery backup for fast < 1 second hot start and < 30 second warm start. Simple register based data retrieval of latitude, longitude, heading, altitude, speed, time, date & satellites in view. Integral low power antenna. Built in fully programmable 4 line IO and 8 bit ADC input port for local sensors. The Designer Systems DS-GPM.S is a highly integrated Global Positioning System allowing your robotic application to determine its location on the earth’s surface. Specifically targeted at the Arduino UNO board user [MEGA and NANO boards also supported] and the Raspberry-PI the GPM.S features I2C communication to leave the serial [TX/RX] port free for other functions eg. wireless communication. Applications GPS data received by the DSGPM.S is stored within internal registers which are updated once per second and include: Latitude (i.e. vertical) Longitude (i.e. horizontal) Altitude (metres) Time & date (UTC) Heading (True & Magnetic) Speed (kilometres per hour) Satellites detected The DS-GPM.S has many applications in robotics, security and timing. For example the module could be used to send a rover to a particular position or be used to form a vehicle security solution in-conjunction with an embedded controller and GSM modem. Application notes for the UNO controller are provided. In addition the DS-GPM.S features an on-board fully configurable four line programmable IO and analogue input port with automatic measurement. Selection Guide Description Global Position System Shield Part Number DS-GPM.S * Note: GPS information cannot be collected without a clear view of the sky. Raspberry-PI, Arduino, UNO, NANO, UNO & MEGA are trademarks © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 Page 1 of 8 COMMS MODULES Features GPS basics The heart of the DS-GPM.S is a Global Positioning System receiver module and antenna that receive signals from satellites orbiting the earth. There are 32 of these satellites, each sending its own unique signal to the earth’s surface for pickup by any GPS receiver, which searches the sky for available satellites. Upon detecting the satellites in view and their current position the receiver uses the satellites with highest signal strength to calculate, using triangulation, the receiver’s latitude, longitude & altitude** (position). Latitude is measured in degrees and minutes either North or South of the equator. Longitude is measured in degrees and minutes either West or East of an imaginary line drawn vertically through Greenwich in the UK. Altitude is measured in metres above sea level. For example the offices of Designer Systems in Truro, UK are located 50 degrees, 15.817 minutes North latitude and 5 degrees, 3.549 minutes West longitude. Should the receiver also be moving, speed in kilometres per hour, and heading, in degrees true north and magnetic north, can also be determined. To gain the best reception the GPM should be used outside with a good view of the sky. Trees and buildings will cause the GPS signals being received to degrade and positional/speed information may be lost. To greatly improve reception the GPM should be mounted above a metal base. ** LLA format to WGS-84 ellipsoid. Operation When power is applied to the GPM the unit immediately starts to search for satellites. The GPM can start in one of three (3) modes, as follows: Cold start mode: This mode only applies when the GPM has been powered-up for the first time after being removed from its packaging. As the GPM does not know where it is on the earth’s surface, it starts to hunt for groups of satellites to determine its location. This process may take up to 30 minutes before positional information is available; it is suggested that a battery be connected and the © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 unit left in the open air until the STATUS indicator starts to flash. Warm start mode: This mode applies to a GPM that has already been ‘cold-started’ and whose location has not changed significantly when powered up again or has been powered down for at least one (1) hour. Positional information is normally available again within 45 seconds of power re-application. Hot start mode: This mode applies when the GPM has been powered off for less than 60 minutes. Positional information is normally available again within 110 seconds of power re-application. The warm and hot start power-up modes are possible due to an internal backup battery which powers the Real Time Clock (RTC) and almanac memory when external power is removed. STATUS indication… The STATUS indicator is used to provide visual feedback of the current GPM condition. There are three (3) conditions as follows: IO port The DS-GPM.S features a fully programmable four line CMOS input/output or 8bit Analogue to Digital Converter port ‘I/O’ ‘1’ to ‘4’. Each IO is configurable as an output, an input or an analogue input by configuring the registers R0-3. When an IO is configured for a normal input the applied voltage 0 or 5V is read and stored in an input register which can be read by the connected I2C device. When an IO is configured as an output the output state will be 0 or 5V dependant on the output register contents written by the connected I2C device. When an IO is configured for analogue input** it is automatically updated every 100mS from an external input voltage of 0 - 5V and the result stored in internal registers which can be read by the connected I2C device (see register details further on in this datasheet). The port also incorporates a ground and Vin bus that allows sensors to be directly connected (see Fig. 3.0) Warning: These inputs are not overvoltage protected and should not be subjected to voltages over 5V. I2C connection 2 ON Steady Flashing slowly Flashing fast Power applied and no positional information. Positional information received. GPM in motion. These conditions will change as the GPM moves around its location and under objects that may block the satellite signals. Power requirements The DS-GPM.S takes the power necessary for operation (approx. 3090mA) from an external battery or power adaptor or power from the Arduino UNO board. The GPM provides three PCB pads, two marked ‘GND’ and one marked ‘Vin’ in the same format as that present on the UNO board, which should be connected to negative and positive battery/power supply terminals respectively. The input voltage range is 7 - 16VDC with the internal circuitry being protected against power supply reversal. The I C connections are marked ‘SDA’ and ‘SCL’ and allow connection to the Arduino UNO board ‘ANALOG IN’ pins 4 and 5 or the Rasperberry-PI GPIO port pins 3 and 5 (see Fig. 2.0) or another I2C Master device. The DS-GPM.S is fitted with pullup jumpers that can be configured to provide the source current necessary for I2C communication. The following jumpers should normally be set when using the UNO board, as long as the I2C bus does not have existing pull-up’s provided by another device. These jumpers MUST be removed when using the RaspberryPI: SDA SCL PULL UP I2C communication Up to four DS-GPM.S modules may be connected to the same UNO / Raspberry-PI board or I2C bus and Page 2 of 8 accessed individually using their own individual address. The address is configured with the following jumpers: ADDRESS A0 A1 The following table shows how the jumpers are placed for the different binary addresses: Address xx 00 (default) 01 10 11 A0 ON OFF ON OFF A1 ON ON OFF OFF The binary address (xx) above is used in conjunction with the device ID 11010xxD to form the complete device address i.e. if both jumpers are left connected (default) then the device address would be 1101000Dbinary. The ‘D’ bit determines if a read or a write to the GPM is to be performed. If the ‘D’ bit is set ‘1’ then a register read is performed or if clear ‘0’ a register write. To access individual registers a device write must be undertaken by the I2C Master which consists of a Start condition, device ID (‘D’ bit cleared), register to start write, one or more bytes of data to be written and a stop condition (see Figure 1.0 for I2C write protocol). There are 3 individual registers that can be written within the GPM that control local IO port setup and output as follows: N7 N6 N5 N4 N3 GPM I2C address 1. 1 1 0 1 0 XX = Address select pins A1 & A0 N2 X Register address 2. U U U U U U B..B = 0 to 2 U..U = unused on this implementation N1 X B Local I/O port direction register R0 U U U U X X X X = 1 or 0 (1 = I/O is input, 0 = I/O is output) U..U = unused on this implementation N0 0 N7 N6 N5 N4 GPM Address 1. 1 1 0 1 XX = Address select pins 0 N2 X N1 X Years thousands register R10 X X X X Y..Y = Thousands of years X..X = not used Years hundreds register R11 X X X X Y..Y = Hundreds of years X..X = not used Y Y X Y Y Y Y D D D D D D M M M M M M M M M M M M M Latitude degrees tens register R14 X X X X D D..D = Tens of degrees X..X = not used Latitude degrees units register R15 X X X X D D..D = Units of degrees X..X = not used Latitude minutes tens register R16 X X X X M M..M = Tens of minutes X..X = not used Latitude minutes units register R17 X X X X M M..M = Units of minutes X..X = not used Latitude minutes tenths register R18 X X X X M M..M = Tenths of minutes X..X = not used Latitude minutes hundredths register R19 X X X X M M M..M = Hundredths of minutes X..X = not used Latitude minutes thousandths register R20 X X X X M M M..M = Thousandths of minutes X..X = not used M M Longitude degrees hundreds register R23 X X X X X X D..D = Hundreds of degrees X..X = not used M M Longitude degrees tens register R24 X X X X D D..D = Tens of degrees X..X = not used S S S Longitude degrees units register R25 X X X X D D..D = Units of degrees X..X = not used S S S Longitude minutes tens register R26 X X X X M M..M = Tens of minutes X..X = not used X X D D Longitude minutes units register R27 X X X X M M..M = Units of minutes X..X = not used D D D D Longitude minutes tenths register R28 X X X X M M..M = Tenths of minutes X..X = not used X X M M Longitude minutes hundredths register R29 X X X X M M M..M = Hundredths of minutes X..X = not used M M M M Longitude minutes thousandths register R30 X X X X M M M..M = Thousandths of minutes X..X = not used X X Y Y Longitude minutes ten thousandths register R31 X X X X M M M M..M = Ten thousandths of minutes X..X = not used Y Y Y Y Longitude direction character R32 X D D D D D D D..D = ASCII Character (W = West, E = East) X..X = not used Seconds units register R5 X X X X S S..S = Units of seconds (UTC time) X..X = not used Month units register R9 X X X X M..M = Units of months X..X = not used Y Latitude direction character R22 X D D D D D D D..D = ASCII Character (N = North, S = South) X..X = not used Seconds tens register R4 X X X X X S..S = Tens of seconds (UTC time) X..X = not used X Y H Minutes units register R3 X X X X M M M..M = Units of minutes (UTC time) X..X = not used Month tens register R8 X X X X M..M = Tens of months X..X = not used 1 Years units register R13 X X X Y..Y = Units of years X..X = not used X Latitude minutes ten thousandths register R21 X X X X M M M M..M = Ten thousandths of minutes X..X = not used Minutes tens register R2 X X X X X M M..M = Tens of minutes (UTC time) X..X = not used Day of month tens register R6 X X X X D..D = Tens of day of month X..X = not used N0 Years tens register R12 X X X Y..Y = Tens of years X..X = not used H Hours units register R1 X X X X H H H H..H = Units of hours (24 hour clock UTC time) X..X = not used B Local I/O port output data register R2 U U U U X X X X X = 1 or 0 (1 = output pin is high, 0= output pin is low) U..U = unused on this implementation N3 Hours tens register R0 X X X X X H H H..H = Tens of hours (24 hour clock UTC time) X..X = not used Day of month units register R7 X X X X D..D = Units of day of month X..X = not used Local I/O port input type register** R1 U U U U Y Y X X X = 1 or 0 (1 = input pair is ana, 0= input pair is level) Y = 1 or 0 (1 = Input pair is ana, 0 = Input pair is level) U..U = unused on this implementation © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 To read individual data and status registers a device write then read must be undertaken by the OOPic / I2C Master. The write consists of a Start condition, device ID (‘D’ bit clear), register to start read and a Stop condition. This is followed by a read, which consists of a Start condition, device ID (‘D‘ bit set), followed by data from the register specified and terminated with a Stop condition. The GPM also auto increments the register specified for every additional read requested by the Master I2C device, which allows more than one register to be read in one transaction. This allows for example Register 0 to Register 5, current UTC time, to be read in one transaction (see Figure 1.1 for I2C read protocol). There are 112 individual registers that can be read within the GPM as follows: M D D D D D D D D D M M M M M M M M M M M M M M D Page 3 of 8 GPS quality indicator R33 X X X X X X D D..D = 0 - 2 (0 = No GPS, 1 = GPS, 2 = DGPS) X..X = not used Satellites in use tens register R34 X X X X X X S S..S = Tens of satellites in use X..X = not used Satellites in use units register R35 X X X X S S..S = Units of satellites in use X..X = not used HDOP tens register R36 X X X H..H = Tens of HDOP X..X = not used HDOP units register R37 X X X M..M = Units of HDOP X..X = not used X H S H S H D S S Speed units register R54 X X X X S S S..S = Units of kilometres per hour X..X = not used Speed tenths register R55 X X X X S S S..S = Tenths of kilometres per hour X..X = not used HDOP tenths register R38 X X X X M..M = Tenths of HDOP X..X = not used H H H H H Altitude metres tens of thousands register R39 X X X X X X X A = Tens of thousands of metres X..X = not used Altitude metres thousands register R40 X X X X A A..A = Thousands of metres X..X = not used Altitude metres hundreds register R41 X X X X A A..A = Hundreds of metres X..X = not used Altitude metres tens register R42 X X X X A..A = Tens of metres X..X = not used Altitude metres units register R43 X X X X A..A = Units of metres X..X = not used A A A A A Satellite 1 ID number tens register R59 X X X X X S..S = Tens of satellite ID number X..X = not used A A Satellite 1 ID number units register R60 X X X X S S..S = Units of satellite ID number X..X = not used Heading degrees (true North) units register R46 X X X X H H H H..H = Units of degrees X..X = not used Heading degrees (true North) tenths register R47 X X X X H H H H..H = Tenths of degrees X..X = not used © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 Satellite 2 ID number units register R64 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 2 signal level tens register R65 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 2 signal level units register R66 X X X X L L..L = Units of satellite signal level X..X = not used S S S S S L L L L L L X S S S S S L L L L L L X S S S S S H Satellite 3 ID number tens register R67 X X X X X S..S = Tens of satellite ID number X..X = not used H Satellite 3 ID number units register R68 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 3 signal level tens register R69 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 3 signal level units register R70 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 4 ID number tens register R71 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 4 ID number units register R72 X X X X S S..S = Units of satellite ID number X..X = not used L L X S L L S S L L S S S Satellite 4 signal level tens register R73 X X X X L L..L = Tens of satellite signal level X..X = not used S X H Heading degrees (Magnetic North) tenths register R51 X X X X H H H H H..H = Tenths of degrees X..X = not used S S A Heading degrees (Magnetic North) units register R50 X X X X H H H H H..H = Units of degrees X..X = not used Speed tens register R53 X X X X S S..S = Tens of kilometres per hour X..X = not used S A Heading degrees (Magnetic North) tens register R49 X X X X H H H H H..H = Tens of degrees X..X = not used S S A Heading degrees (Magnetic North) hundreds register R48 X X X X X X H H H..H = Hundreds of degrees X..X = not used Speed hundreds register R52 X X X X X X S..S = Hundreds of kilometres per hour X..X = not used S A Heading degrees (true North) hundreds register R44 X X X X X X H H H..H = Hundreds of degrees X..X = not used Heading degrees (true North) tens register R45 X X X X H H H H..H = Tens of degrees X..X = not used S A Satellite 2 ID number tens register R63 X X X X X S..S = Tens of satellite ID number X..X = not used A X H Satellite 1 signal level units register R62 X X X X L L..L = Units of satellite signal level X..X = not used A S H Satellite 1 signal level tens register R61 X X X X L L..L = Tens of satellite signal level X..X = not used A S H Satellites in view units register R58 X X X X S S..S = Units of satellites in view X..X = not used H S GPS Mode character R56 X D D D D D D D D..D = ASCII character (A = Autonomous Mode, D = Differential Mode, E = Estimated (dead reckoning) Mode, M = Manual Input Mode, S = Simulated Mode, N = Data Not Valid Satellites in view tens register R57 X X X X X S..S = Tens of satellites in view X..X = not used X S S L L L Satellite 4 signal level units register R74 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 5 ID number tens register R75 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 5 ID number units register R76 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 5 signal level tens register R77 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 5 signal level units register R78 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 6 ID number tens register R79 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 6 ID number units register R80 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 6 signal level tens register R81 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 6 signal level units register R82 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 7 ID number tens register R83 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 7 ID number units register R84 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 7 signal level tens register R85 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 7 signal level units register R86 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 8 ID number tens register R87 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 8 ID number units register R88 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 8 signal level tens register R89 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 8 signal level units register R90 X X X X L L..L = Units of satellite signal level X..X = not used Satellite 9 ID number tens register R91 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 9 ID number units register R92 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 9 signal level tens register R93 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 9 signal level units register R94 X X X X L L..L = Units of satellite signal level X..X = not used L L L X S S S S S L L L L L L X S S S S S L L L L L L X S S S S S L L L L L L X S S S S S L L L L L L X S S S S S L L L L L L Page 4 of 8 Satellite 10 ID number tens register R95 X X X X X S..S = Tens of satellite ID number X..X = not used D..D = 0 to 255 (Analogue input value for AN1 input) D = 0 if IO line is configured for a normal input X Satellite 10 ID number units register R96 X X X X S S S..S = Units of satellite ID number X..X = not used Satellite 10 signal level tens register R97 X X X X L L..L = Tens of satellite signal level X..X = not used L Satellite 10 signal level units register R98 X X X X L L L..L = Units of satellite signal level X..X = not used Satellite 11 ID number tens register R99 X X X X X S..S = Tens of satellite ID number X..X = not used Satellite 11 ID number units register R100 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 11 signal level tens register R101 X X X X L L..L = Tens of satellite signal level X..X = not used X Satellite 12 ID number units register R104 X X X X S S..S = Units of satellite ID number X..X = not used Satellite 12 signal level tens register R105 X X X X L L..L = Tens of satellite signal level X..X = not used Satellite 12 signal level units register R106 X X X X L L..L = Units of satellite signal level X..X = not used S Local analogue input AN2 value R109 D D D D D D D D D..D = 0 to 255 (Analogue input value for AN2 input) D = 0 if IO line is configured for a normal input S S Local analogue input AN3 value R110 D D D D D D D D D..D = 0 to 255 (Analogue input value for AN3 input) D = 0 if IO line is configured for a normal input L L S L S S S S L L L L L X S S S S S L L L L L L D D Example. To read the complete time from registers 0 to 5 (Current time = 14:32:56, Device address = default) write: DS-GPM.S Status R112 U U B A V V V V V..V = Firmware version number 1-15 A = Position found bit (0 = Not found, 1 = Found) B = Motion bit (0 = Standstill, 1 = Moving) ‘Point to register 0 Byte 1 (GPM Adr) 11010000binary Byte 2 (Set register) 0decimal, 00hex L Local analogue input AN0 value R107 D D D D D D D D D..D = 0 to 255 (Analogue input value for AN0 input) D = 0 if IO line is configured for a normal input Local analogue input AN1 value R108 D D D D D This time format replaced Greenwich Mean Time (GMT) in 1986 and is of the same value. Time zones relative to GMT should add or subtract a standard value to gain the correct time. Local I/O port input value R111 X X X X D D D D D = 1 or 0 (1 = input pin is high, 0= input pin is low) D = 0 if IO line is configured for analogue input Registers R0 to R106 may contain invalid data until satellite information has been gained and stored. Satellite 11 signal level units register R102 X X X X L L L..L = Units of satellite signal level X..X = not used Satellite 12 ID number tens register R103 X X X X X S..S = Tens of satellite ID number X..X = not used S ** Note: Analogue inputs can only be configured in pairs IO1&2 and IO3&4. Register restoration… All received data is formatted into decimal units (i.e. hundreds, tens & units) and stored in individual registers to facilitate either value or character restoration. Value restoration can be undertaken by multiplying the required register by its multiplier e.g. to restore the value of register R0 ‘Hours tens’ the register contents are multiplied by ten (10). Character restoration, to allow the output to a PC via. RS232 or display of data on a LCD panel etc., can be undertaken by the addition of the constant value 48decimal, 30hex. UTC Time format… The standard GPS time coordinate system is called Universal Coordinated Time or UTC. ‘Read register 0 - 5 Byte 1 (GPM Adr) Byte 2 Hours tens Byte 3 Hours units Byte 4 Minutes tens Byte 5 Minutes units Byte 6 Seconds tens Byte 7 Seconds units 11010001binary 1decimal, 01hex 4decimal, 04hex 3decimal, 03hex 2decimal, 02hex 5decimal, 05hex 6decimal, 06hex Battery replacement The DS-GPM.S backup battery needs replacing if the real time clock resets to the year 2006 or time to first fix is significantly long. The CR1220 type lithium battery can be replaced by removing the four screws in the base of the module, removing the cover, sliding out the old battery, sliding in a new battery [positive uppermost] and replacing the cover and screws. Please dispose of the exhausted battery responsibly. See the website at www.designersystems.co.uk for sample Arduino and Raspberry-PI applications. D Electrical Characteristics (TA = 25oC Typical) Parameter Minimum Supply Voltage (7-16V) 7 Supply Current 30 I2C speed I2C pull-up resistance GPS positional accuracy 1 GPS frequency band GPS channels ADC input voltage 0 ADC measurement cycle IO line output voltage 0.3 IO line output current IO line input voltage 0 Maximum 16 90 400 4700 2.5 1575.42 56 Vcc 100 Vcc-0.8V 20 Vcc+0.3V Units V mA kHz Metres MHz Maximum +18 Units V Notes 1 4 3 2 V mS V mA V Absolute Maximum Ratings Parameter Supply Voltage (7-16V) © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 Minimum -0.5 Page 5 of 8 Environmental Parameter Operating Temperature Storage Temperature Humidity Dimensions Weight Immunity & emissions Minimum Maximum Units o 0 70 C o -10 80 C 0 80 % Length 56.25mm, Width 53.5mm, Height 20mm 28g See statement on page 11 Notes: 1. Supply voltage is supply rail from Arduino board or any other 7-16V supply. 2. L1 frequency, C/A code (Standard Positioning Service) 3. Value given is to Vcc when activated with appropriate jumpers. 4. Maximum value is only during initial acquisition. ACK ACK ACK 1 1 0 1 0 A1 A0 DATA BYTE STOP REGISTER ADDRESS GPM ADDRESS R / W=0 START Figure 1.0 (I2C write protocol) Multiple bytes may be written before the ‘STOP’ condition. Data is written into registers starting at ‘REGISTER ADDRESS’, then ‘REGISTER ADDRESS’ +1, then ‘REGISTER ADDRESS’ +2 etc. Each byte transfer is acknowledged ‘ACK’ by the GPM until the ‘STOP’ condition. NACK ACK R / W=1 STOP DATA BYTE 2 ACK ACK DATA BYTE 1 GPM ADDRESS 1 1 0 1 0 A1 A0 ACK 1 1 0 1 0 A1 A0 START REGISTER ADDRESS GPM ADDRESS R / W=0 START Figure 1.1 (I2C read protocol) ‘DATA BYTE 1 & 2’ are register values returned from the GPM. Each byte written is acknowledged ‘ACK’ by the GPM , every byte read is acknowledged ‘ACK’ by the I2C Master. A Not-acknowledge ‘NACK’ condition is generated by the I2C Master when it has finished reading. Figure 2.0 (Connection Schematic for Arduino UNO or Raspberry-Pi I2C communication) P1 Raspberry Pi (c) 2010 Designer Systems 3 4 2 GND Vin I/O RESET 3V3 © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 A0 GND Vin ADDRESS 5 A1 ANALOG IN 2 3 4 SDA 1 SCL 0 Global Positioning System Module PULL-UP POWER 5V Gnd Vin DS-GPM Shield 1 STATUS www.arduino.cc SDA SCL Page 6 of 8 Figure 3.0 (I/O connections) 3 4 GND Vin I/O A0 A1 SDA SCL Global Positioning System Module ADDRESS 1 STATUS PULL-UP DS-GPM Shield 2 IO1 IO2 IO3 IO4 IO / Analogue Port SDA SCL GND Vin Mechanical Specifications – Units millimetres 53.50 (c) 2010 Designer Systems SDA SCL 4 3 1 GND Vin I/O 20.00 A0 ADDRESS A1 SDA SCL GND Vin PULL-UP Global Positioning System Module 2 STATUS DS-GPM Shield 56.25 Revision History: 1.00 Release version 1.01 Release version (Updated IO registers and HDOP registers, added battery recycling statement) 1.02 Release version (Added UNO board) 1.03 Release version (Added Raspberry-PI information) © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 Page 7 of 8 WEEE Consumer Notice This product is subject to Directive 2002/96/EC of the European Parliament and the Council of the European Union on Waste of Electrical and Electronic Equipment (WEEE) and, in jurisdictions adopting that Directive, is marked as being put on the market after August 13, 2005, and should not be disposed of as unsorted municipal/public waste. Please utilise your local WEEE collection facilities in the disposition and otherwise observe all applicable requirements. For further information on the requirements regarding the disposition of this product in other languages please visit www.designersystems.co.uk RoHS Compliance This product complies with Directive 2002/95/EC of the European Parliament and the Council of the European Union on the Restriction of Hazardous Substances (RoHS) which prohibits the use of various heavy metals (lead, mercury, cadmium, and hexavalent chromium), polybrominated biphenyls (PBB) and polybrominated diphenyl ethers (PBDE). Battery Recycling The DS-GPM features an internal lithium coin cell that must be recycled at end of life. To access the cell remove the four (4) screws in the bottom of the product and lift off the plastic cover. Using the end of a paper clip, screw driver or other form of pointed tool slide the coin cell from its holder. To preserve natural resources, please recycle the battery properly. Declaration of Conformity Copyright 1997-2010 by Designer Systems Ltd Apparatus name / model number DS-GPM.S Manufacturer Designer Systems, 11 Castle Street, Truro, Cornwall Conformity via Generic Standard EN50081-1 TR1 3AF, United Kingdom Generic Standard EN50082-1 Description of apparatus Robotic interface peripheral Conformity criteria For use only within commercial, residential and light industrial applications We certify that the apparatus identified above conforms to the requirements of Council Directive 2004/108/EC & 2006/95/EC Signed. Date 14/5/10 Having made this declaration the CE mark is affixed to this product, its packaging, manual or warranty. The information appearing in this data sheet is believed to be accurate at the time of publication. However, Designer Systems assumes no responsibility arising from the use of the information supplied. The applications mentioned herein are used solely for the purpose of illustration and Designer Systems makes no warranty or representation that such applications will be suitable without further modification, nor recommends the use of its products for application that may present a risk to human life due to malfunction or otherwise. Designer Systems reserves the right to alter its products without prior notification. © 1997-2013 Designer Systems COMMS23.04.11 Revision 1.03 Page 8 of 8