Google Chat: zj734465502@gmail.com
+86-0755-88291180
sales01@spotpear.com
dragon_manager@163.com
services01@spotpear.com
manager01@spotpear.com
WhatsApp:13246739196
This item is Raspberry Pi Pico GNSS (Global Navigation Satellite System) expansion board based on the L76K module, supporting multiple satellite systems including GPS, BeiDou (BDS), GLONASS, and QZSS. It supports both multi-system joint positioning and single-system independent positioning, and supports A-GNSS functionality. It has the advantages of fast, accurate positioning and low power consumption. Paired with Raspberry Pi Pico/Pico 2, it can easily achieve global positioning.
GNSS parameters | |
Frequency bands: GPS L1 (1575.42Mhz) BD2 B1 (1561.098MHz) | |
Number of channels: 33 tracking channels, 99 capture channels, and 210 PRN channels | |
C/A code | |
SBAS: WAAS, EGNOS, MSAS, GAGAN | |
Horizontal positioning accuracy (autonomous positioning) | <2.5m CEP |
Time to first fix @ -130dBm (EASY function enabled) | |
Cold start: <15s | |
Warm start: <5s | |
Hot start: <1s | |
Sensitivity | |
Capture: -148dBm | |
Track: -163 dBm | |
Recapture: -160dBm | |
Dynamic performance | |
Altitude (max): 18000m | |
Speed (max): 515m/s | |
Acceleration (max): 4g | |
Other parameters | |
Communication interface | UART |
Serial port baud rate | 4800~115200bps (default 9600bps) |
Update rate | 1Hz (default), 10Hz (max) |
Communication protocol | NMEA 0183, PMTK |
Supply voltage | 5V |
Total current | Less than 40mA@5V (Continue mode) |
Operating temperature | -40℃ ~ 85℃ |
Outline Dimensions | 52mm × 21mm |
1. Note the USB logo on the Pico-GPS-L76K corresponds to the USB connection direction on the Raspberry Pi Pico
2. When downloading the C demo, hold down the BOOT button and then connect the USB cable
3. Ensure the unlabeled side of the antenna faces upwards towards the sky and do not obstruct the antenna, as shown in the figure below
1. UART0 (GPIO0, GPIO1) is used by default on board, and UART1 (GPIO4, GPIO5) is optional for communication, and H1 and H2 in Schematic diagram are soldered to the B-end position, and UART1 is re-selected in the software
2. The onboard buttons and switches control the wakeup and sleep of the L76K. Solder 0R resistors at the R18 and R19 positions in the Schematic diagram to change this to GPIO control
3. The onboard LDO powers the L76K module. If you move the 0R at position R3 in the Schematic diagram to position R6, you can completely shut off the power on the Pico-GPS-L76K using GPIO14. Alternatively, if you move the 0R at position R3 to position R7, you can use the 3.3V power on the RP2040
4. The PPS pin of the L76K module is not connected to GPIO by default. If you need to use it, connect it with a 0R resistor at the position of R20 in the Schematic diagram
1. The Force ON button is used for L76K galaxy configuration: defaults to GPS + GLONASS galaxy combination; press the Force ON button to start the module with a GPS + BDS galaxy combination
2. STANDBY is the standby mode switch: When the switch is set to ON, Pico-GPS-L76K enters standby mode and no longer outputs NMEA. If there is no data output, please check if the switch is set to OFF
Recommended Minimum Specific GPS/TRANSIT Data (RMC) recommended positioning information $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF> $GNRMC,010555.000,A,2232.4682,N,11404.6748,E,0.00,125.29,230822,,,D*71 <1> UTC time, hhmmss.sss (hour-minute-second) format <2> Positioning status, A=Valid positioning, V=Invalid positioning <3> Latitude ddmm.mmmm (degrees-minutes) format (leading 0s will also be transmitted) <4> Latitude hemisphere N (Northern Hemisphere) or S (Southern Hemisphere) <5> Longitude dddmm.mmmm (degree-minute) format (leading 0s will also be transmitted) <6> Longitude hemisphere E (East longitude) or W (West longitude) <7> Ground speed (000.0~999.9 knots, leading 0s will also be transmitted) <8> Ground heading (000.0~359.9 degrees, with north as the reference, the leading 0s will also be transmitted) <9> UTC date, in ddmmyy format (day month year) <10> Magnetic declination (000.0~180.0 degrees, the leading 0s will also be transmitted) <11> Magnetic declination direction, E (East) or W (West) <12> Mode indicator (output only for NMEA0183 3.00 version, A=Autonomous positioning, D=Differential, E=Estimated, N=Data invalid) *hh : The final checksum *hh is the data used for verification. It is not necessary in normal use, but it is recommended when there is strong electromagnetic interference in the surrounding environment. hh represents the bitwise XOR value of all characters of "$" and "*" (excluding these two characters). Some manufacturers define their own statement format starting with "$P", followed by a 3-character manufacturer ID identifier, and then a custom data body.
This tutorial uses Thonny for code testing. Click to download the related IDE and install it, then open Thonny
1. Click to download Demo
2. Unzip the demo, please upload the Micorpython demo to the Pico file system, as shown in the figure
1. Open Thonny IDE, upload the file to the Raspberry Pi Pico file system, open the coordinate_convert.py file, and run the demo, as shown in the figure
2. Under sunny conditions, the positioning information will be obtained in about 30 seconds after the L76B is powered on, as shown in the following figure
3. Users can copy the location information displayed in the terminal in Thonny, and use Google Map or Baidu Map to mark the coordinates
# make an object of NMEA0183 sentence parser """ Setup GPS Object Status Flags, Internal Data Registers, etc local_offset (int): Timzone Difference to UTC location_formatting (str): Style For Presenting Longitude/Latitude: Decimal Degree Minute (ddm) - 40° 26.767′ N Degrees Minutes Seconds (dms) - 40° 26′ 46″ N Decimal Degrees (dd) - 40.446° N """ parser = MicropyGPS(location_formatting='dd')
while True: if gnss_l76b.uart_any(): sentence = parser.update(chr(gnss_l76b.uart_receive_byte()[0])) if sentence: print('WGS84 Coordinate:Latitude(%c),Longitude(%c) %.9f,%.9f'%(parser.latitude[1],parser.longitude[1],parser.latitude[0],parser.longitude[0])) print('copy WGS84 coordinates and paste it on Google map web https://www.google.com/maps') gnss_l76b.wgs84_to_bd09(parser.longitude[0],parser.latitude[0]) print('Baidu Coordinate: longitude(%c),latitudes(%c) %.9f,%.9f'%(parser.longitude[1],parser.latitude[1],gnss_l76b.Lon_Baidu,gnss_l76b.Lat_Baidu)) print('copy Baidu Coordinate and paste it on the baidu map web https://api.map.baidu.com/lbsapi/getpoint/index.html') print('UTC Timestamp:%d:%d:%d'%(parser.timestamp[0],parser.timestamp[1],parser.timestamp[2])) # print fix status ''' 1 : NO FIX 2 : FIX 2D 3 : FIX_3D ''' print('Fix Status:', parser.fix_stat) print('Altitude:%d m'%(parser.altitude)) print('Height Above Geoid:', parser.geoid_height) print('Horizontal Dilution of Precision:', parser.hdop) print('Satellites in Use by Receiver:', parser.satellites_in_use) print('')
# set NMEA0183 sentence output frequence ''' optional: SET_POS_FIX_100MS SET_POS_FIX_200MS SET_POS_FIX_400MS SET_POS_FIX_800MS SET_POS_FIX_1S SET_POS_FIX_2S SET_POS_FIX_4S SET_POS_FIX_8S SET_POS_FIX_10S ''' gnss_l76b.L76X_Send_Command(gnss_l76b.SET_POS_FIX_1S) #set #Startup mode ''' SET_HOT_START SET_WARM_START SET_COLD_START SET_FULL_COLD_START ''' gnss_l76b.L76X_Send_Command(gnss_l76b.SET_COLD_START)
In order to facilitate the development of Pico/Pico2 boards using MicroPython on a computer, it is recommended to download the Thonny IDE
【MicroPython】 machine.Pin class function details
【MicroPython】machine.PWM class function details
【MicroPython】machine.ADC class function details
【MicroPython】machine.UART class function details
【MicroPython】machine.I2C class function details
【MicroPython】machine.SPI class function details
【MicroPython】rp2.StateMachine class function details
For C/C++, it is recommended to use Pico VSCode for development. This is a Microsoft Visual Studio Code extension designed to make it easier for you to create, develop, and debug projects for the Raspberry Pi Pico series development boards. No matter if you are a beginner or an experienced professional, this tool can assist you in developing Pico with confidence and ease. Here's how to install and use the extension.
Cmake Path: ${HOME}/.pico-sdk/cmake/v3.28.6/bin/cmake.exe Git Path: ${HOME}/.pico-sdk/git/cmd/git.exe Ninja Path: ${HOME}/.pico-sdk/ninja/v1.12.1/ninja.exe Python3 Path: ${HOME}/.pico-sdk/python/3.12.1/python.exe
Here are two methods for flashing firmware
1. Press and hold the Boot button 2. Connect the development board to the computer 3. Then the computer will recognize the development board as a USB device. 4. Copy the .uf2 file to the USB drive, and the device will automatically restart, indicating successful program flashing.
set(PICO_BOARD pico CACHE STRING "Board type")
https://github.com/earlephilhower/arduino-pico/releases/download/4.5.2/package_rp2040_index.json
Note: If you already have an ESP32 board URL, you can use a comma to separate the URLs as follows:
https://dl.espressif.com/dl/package_esp32_index.json,https://github.com/earlephilhower/arduino-pico/releases/download/4.5.2/package_rp2040_index.json
MircoPython video demo (github)
MicroPython firmware/Blink demos (C)
Raspberry Pi official C/C++ demo (github)
Raspberry Pi official micropython demo (github)
Arduino official C/C++ demo (github)
Monday-Friday (9:30-6:30) Saturday (9:30-5:30)
Email: services01@spotpear.com