Rpi Neo-6M / Neo-8M GPS Module Setup / Fix / Update Problems
Ask QuestionAsked 11 months agoActive 8 months agoViewed 1k times1
Hi i’m tryng to change the update rate of my gps tracker(neo 6m ublok) i know the byte that i need to send are 0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A
i’ve tried echo -e "\xB5\x62\x06\x08\x06\x00\xC8\x00\x01\x00\x01\x00\xDE\x6A" > /dev/ttyAMA0
and with the service stopped i also tryed with a program in c
#include <stdio.h>
#include <fcntl.h> /* File Control Definitions */
#include <termios.h> /* POSIX Terminal Control Definitions */
#include <unistd.h> /* UNIX Standard Definitions */
#include <errno.h> /* ERROR Number Definitions */
void main(void)
{
int fd;/*File Descriptor*/
printf("\n +----------------------------------+");
printf("\n | Serial Port Write |");
printf("\n +----------------------------------+");
/*------------------------------- Opening the Serial Port -------------------------------*/
/* Change /dev/ttyUSB0 to the one corresponding to your system */
fd = open("/dev/ttyAMA0",O_RDWR | O_NOCTTY | O_NDELAY); /* ttyUSB0 is the FT232 based USB2SERIAL Converter */
/* O_RDWR Read/Write access to serial port */
/* O_NOCTTY - No terminal will control the process */
/* O_NDELAY -Non Blocking Mode,Does not care about- */
/* -the status of DCD line,Open() returns immediatly */
if(fd == -1) /* Error Checking */
printf("\n Error! in Opening ttyUSB0 ");
else
printf("\n ttyUSB0 Opened Successfully ");
/*---------- Setting the Attributes of the serial port using termios structure --------- */
struct termios SerialPortSettings; /* Create the structure */
tcgetattr(fd, &SerialPortSettings); /* Get the current attributes of the Serial port */
cfsetispeed(&SerialPortSettings,B9600); /* Set Read Speed as 9600 */
cfsetospeed(&SerialPortSettings,B9600); /* Set Write Speed as 9600 */
SerialPortSettings.c_cflag &= ~PARENB; /* Disables the Parity Enable bit(PARENB),So No Parity */
SerialPortSettings.c_cflag &= ~CSTOPB; /* CSTOPB = 2 Stop bits,here it is cleared so 1 Stop bit */
SerialPortSettings.c_cflag &= ~CSIZE; /* Clears the mask for setting the data size */
SerialPortSettings.c_cflag |= CS8; /* Set the data bits = 8 */
SerialPortSettings.c_cflag &= ~CRTSCTS; /* No Hardware flow Control */
SerialPortSettings.c_cflag |= CREAD | CLOCAL; /* Enable receiver,Ignore Modem Control lines */
SerialPortSettings.c_iflag &= ~(IXON | IXOFF | IXANY); /* Disable XON/XOFF flow control both i/p and o/p */
SerialPortSettings.c_iflag &= ~(ICANON | ECHO | ECHOE | ISIG); /* Non Cannonical mode */
SerialPortSettings.c_oflag &= ~OPOST;/*No Output Processing*/
if((tcsetattr(fd,TCSANOW,&SerialPortSettings)) != 0) /* Set the attributes to the termios structure*/
printf("\n ERROR ! in Setting attributes");
else
printf("\n BaudRate = 9600 \n StopBits = 1 \n Parity = none");
/*------------------------------- Write data to serial port -----------------------------*/
char write_buffer[] = "A"; /* Buffer containing characters to write into port */
unsigned char packet[] = { 0xB5, 0x62,
0x06, //
0x08, //
0x06, // length
0x00, //
0x64, // measRate, hex 64 = dec 100 ms
0x00, //
0x01, // navRate, always =1
0x00, //
0x01, // timeRef, stick to GPS time (=1)
0x00, //
0x7A, // CK_A
0x12, // CK_B
};
int bytes_written = 0; /* Value for storing the number of bytes written to the port */
//for(int i=0;i<14;i=i+1){
// printf(packet[i]);
//}
bytes_written = write(fd,packet,sizeof(packet));/* use write() to send data to port */
/* "fd" - file descriptor pointing to the opened serial port */
/* "write_buffer" - address of the buffer containing data */
/* "sizeof(write_buffer)" - No of bytes to write */
char buf [100];
int n = read (fd, buf, sizeof buf);
printf(buf);
printf("\n %s written to ttyUSB0",write_buffer);
printf("\n %d Bytes written to ttyUSB0", bytes_written);
printf("\n +----------------------------------+\n\n");
close(fd);/* Close the Serial port */
}
and with python
import serial
#from serial import Serial
import time
import string
import pynmea2
port="/dev/ttyAMA0"
ser=serial.Serial(port, baudrate=9600 , parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,)
#serdata= bytearray([0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A,0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x2B]) #0x06"0x00"0xC8"0x00"0x01"0x00"0x01"0x00"0xDE"0x6A"
#serdata= bytearray([0xB5,0x62,0x06,0x08,0x06,0x00,0xC8,0x00,0x01,0x00,0x01,0x00,0xDE,0x6A])
#print(serdata)
ser.write(b"$PUBX,40,GLL,0,0,0,0*5D\r\n")
#ser.write(bytes([181,98,6,8,6,0,100,0,1,0,1,0,122,18])) # 5hz
#ser.write(b'$PUBX,40,GLL,1,0,0,0,0,0*5D')
#ser.write(serdata)
#ser.flush()
#ser.write(bytearray([181, 98, 6, 1, 8, 0, 240, 1, 0, 0, 0, 0, 0, 1, 1, 43])) #GxGLL off
#serdatadi=bytearray([0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x39])
#serdatadi2=bytearray([0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x04,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x40])
#print(serdatadi2)
#ser.write(b"0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x39")
#ser.write(serdatadi2)
#ser.write(serdatadi3)
#ser.write(b"0xB5,0x62,0x06,0x01,0x08,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x24")
#ser.write(b'\xb5b\x06\x08\x06\x00\x1e\x00\x01\x00\x00\x003l')
while True:
#port="/dev/ttyAMA0"
#ser=serial.Serial(port, baudrate=9600, timeout=0.5)
dataout = pynmea2.NMEAStreamReader()
newdata=ser.readline()
print(newdata)
#print(newdata[0:6] == "$GPRMC")
if (newdata[0:6] == b"$GPRMC"):
print("vivo")
newmsg=pynmea2.parse(newdata.decode("utf-8"))
print(newmsg)
lat=newmsg.latitude
lng=newmsg.longitude
gps = "Latitude=" + str(lat) + "and Longitude=" + str(lng)
print(gps)
but nothig change the navigation update rate of the device
all of the byte code came from the manual of the device
https://www.u-blox.com/sites/default/files/products/documents/u-blox6_ReceiverDescrProtSpec_%28GPS.G6-SW-10018%29_Public.pdf
and this
and this
https://forum.arduino.cc/index.php?topic=470763.0
EDIT: i’ve tryed both of the response but none of them worked what i have to do if i want to connect with usb instread of uart
EDIT2: i have tryed both usb to the raspberry and the pc with the u center but none of this changed the rate of the gps!! edit 3: no luck i’ve tryed eaven an update of the firmware but nothing it’s like it dose not like changing configuration
Setup pipes
Firmware update tool launched
-p STDIO -b 9600:9600:9600 -F "C:\Program Files (x86)\u-blox\u-center_v20.01\flash.xml" -s 1 -t 1 -v 1 "D:\dowload\EXT_G60_LEA-6H.fd1146bafac24b1347701312d42bb698.bin"
----------CMD line arguments-----------
Image file: D:\dowload\EXT_G60_LEA-6H.fd1146bafac24b1347701312d42bb698.bin
Flash: <compiled-in>
Fis: C:\Program Files (x86)\u-blox\u-center_v20.01\flash.xml
Port: STDIO
Baudrates: 9600/9600/9600
Safeboot: 1
Reset: 1
AutoBaud: 0
Verbose: 1
Erase all: 1
Erase only: 0
Training sequence: 1
Chip erase: 0
Merging FIS: 0
Update RAM: 0
Use USB alt: 0
---------------------------------------
0.0 u-blox Firmware Update Tool version 19.03
0.0 Updating Firmware 'D:\dowload\EXT_G60_LEA-6H.fd1146bafac24b1347701312d42bb698.bin' of receiver over 'STDIO'
0.0 - Opening and buffering image file
0.0 - Verifying image
0.0 Image (file size 395996) for u-blox6 accepted
0.0 Image Ver '7.03 (45970) Mar 17 2011 16:26:24'
0.0 - CRC= 0x10F85FE1 0xF912EA5A
0.0 - Trying to open port STDIO
0.0 - Setting baudrate to 9600
0.2 - Sending training sequence
1.2 - Retry poll
2.2 - Retry poll
3.2 - Retry poll
3.2 ERROR: Version poll failed.
3.2 Firmware Update FAILED
Firmware Update Utility has unexpectedly terminated
Exit code (2)
these are the connector and the multimeter sat between the first and the last 3.2-3.3 pythonserialcgpsShareEditFollowCloseFlagedited Sep 3 ’20 at 4:38tlfong013,75233 gold badges88 silver badges2222 bronze badgesasked Jun 18 ’20 at 12:12awaska2377 bronze badges
- Hi @awaska, Welcome and nice to meet you. Ah, let me see. (1) Can I assume that you have setup your Neo6 and that cgps and xgps run OK? If yes, then your serial setup should be default 9600, 8N1, (2) Can I assume that you know you are using ttySerial0 or ttyUSB by setting the gps config file? (2) Suppose you are using ttyUSB0, and using python to send the bytes to change nav rate for 1Hz to 5Hz. (3) One troubleshooting trcik you might use is to do the serial loopback test, with (a) Neo6 removed from serial port. (b) short TxD to RxD and see if Rx loopback Tx. / to continue, … – tlfong01 Jun 18 ’20 at 13:24
- 1hi thanks for the responi connected my gps trough uart, i can read the message of the gps with no problem using cat or the python program, i’ve tryed the serial loopback and it works i’ve shorted the 2 pin and if i do
echo "test" > /dev/serial0
andcat -v < /dev/serial0
i can see test so the serial is working, i’ve tryed trougth the u-center with network serial for controlling the gps but still the gps won’t change i’ve retryed with bash ans the hex directly given from the u-center but still the update rate won’t change, is wrong how i wrote the code in python for writing the hex? – awaska Jun 18 ’20 at 15:18 - 1What you send to
/dev/ttyAMA0
withecho
is not a byte. – Ingo Jun 18 ’20 at 17:40 - 1when i tryed to send byte the serial gose crazy and start to repeat the message and after some time i can’t write anything and when i read the serial is just brakeline, i have the jumper, and after reboot when i send
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x01\x01\x00\x00\x01\x01\x00\x03\x35" > /dev/serial0 echo -e -n "\xB5\x62" > /dev/serial0
i read nothing from the serialcat -v < /dev/serial0
but if i sendecho "test" > /dev/serial0
strange stuff append, the word test is repited multiple time with incrising space – awaska Jun 18 ’20 at 19:48 - 1this is the resul of
cat -v < /dev/serial0 test test test test test test test
– awaska Jun 18 ’20 at 19:52
Add a comment | Show 4 more commentsStart a bounty
2 Answers
Question
How can Rpi change Neo-6M / 8M GPS measurement/navigation update rates?
Answer
Update 2020jul01hkt1345
The OP uses a python program to change the update rate but has no luck. His python program imports pynmea2 to handle the RMC sentence.
Now I am trying to repeat the python program and see if the program works. I am using Knio’s pynmea2 (Ref 37)
Short Answer
Contents
Part A - Using ublox u-centre
Part B - Using Rpi CuteCom
Part C - Using Thonny python
Part A – Using u-center to do the frequency setting
u-center screen below shows if measurement frequency is set to 0.25Hz, then the test measurements repeats every 4 seconds.
Part B – Using cuteCom to send UBX message to change update rate to 4 seconds
(1) Try end measurement/navigation frequency command with the two check sum bytes. See Appendix E for an example to calculate the check sum for a update rate to 4000mS command.
(2) Try end UBX message with CR, LF. (update – CR, LF is not necessary for hex input, only necessary for text input)
Note – it is much more newbie friendly to use GUI Rpi terminal emulator cuteCom than CLI bash echo and cat.
I have compiled a command message to set the measurement rate to 4 seconds. Then I used cuteCom to input the 14 byte command string to Neo-8M serial. Neo-8M accepted the command and measurement rate became 4 seconds.

Part C – Using Rpi4B Thonny Python to set Neo-8M/7M update rate
References
(1) pySerial Short Introduction
(2) pySerial API
Now I am thinking of using thonny python 3.7.3 to set the Neo-8M/7M measurement update rates. To make things simple, I will only handle the RMC and ZDA sentences, as shown below:


References
(1) NEO-M6 Receiver Description Including Protocol Specification – ublox
(2) NEO-M6 GPS NMEA message parsing in python (with checksum calculation) – tomazas/nmea_ublox.py 2015
(3) NEO-M6 How to update system Date & Time from GPS in python (with checksum calculation) – 2016dec15
(4) NEO-M8 Receiver description Including protocol specification R19 – 2020may14
(5) NEO-M8 concurrent GNSS modules Product sheet R07 – 2020apr30
(6) NEO-M8 GNSS modules Hardware integration manual R07 – 2020may20
(7) Fletcher’s Checksum – Wikipedia
(8) Fletcher’s Checksum – TutorialsPoint
(9) Endianness (Big and Little Endian) -Wikipedia
(11) Getting Started with U-Center for u-blox – SparkFun
(12) SparkFun GPS-RTK Board – NEO-M8P-2 – US$200
(13) GPS-RTK Hookup Guide – SparkFun
(14) What is GPS RTK? – SparkFun
(15) Enable or disable NMEA datasets in u-blox GPS module – HandHeldGroup 2018apr18
(16) Enabling/disabling NMEA sentences on u-Blox gps receiver? – Asked 4 years ago, Viewed 13k times
(17) GIS StackExchange
(19) NMEA (National Marines Electronics Association) Official Web Site
(20) NMEA 0183 V4.10 Standard – NMEA
(21) NMEA v3.01 data – gpsInfo.org
(22) Global Positioning System, Principle and Practices – Satheesh Gopi, McGraw-Hill 2005
(23) BeiDou – Wikipedia
(24) NEO-M9N module product summary – u-blox
(25) Multiple UART/serial loopback program v0.00 tlfong01 2019jun03
(27) AliExpress USB to TTL adapter USB to serial converter with real FTDI USB UART IC FT232RL – US$2.4
(29) UbloxRAW – UBX messages providing raw measurements – OpenStreetMap
(30) AllStar GNSS Receiver Protocol Specification V2.3 – AllStar, China Electronics
(31) NEO-6M GPS Module (5V Vcc, with schematic) – SunFounder
(32) NEO-6M u-blox 6 GPS Modules Data Sheet
(33) NEO-7M u-blox 7 Receiver Description Including Protocol Specification V14 – 2018jun15
(34) NEO-7M u-blox 7 GNSS modules Data Sheet R07 – ublox 2014nov11
(35) NEO-7M series Product Info (7M has no programmable flash, No BeiDou)
(36) NEO-7M UART GPS NEO-7M-C User Manual – WaveShare
(38) NMEA0183 pynmea2/NMEA0183.pdf
(39) AT100 GPS-GPRS Vehicle Tracking Device – Astra Telematics
(40) AT100 GPS-GPRS Telematics Module NMEA Command Reference R3.0 – Astra Telematics 2009Oct
Appendices
Appendix A – Set rates

Appendix B – UBX Checksum

Appendix C – NEO-8M Set Measurement and Navigation Update Rates

Appendix D – UBX Checksum Program

Appendix E – Python program to calculate checksum
# fletcher_chksum02.py Fletcher 8-bit checksum - tlfong01 2020jun22hkt2147
# *** NEO-6M/8M IBX Message Examples ***
# --------------------------------------------------------------------------------------------------------------------
# synC1 synC2 class id length measRate navRate timeRef checkSum measurement update rate
# --------------------------------------------------------------------------------------------------------------------
# 0xb5, 0x62, 0x06, 0x08, 0x06, 0x00, 0x64, 0x00, 0x01, 0x00, 0x01, 0x00, 0x7A, 0x12 measRate 0x64 = 100ms = 0.1 sec
# 0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00, 0xDE, 0x6A measRate 0xc8 = 212ms = 0.2 sec
# 0xB5, 0x62, 0x06, 0x08, 0x06, 0x00, 0xa0, 0x0f, 0x01, 0x00, 0x01, 0x00, 0xC5, 0xC5 measRate 0xfa0 = 4000ms = 4.0 sec
# --------------------------------------------------------------------------------------------------------------------
dataByteList01 = [0x06, 0x08, 0x06, 0x00, 0x64, 0x00, 0x01, 0x00, 0x01, 0x00]
dataByteList02 = [0x06, 0x08, 0x06, 0x00, 0xC8, 0x00, 0x01, 0x00, 0x01, 0x00]
dataByteList03 = [0x06, 0x08, 0x06, 0x00, 0xa0, 0x0f, 0x01, 0x00, 0x01, 0x00] # measRate = 0xa0 0x0f = 0xfa0 = d4000
def calcCheckSum(dataByteList):
ckA = 0
ckB = 0
for dataByte in dataByteList:
ckA = ckA + dataByte
ckB = ckB + ckA
ckA = ckA & 0xff
ckB = ckB & 0xff
print(hex(ckA), hex(ckB))
return
calcCheckSum(dataByteList01)
calcCheckSum(dataByteList02)
calcCheckSum(dataByteList03)
# *** End of program ***
Appendix F – NMEA v3.01 data – gpsInfo.org
NMEA v3.01 data – gpsInfo.org


Appendix G – RMC, DZA Sentences Screen Capture

Appendix H – Dual Neo-8M Setup

Appendix I – Python Calculate Checksums for UBX Commands to Set Update Rates to 1, 2, and 4 Seconds
# Program:
# neo8m_test08.py tlfong01 2020jun29hk1617
# *** Neo8M GPS Module Test Functions ***
# [0x06, 0x08, 0x06, 0x00, 0xe8, 0x03, 0x01, 0x00, 0x01, 0x00]],
# ['Two Seconds Update Rate', [0x06, 0x08, 0x06, 0x00, 0xd0, 0x07, 0x01, 0x00, 0x01, 0x00]],
# ['Four Seconds Update Rate', [0x06, 0x08, 0x06, 0x00, 0xa0, 0x0f, 0x01, 0x00, 0x01, 0x00]
ubxNameCommandList = [ ['One Second Update Rate', [0x06, 0x08, 0x06, 0x00, 0xe8, 0x03, 0x01, 0x00, 0x01, 0x00]],
['Two Seconds Update Rate', [0x06, 0x08, 0x06, 0x00, 0xd0, 0x07, 0x01, 0x00, 0x01, 0x00]],
['Four Seconds Update Rate', [0x06, 0x08, 0x06, 0x00, 0xa0, 0x0f, 0x01, 0x00, 0x01, 0x00]]
]
def calcFletcher8BitCheckSum(dataByteListName, dataByteList):
ckA = 0
ckB = 0
for dataByte in dataByteList:
ckA = ckA + dataByte
ckB = ckB + ckA
ckA = ckA & 0xff
ckB = ckB & 0xff
print(' ', dataByteListName, ' ', convertOneByteNumToFourCharStr(ckA), convertOneByteNumToFourCharStr(ckB))
return
def convertOneByteNumToFourCharStr(oneByteNum):
tempStr = ((hex(oneByteNum))[2:])
if (len(tempStr) != 2):
tempStr = '0' + tempStr
fourCharStr = '0x' + tempStr
return fourCharStr
def testCalcChecksum():
testTitle = 'Calculate UBX Command Checksum'
print('\nBegin Test', testTitle)
print(' -------------------------------------')
print(' Command Name Check sum')
print(' -------------------------------------')
for ubxNameCommand in ubxNameCommandList:
ubxCommandName = ubxNameCommand[0]
ubxCommand = ubxNameCommand[1]
calcFletcher8BitCheckSum(ubxCommandName, ubxCommand)
print(' -------------------------------------')
print('End Test.')
# *** Sample output tlfong01 2020jun29hkt1623 ***
'''
Python 3.7.3 (/usr/bin/python3)
>>> %Run neo8m_test08.py
Begin Test Calculate UBX Command Checksum
-------------------------------------
Command Name Check sum
-------------------------------------
One Second Update Rate 0x01 0x39
Two Seconds Update Rate 0xed 0xbd
Four Seconds Update Rate 0xc5 0xc5
-------------------------------------
End Test.
>>>
'''
Appendix J – CuteCom Screen Shots Showing Neo8M Config Command Acknowledgement Messages

Appendix K – Neo-7M Changing Update Rate to 4 seconds, Enable RMC and ZDA Only

ShareEditDeleteFlagedited Jul 8 ’20 at 6:27answered Jun 20 ’20 at 5:19tlfong013,75233 gold badges88 silver badges2222 bronze badges
- 1look at the edit, by the way thanks so mutch for responding so quickly – awaska Jun 23 ’20 at 22:56
- 1eaven with usb the update rate dose not change i have bougth amazon.it/dp/B013QRUA6W i can read without a problem but the rate dose not change – awaska Jun 25 ’20 at 12:24
- 1no i bougth yesterday !! it was the cheapest and the fastest to arrive on amazon …. well now i have to wait 2-3 months for the board we will see. – awaska Jun 26 ’20 at 12:01
- 1is this good ? ebay.it/itm/113733167929 or is this better ebay.it/itm/333612681760 because i can’t wait 3 month for aliexpress or pay 60 $ – awaska Jun 26 ’20 at 13:36
- 1ok so what can i do now ? i have tryed varius times with ucenter and cutecom but still nothing so i have to give up to change the rate for the gps module.. thanks for all the time you spend on this. thanks now i’m trying with the raspverry pi the one from 2012 – awaska Jun 26 ’20 at 14:12
Add a comment | Show 38 more comments1
You can send a string to your Neo with the following sentence (I didn’t check the validity of your bytes):
echo -en '\xB5\x62\x06\x08\x06\x00\xC8\x00\x01\x00\x01\x00\xDE\x6A' > /dev/ttyAMA0
But you need to be under the root user for both side of the “>” character : if you do only
sudo echo [...] > /dev/ttyAMA0
the echo command is executed as root, but opening device ttyAMA0 for writing is not.
So you’ll have to make a “sudo su” before all that.
As for your program, it’ll have to be executed as root to be able to open /dev/ttyAMA0 for writing.ShareEditFollowFlaganswered Jun 21 ’20 at 22:12tqhien11122 bronze badges
- Many thanks for your advice and clarification. I found “/dev/ttyAMA0” and “/dev/Serial0″ problematic. And ”sudo su” seems to solve the problem. On the other hand, “/dev/ttyS0” and “/dev/ttyUSB0” seems problem free. – tlfong01 Jun 23 ’20 at 9:30
- 1Raspberry Pi has 2 uart : PL011 (/dev/ttyAMA0) and miniUart (/dev/ttyS0). Then, depending of the Pi, primary and secondary order is not the same. For example, ZeroW, Pi3 and Pi4 define Primary (/dev/serial0) on the miniuart and the secondary (/dev/serial1) is used by bluetooth. On PiZero, Pi1 and Pi2, primary is on PL011 and secondary on miniuart ! issue a
ls -l /dev
to know what is the configuration. Note that in config.txt, device tree overlay may be used to change those settings. See link for details – tqhien Jun 25 ’20 at 9:41 - 1On your photos, you connected your (serial, not USB) GPS on the PL011 (ttyAMA0). You need to disable BT to get access to AMA0, with a
dtoverlay=pi3-disable-bt
in config.txt (boot partition) and remove any mention to ttyAMA0 in cmdline.txt (also on boot partition). – tqhien Jun 25 ’20 at 9:59 - 1i have already done it but still nothing eaven with direct connection between ucenter and the module! – awaska Jun 25 ’20 at 12:39
- 1U-Center is a Windows program. For Rpi, I do only console. Also, Neo-GPS is 9600 bauds, so you may need to add
sudo stty -F /dev/ttyAMA0 speed 9600
to set that before any other thing. For example, gpsd is by default set to 4800 and without that instruction, communication can’t be established. With all that, I can set and get GPS data from my PiZero and Pi3. – tqhien Jun 25 ’20 at 17:04
Add a commentAdd Another Answer
Categories: Uncategorized