Google Chat: zj734465502@gmail.com
+86-0755-88291180
sales01@spotpear.com
dragon_manager@163.com
services01@spotpear.com
manager01@spotpear.com
WhatsApp:13246739196
The Pico-GPS-L76B is a GNSS module designed for Raspberry Pi Pico, with multi-satellite systems support including GPS, BDS, and QZSS. It has advantages such as fast positioning, high accuracy, and low power consumption, etc. Combined with the Raspberry Pi Pico, it's easy to use the global navigating function.
GNSS | |
Frequency band: GPS L1 (1575.42Mhz) BD2 B1 (1561.098MHz) | Channels: 33 tracking ch, 99 acquisition ch, 210 PRN ch |
C/A code | |
SBAS: WAAS, EGNOS, MSAS, GAGAN | |
Horizontal position accuracy (autonomous positioning) | <2.5m CEP |
Time-To-First-Fix @ -130dBm (EASY enabled) | Cold starts: <15s |
Warm starts: <5s | |
Hot starts: <1s | |
Sensitivity | Acquisition: -148dBm |
Tracking: -163dBm | |
Re-acquisition: -160dBm | |
Dynamic performance | Altitude (max): 18000m |
Velocity (max): 515m/s | |
Acceleration (max): 4g | |
Others | |
Communication interface | UART |
Baudrate | 4800~115200bps (9600bps by default) |
Update rate | 1Hz (default), 10Hz (max) |
Protocols | NMEA 0183, PMTK |
Power supply voltage | 5V |
Operating current | 13mA |
Overall current consumption | < 40mA@5V (Continue mode) |
Operating temperature | -40℃ ~ 85℃ |
Dimensions | 52 × 21mm |
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 (hours, minutes, seconds) format <2> Positioning status, A=valid positioning, V=invalid positioning <3> Latitude ddmm.mmmm (degree minutes) format (the leading 0 will also be transmitted) <4> Latitude hemisphere N (northern hemisphere) or S (southern hemisphere) <5> Longitude dddmm.mmmm (degree minutes) format (the leading 0 will also be transmitted) <6> Longitude Hemisphere E (East Longitude) or W (West Longitude) <7> Ground rate (000.0~999.9 section, the preceding 0 will also be transmitted) <8> Ground heading (000.0~359.9 degrees, based on true north, the preceding 0 will also be transmitted) <9> UTC date in ddmmyy (ddmmyy) format <10> Magnetic declination (000.0~180.0 degrees, the previous 0 will also be transmitted) <11> Magnetic declination direction, E (East) or W (West) <12> Mode indication (only NMEA0183 version 3.00 output, A=autonomous positioning, D=differential, E=estimated, N=invalid data) *hh : The last check code *hh is the data used for check. In normal use, it is not necessary, but it is recommended when there is strong electromagnetic interference in the surrounding environment. hh represents the bitwise XOR of all characters of "$" and "*" (excluding these two characters). The format of individual manufacturer's self-defined statement starts with "$P", followed by a 3-character manufacturer ID identification number, followed by a user-defined data body.
We test the codes with Thonny, please download the related IDE and then open it after installing.
Please refer to the official document to build python environment, select the Raspberry Pi Pico device in Thonny's Tools->Options->Interprete, as shown below:
1. Open Thonny IDE, and upload the file to the Raspberry Pi Pico document system. Open coordinate_convert.py and then run the program. As shown as below:
2. Under fine weather conditions, the L76B will obtain the positioning information about 30 seconds after it is powered on, as shown in the following figure when running the program.
3. Users can copy the positioning information displayed in the terminal in Thonny, and use Google Map and Baidu Map for coordinate labeling.
# 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)