Silicon ChipEl Cheapo Modules Part 10: GPS receivers - October 2017 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Let’s be realistic about an Australian space industry
  4. Mailbag
  5. Feature: WRESAT: Australia’s first satellite – 50 years ago! by Dr David Maddison
  6. Feature: Three of our miniature satellites have gone missing... by Ross Tester
  7. Project: 0.01Hz - 6+GHz touchscreen frequency meter, Part 1 by Nicholas Vinen
  8. Feature: El Cheapo Modules Part 10: GPS receivers by Jim Rowe
  9. Project: One hour project: Kelvin – the very clever cricket by John Clarke
  10. Serviceman's Log: Old-fashioned appliance repairs are still worthwhile by Dave Thompson
  11. Project: 3-way Active Crossover for speakers, Part 2 by John Clarke
  12. Project: Deluxe eFuse, Part 3: using it! by Nicholas Vinen
  13. Feature: Adjust your hot-water thermostat and save $$$$ by Leo Simpson
  14. Subscriptions
  15. Vintage Radio: HMV 1955 Portable Model 12-11 by Associate Professor Graham Parslow
  16. PartShop
  17. Market Centre
  18. Notes & Errata: Automatic NBN/ADSL Router Rebooter / Power Supply for Battery-Operated Valve Radios / Vintage Radio (DKE38)
  19. Advertising Index
  20. Outer Back Cover: Microchip Low-power LCD

This is only a preview of the October 2017 issue of Silicon Chip.

You can view 34 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "0.01Hz - 6+GHz touchscreen frequency meter, Part 1":
  • 6GHz+ Touchscreen Frequency Counter PCB [04110171] (AUD $10.00)
  • Short Form Kit for the Micromite Plus Explore 100 (Component, AUD $75.00)
  • Case pieces for the 6GHz+ Frequency Counter (PCB, AUD $15.00)
  • Software for the 6GHz+ Touchscreen Frequency Counter (v1.01) (Free)
Articles in this series:
  • 0.01Hz - 6+GHz touchscreen frequency meter, Part 1 (October 2017)
  • 0.01Hz - 6+GHz touchscreen frequency meter, Part 1 (October 2017)
  • Touch-screen 6GHz+ Frequency Counter, part II (November 2017)
  • Touch-screen 6GHz+ Frequency Counter, part II (November 2017)
  • Part 3: Finishing our new 6GHz+ Digital Frequency Meter (December 2017)
  • Part 3: Finishing our new 6GHz+ Digital Frequency Meter (December 2017)
Items relevant to "El Cheapo Modules Part 10: GPS receivers":
  • VK2828U7G5LF TTL GPS/GLONASS/GALILEO module with antenna and cable (Component, AUD $25.00)
Articles in this series:
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • A Gesture Recognition Module (March 2022)
  • A Gesture Recognition Module (March 2022)
  • Air Quality Sensors (May 2022)
  • Air Quality Sensors (May 2022)
  • MOS Air Quality Sensors (June 2022)
  • MOS Air Quality Sensors (June 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Heart Rate Sensor Module (February 2023)
  • Heart Rate Sensor Module (February 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • VL6180X Rangefinding Module (July 2023)
  • VL6180X Rangefinding Module (July 2023)
  • pH Meter Module (September 2023)
  • pH Meter Module (September 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 1-24V USB Power Supply (October 2024)
  • 1-24V USB Power Supply (October 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
Items relevant to "One hour project: Kelvin – the very clever cricket":
  • Kelvin the Cricket PCB [08109171] (AUD $7.50)
  • PIC12F675-I/P programmed for Kelvin the Cricket [0810917B.HEX] (Programmed Microcontroller, AUD $10.00)
  • Firmware (HEX and ASM) file for Kelvin, the Very Clever Cricket [0810917B.HEX] (Software, Free)
  • Kelvin the Clever Cricket PCB pattern (PDF download) [08109171] (Free)
Items relevant to "3-way Active Crossover for speakers, Part 2":
  • 3-Way Adjustable Stereo Active Crossover PCB [01108171 RevD] (AUD $12.50)
  • 3-Way Adjustable Stereo Active Crossover prototype PCB [01108171 RevC] (AUD $5.00)
  • 3-Way Adjustable Stereo Active Crossover PCB [01108171 RevE] (AUD $20.00)
  • Set of four 8-gang potentiometers with knobs for the 2/3-Way Active Crossover (Component, AUD $55.00)
  • SMD parts for the 3-way Adjustable Active Stereo Crossover (Component, AUD $30.00)
  • 3-Way Adjustable Stereo Active Crossover simulation file (Software, Free)
  • 3-Way Adjustable Stereo Active Crossover PCB pattern (PDF download) [01108171] (Free)
  • 3-Way Adjustable Stereo Active Crossover front & rear panel artwork (PDF download) (Free)
Articles in this series:
  • Fully adjustable, 3-way active loudspeaker crossover Pt.1 (September 2017)
  • Fully adjustable, 3-way active loudspeaker crossover Pt.1 (September 2017)
  • 3-way Active Crossover for speakers, Part 2 (October 2017)
  • 3-way Active Crossover for speakers, Part 2 (October 2017)
Items relevant to "Deluxe eFuse, Part 3: using it!":
  • Deluxe Touchscreen eFuse PCB [18106171] (AUD $12.50)
  • PIC32MX170F256B-50I/SP programmed for the Deluxe Touchscreen eFuse [1810617A.HEX] (Programmed Microcontroller, AUD $15.00)
  • 2.8-inch TFT Touchscreen LCD module with SD card socket (Component, AUD $25.00)
  • IPP80P03P4L-07 high-current P-channel Mosfet (Component, AUD $2.50)
  • LT1490ACN8 dual "Over-the-Top" rail-to-rail op amp (Component, AUD $10.00)
  • IPP80N06S4L-07 high-current N-channel Mosfet (TO-220) (Component, AUD $2.00)
  • Matte Black UB1 Lid for the Deluxe Touchscreen eFuse (PCB, AUD $7.50)
  • Software for the Deluxe Touchscreen eFuse (Free)
  • Deluxe Touchscreen eFuse PCB pattern (PDF download) [18106171] (Free)
Articles in this series:
  • Deluxe Touchscreen eFuse, Part 1 (July 2017)
  • Deluxe Touchscreen eFuse, Part 1 (July 2017)
  • Deluxe Touchscreen eFuse, Part 2 (August 2017)
  • Deluxe Touchscreen eFuse, Part 2 (August 2017)
  • Deluxe eFuse, Part 3: using it! (October 2017)
  • Deluxe eFuse, Part 3: using it! (October 2017)

Purchase a printed copy of this issue for $10.00.

Using Cheap Asiannic ro Elect ules Mod 10 Pa r t Two really low cost GPS receiver modules These two GPS receiver modules combine low cost with impressive performance – making them very attractive for use in all kinds of projects. One is the V.KEL “GMouse” VK2828U7G5LF, and the other the u-blox Neo-7M module. By JIM ROWE O ver the 10 years or so that GPS receiver modules have been available for use in electronic projects, they have not only improved significantly in performance but have also dropped dramatically in price. For example, the Garmin GPS15L module we used in our GPS-derived Frequency Reference (Silicon Chip March-May 2007) cost $130 but also needed a separately powered outside antenna/LNA which cost about half as much again. At the time, we thought this was surprisingly cheap but by 2013 the prices for similar modules had dropped to less than $60 – despite the fact that they were more sensitive and had a built-in ceramic “patch” antenna. But technology and market forces keep marching on and now you can buy a very compact GPS receiver module complete with ceramic patch antenna (the V.KEL Electronics VK2828U7G5LF) for around $25, which we supply on our on- The u-blox Neo-7M module is 35 x 25 x 5mm by itself, with a separate ceramic patch antenna of 25 x 25 x 8mm. 36 Silicon Chip Celebrating 30 Years line shop (www.siliconchip.com.au/ Shop/7/3362). Or you can buy a similar unit (the u-blox Neo-7M) with separate patch antenna for as little as $16, from many different suppliers on eBay and AliExpress. The two modules look a little different, as you can see from the photos. For the V.KEL “GMouse”, the ceramic patch antenna is mounted on the underside of the module's main PCB, while for the Neo-7M it is separate and connected to the receiver using a short length of thin coaxial cable. Both modules are built in China and they're both based on the GPS receiver engine chip (the UBX-G7020-KT), made by Swiss firm u-blox Holding AG. Founded in 1997 as a spin-off from the Swiss Federal Institute of Technology in Zurich, u-blox had delivered one million GPS receivers by 2004 and its 10 millionth receiver by 2008. In 2011, it acquired the Californian firm Fusion Wireless and in 2012 it acquired Finland-based Fastrax. The firm now has offices in Finland, China and Japan as well as in the USA and many European countries. You can find more about them on their website at www.u-blox.com, including a data sheet on the UBX-G7020-KT engine chip and a full data sheet on the closely related Neo-7M module. You can also get a comprehensive data sheet for the VK2828U7G5LF module from either of these websites: www.vkelcom.com https://github.com/CainZ/V.KELGPS/blob/master/VK2828U7G5LF%20 Data%20Sheet%2020150902.pdf siliconchip.com.au Fig.1: block diagram of the UBX-G7020-KT GPS engine chip. The whole chip is contained within a 5 x 5 x 0.6mm SMD package. Due to a multi-mode GNSS decoding engine, this chip can handle 56 channels of GPS, GLONASS or GALILEO. Note that the European GALILEO system is not yet operational. As you can see from the block diagram in Fig.1, the UBX-G7020-KT GPS engine chip is impressive. It's a complete GPS receiving system integrated inside a 5 x 5 x 0.6mm SMD package. There's an RF/microwave front-end receiving block with an LNA (lownoise amplifier) and a crystal-derived fractional-N frequency synthesiser for the local oscillator, with its IF output fed to a digital block with a CPU controlling a digital IF filter and a multimode GNSS decoding engine which can handle 56 channels of either GPS or GLONASS (Russian version of GPS) satellite signals. Supporting the rest of the digital block are ROM, RAM and backup RAM, RTC (real-time clock) and a number of programmable I/O sections – including one which provides con- figurable time pulse signals (0.25Hz10MHz) with an RMS accuracy of 30ns. Finally, there's a selection of four different output interfaces: USB, SPI, UART and I2C. Additionally, the cold-start sensitivity of the UBX-G7020-KT chip is claimed as -148dBm, falling to -160dBm for reacquisitions. The time to first fix for a cold start is listed as 30 seconds, dropping to one second for a hot start. In short, it's an impressive little performer. Inside the Neo-7M So that's a glimpse of what's inside the UBX-G7020-KT chip itself. Now let's take a look at one of the modules using it, the Neo-7M. This measures 35 x 25 x 5mm for the module itself, with the separate patch antenna meas- uring 25 x 25 x 8mm. You'll find the Neo-7M's full circuit in Fig.2. (We don't have the full circuit details of the VK2828U7G5LF module but it's likely quite similar.) As you can see, there's not a lot in it apart from the UBX-G7020-KT receiver (IC1) and its matching active antenna which is a ceramic patch antenna with onboard LNA (low-noise amplifier). The antenna connects to the RF input of IC1 (pin 11) via a 20mm length of very small diameter coax and a pair of ultra-miniature U.FL coax connectors. DC power to operate the LNA is provided via inductor L1 and its series 22W resistor, connected to pin 9 of IC1. Now the UBX-G7020 is designed to operate from a 3.3V supply, so the module includes a low-dropout regulator (REG1) so that it can be connected directly to a 5V DC supply. Note that there's also a pill-sized rechargeable backup battery connected to pin 22 of IC1 which is charged via diode D1 and the series 1kW resistor when power is applied to the module. But what's the purpose of IC2, a 32Kb (4KB) EEPROM? It is provided in order to save the UBX-G7020's configuration data, since many aspects of its configuration can be changed – such as the I/O port to be used, the frequency of its time-pulse output and so on. The Neo-7M module leaves the factory with a default configuration where the UART and I2C I/O ports are activated, with the UART I/O set for a bit rate of 9600 baud and “8N1” no-handshaking. The time-pulse Fig.2: the full circuit diagram for the Neo-7M module. siliconchip.com.au Celebrating 30 Years October 2017  37 Underside of the Neo-7M and separate ceramic patch antenna. The outer two gold rectangular pads on the Neo-7M can be used to provide an earth connection, which can be useful if you need an outdoor antenna. frequency is also set for 1Hz. However, it's also programmed to save its configuration data in external memory, via the I2C port, so that it can retrieve this information each time it's powered up. The module designers have provided IC2 to save this configuration data, so if you want to change the Neo-7M's configuration, it's possible to do this by reprogramming IC2. Most users probably won't want to do this, though, because the default configuration is likely to be suitable for most common applications. That's about it, apart from the two LEDs. Red LED1 is provided as a power indication, lighting up whenever +5V power is provided to the module via pin 4 of CON1. And green LED2 is connected via a second 1kW resistor to pin 3 of IC1, which is the time pulse output. So LED2 flashes once per second (with the default configuration), once the UBX-G7020 has achieved a fix from the GPS satellites. This usually happens less than 30 seconds after applying power, assuming the antenna has a reasonable view of the sky. Unfortunately, the designers of this module have not provided a specific output on the PCB for taking off the 1pps/time pulse signal for external use. But it's not all that hard to do this yourself, with a small amount of surgery. All you need do is to identify the PCB track connecting pin 3 of IC1 to the top end of the 1kW resistor next to LED2 and then scrape some of the protective lacquer from the top of the track as close as possible to the resistor's mounting pad. Then you need to tin it quickly with your fine-tipped sol38 Silicon Chip dering iron, so that you can solder the bared end of a short length of hookup wire to the top of the tinned track. This isn't quite as simple as it might sound. For a start, the PCB track concerned is only about 0.5mm wide. So you have to do the scraping very carefully and the tinning and soldering as quickly as possible – otherwise the track may detach from the PCB laminate and break off, removing the connection to pin 3 of IC1 altogether. Can't you simply solder the wire to the pad at the outer end of the 1kW resistor, to avoid risking damage to the thinner track? Yes, you can but when I tried this myself the solder joint between the resistor and the pad underneath lifted slightly, breaking the connection to the track for both the resistor and the added wire. So LED2 no longer flashed and there were still no 1pps pulses available via the added wire. Then when I tried resoldering things, the original 1kW SMD resistor overheated and came off altogether. So I decided to try re-soldering the 1pps takeoff wire to both the resistor pad and the track to pin 3 of IC1, and then fitting a new 1kW (0805) resistor in place of the old one – mounted at an angle, so that its outer end could be soldered to the top of the takeoff wire. This looks a bit messy, as you can see from the photo below but it does work. You should also be able to see from the photo that I looped the takeoff wire through the PCB mounting hole nearby, to avoid stress on the solder joint when the outer end of the wire is moved around. I also soldered the end of another short length of hookup wire to the nearest of the three long gold-flashed pads at that end of the PCB, to make another ground connection. This wire was also looped through the PCB mounting hole. Incidentally, those three long goldflashed pads at the end of the module's PCB seem to have been provided to allow fitting a PCB edge-mounting SMA socket, for connection of an alternative external active GPS antenna. The two outside pads are connected to PCB ground, while the inner pad is connected to the RF input between the U.FL connector and pin 11 of IC1. There are also two gold-flashed pads on the underside of the PCB, directly under the two outer pads and connected to ground as well. It's an option that could be handy in applications where you must have an outside antenna. Inside the VK2828U7G5LF Detailed information regarding the internals of the V.KEL VK2828U7G5LF module is limited. The manufacturer's data doesn't say much at all, apart from confirming that it uses the u-blox UBXG7020-KT engine chip, giving the pin designations for the module's 6-pin power/IO connector and also giving the overall dimensions of the module as 28 x 28 x 8.6mm. Some circuit work is needed to take a 1pps/ time pulse signal for external use on the Neo-7M. This is done by attaching hookup wire on the PCB track connecting pin 3 of IC1 and the 1kW resistor next to LED2. The second hookup wire you can see is attached to one of the gold pads to provide another ground connection. Celebrating 30 Years siliconchip.com.au However, a quick visual inspection of the module when powered up and working revealed another detail: this module provides two PPS indicator LEDs – one on the top of the module's PCB like the red power LED, and the other on the other side of the PCB just at the end of the patch antenna. So as the module would normally be placed antenna side uppermost for best GPS reception, this means that this second PPS LED will always be visible – a nice feature. Fig.3 shows all of the available information regarding the internals of the VK2828U7G5LF module. We have labelled the two PPS LEDs LED2 and LED3 since there are no markings on the PCB. One final point which should be noted is that this module does provide a specific output pin for the PPS pulses, so no surgery is required to make use of these pulses. Putting them to use It's actually quite easy to make use of either of these GPS receiver modules. As a bare minimum, all you need to do is hook them up to a source of 5V DC and then connect the TX/TXD output to the RXD input of your Arduino, Micromite or other micro, to feed it with the module's NMEA (National Marine Electronics Association) data stream. Note that with the VK2828U7G5LF module both the E/EN and V/VCC wires should be connected to +3.3V or +5V, while with the Neo-7M module only the VCC pin (pin 4) is connected to +5V. To show how easy it is to connect one of these modules to a Micromite, I can refer you to Geoff Graham's article in the April 2016 issue of Silicon Chip describing his Touch-Screen Boat Computer with GPS. There's also quite a bit of information on the web describing how to use this type of module with an Arduino. It's also surprisingly easy to connect up the module to a PC. All you need is one of the little UART/USB bridge modules, like the one we discussed in the third article in this series (see the January 2017 issue of Silicon Chip). As you can see from the diagrams of Figs.4 & 5, you just need to make the correct interconnections between the two modules (note the crossover between the two serial data lines) after which the USB socket on the bridge module can be connected to a USB port on your PC via a standard USB cable. siliconchip.com.au Fig.3: what we can infer about the internals of the VK2828U7G5LF module. Note that this module, unlike the Neo-7M, provides a specific output pin for 1pps/ time pulse signals. The nice thing about this approach is that power for both modules comes from the PC via the USB cable, so no separate power supply is needed. In passing, the current drawn from the USB supply by either GPS receiver module plus the UART-USB bridge module combination is only about 60mA. Remember that when you first plug the cable from the UART/USB bridge into a USB port on your PC, Windows should automatically install the correct VCP (virtual COM port) driver for it. So before proceeding further, it's a good idea to fire up Control Panel and check that the driver has been installed – also noting the COM port number it has been given (like COM5, COM8 etc). You should be able to configure the port settings – in this case for communication at 9600 baud, with no handshaking and 8-N-1 (8 data bits, no parity and 1 stop bit) data formatting. Once the simple setup of Fig.4 or Fig.5 is hooked up to your PC and the LEDs on the modules indicate that it's running, you can easily monitor the NMEA data stream coming from the GPS receiver using a serial terminal emulator program like Tera Term. This is a very stable serial terminal emulator written originally by Japanese software designer T. Teranishi, which has been maintained as free open-source software since 2007 by the Tera Term Project. You can download it from either of Fig.4 (top): required connections to connect the VK2828U7G5LF to a computer. Fig.5 (bottom): required connections for the Neo-7M to connect to a computer. Celebrating 30 Years October 2017  39 GPS in a Nutshell GPS or the Global Positioning System was the first global navigation satellite system (GNSS) to become fully operational, in 1995 (the 24th orbiting GPS satellite had been launched in 1994). GPS was developed by the US Department of Defense (DoD) and was initially intended for use only by the US military, with the signals intentionally degraded for non-military users via a system known as “Selective Availability”. However, Selective Availability was turned off in May 2000, following a policy directive that had been signed by President Bill Clinton in 1996. Since then, the uses of GPS by civilians have grown almost exponentially, not just in the USA but all around the planet. GPS receivers are now incorporated into mobile phones, laptops and touch-pad PCs, navigation receivers for cars, trucks and buses, tracking systems for trains and light-rail systems and of course navigation receivers for aircraft, ships and boats. By February 2016, the number of satellites orbiting in the GPS constellation had risen to 32, with 31 of them in use and one a spare in case of a failure. Strictly speaking, only 24 orbiting satellites are needed for navigation anywhere on the globe because this ensures that four satellites are visible at all times. However, the additional satellites provide worthwhile redundancy and improves receiver accuracy. But how does GPS actually work? Well, all of the GPS satellites orbit the Earth at an altitude of approximately 20,200km, in orbital planes that are tilted at approximately 55° to the equator. They’re orbiting at a speed such they make one full revolution in half a sidereal day (11 hours and 58 minutes). The orbits are arranged so that at least six satellites are always within line-ofsight from virtually anywhere on the planet’s surface. Inside each satellite there are two caesium-beam atomic clocks, and the satellites all make frequent radio contact with each other as well as with dedicated ground monitoring stations. As a result, each satellite always knows two crucial parameters with great accuracy: the current GPS/UTC time and its own current location in terms of latitude, longitude and altitude. Each satellite also contains a CDMA spread-spectrum microwave transmitter, which continually broadcasts its current time and location data on a number of frequencies – mainly 1.57542GHz (the “L1” signal) and 1.2276GHz (the “L2” signal). Although all of the satellites use the same frequencies, the signals from each satellite are encoded with a different highrate pseudorandom sequence, so receivers can always identify from which satellite any signal is originating. This allows a GPS receiver to work out its own current location by decoding and comparing each of the signals currently being received from at least four satellites. It does this by measuring the time taken for the signals to come from each satellite, at their specified locations. This allows it to calculate Fig.6: shows the way $GPRMC header data is arranged. 40 Silicon Chip Celebrating 30 Years its distance from each satellite, and then to find its own location by finding the intersection of these multiple path distances – a technique called triangulation. But a GPS receiver doesn’t just provide this accurate location information. Most GPS receivers actually provide a continuous stream of many items of data, in a format known as the NMEA 0183 data stream (where NMEA stands for the US National Marine Electronics Association). This emerges from a GPS receiver as alphanumeric serial CSV (comma separated variable) data, usually at a rate of 4800 or 9600 baud (bits/second). It’s in the form of a number of one-line message “sentences”, each one identified by a unique header word. All of these header words begin with the characters “$GP”, but are then followed by a three-letter combination identifying the type of sentence. Perhaps the most useful message sentence for many applications is the one carrying the $GPRMC header, also known as the Recommended Minimum sentence. This provides the current UTC time, the receiver’s latitude and longitude, its speed in knots (not very useful when operating in a fixed location) and the date. As well as providing this handy data stream (updated every second), most GPS receivers also provide a 1pps time pulse each second, with its leading edge accurately locked to GPS/UTC time. This makes them especially useful for synchronising clocks and frequency references. these websites: https://osdn.net/projects/ttssh2/ releases/ http://download.cnet.com/TeraTerm/3000-20432_4-75766675.html At the time of writing, the current version is 4.92. When you install Tera Term and first start it up, you'll need to set it up before proceeding. Do this by clicking on the Setup menu, and then on “Terminal”. Then in the dialog that siliconchip.com.au Data stream from the GPS receiver being viewed in Tera Term. appears, set the New-Line Receive mode to AUTO, check that the terminal ID shows as “VT100” and that the Local echo is not selected. Then exit from the Setup Terminal dialog and click on the Setup menu again, but this time drop down to click on “Serial Port”. Then in the new dialog that appears, set the Port to the VCP number that you saw in Control Panel and make sure that the data rate is set to 9600 and the format to 8-N-1. Finally, click on the Setup menu one more time and drop down to click on “Save setup”. This will let you save the new setup so that in future when you start up Tera Term, it will be able to begin accepting the data stream from your GPS receiver without any further ado. In fact, as soon as you finish saving the setup, Tera Term should immediately swing into action, receiving the GPS data stream and displaying it in its main window as shown in the adjacent screen grab. Notice that there are quite a few data sentences sent by the GPS receiver each second, as well as the one with the “$GPRMC” header. Fig.6 shows the way the time, location and date information is arranged in the $GPRMC sentences. This should be enough for many people, but if you need to analyse any of the other sentences you can get a lot of useful information by using this link: www.gpsinformation.org/dale/ nmea.htm The UBX-G7020-KT GPS receiver chip used in both modules can be programmed to change various parameters in its NMEA 0183 output stream – for example to select or deselect any of the data sentences, change the data rate from the default 9600 baud and so on. It can also be instructed to change the PPS rate from the default 1pps up to 10pps. All of these changes are made by sending a hexadecimal data stream to the chip via the RX/RXD serial input. This is explained in the VK2828U7G5LF data sheet. I hope the foregoing gives you enough insight into either of the GPS receiver modules based on the u-blox UBX-G7020-KT chip, so that you'll be confident in getting one and trying it out. In closing perhaps I should mention that you don't even have to hook up the receiver modules to a UART-USB bridge module as per Figs.4 and 5 in order to use it purely for extracting 1pps pulses from the GPS signals to drive a digital clock or a GPS-disciplined frequency reference. All you'll need to do is connect the module's VCC (or VCC and EN) and GND lines to a source of 5V DC, and away it will go. SC The left plot shows the 1pps pulse and NMEA (National Marine Electronics Association) data from the Neo-7M while the right plot shows just the 1pps pulse data from the VK2828U7G5LF. siliconchip.com.au Celebrating 30 Years October 2017  41