How to interface with the AI Thinker GP-01 Kit GPS Module?

Hi,

I recently brought a cheap GP-01 Module from Aliexpress and tried to get it to work. I only found the datasheet under https://docs.ai-thinker.com/_media/gp-01_kit_specification.pdf which told me the USB-Port on this Module is only used to power it. Other resources either doesn't exist or are in a language like chinese so I couldn't understand them.
So after soldering cable to the power and TX and RX pins I connected it to an Arduino Nano (TX->Pin 3, RX->Pin 4) and tried to communicate with it over Softwareserial. It operates at 9600 Baud and sends NMEA messages back to the Arduino. Those messages all look like

$GNGGA,,,,,,0,00,25.5,,,,,,*64
$GNGLL,,,,,,V,N*7A
$GNGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5,1*01
$GNGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5,4*04
$GPGSV,1,1,00,0*65
$BDGSV,1,1,00,0*74
$GNRMC,,V,,,,,,,,,,N,V*37
$GNVTG,,,,,,,,,N*2E
$GNZDA,,,,,,*56
$GPTXT,01,01,01,ANTENNA OPEN*25

and the Module doesn't respond to any of my AT-commands. The Code i used for communicating with it is:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(4, 3); // RX, TX

void setup()  
{
  Serial.begin(9600);
  mySerial.begin(9600);
}

void loop() 
{
  if (Serial.available())
  { 
    while(Serial.available())
    {
      mySerial.write(Serial.read());
    }
    mySerial.println();
  } else if (mySerial.available())
    Serial.write(mySerial.read());
}

Had someone else also this problems and solved it? Did I make some mistake or may I got an broken item?

Are you reading the posted data ("messages all look like") or did it come from somewhere else? If you are reading them, how are you doing it... how is it wired up.?

I see no place you are sending an AT command... how are you attempting to send them?

I had a low cost gps module that is still in use.. ended up using the uart on the 328p to read it... It sounds like that is what you are doing?

I think I just read the data out of the uart ... don't remember using a library...

:smiley_cat:

I am reading the data over a softwareserial and printing received data on the seriel monitor in the Arduino IDE, the module is connected to the Arduino Nano like:
Module -> Arduino
VCC -> 5V
GND -> GND
TX -> D3
RX -> D4

I am also sending the commands over the seriel monitor in the Arduino IDE, so the Arduino reads the data I am sending him over USB/Hardware Serial and put it on the softwareserial where the GPS Module is connected.
I also did use some GPS modules in the past where this worked fine, I just dont get this specific Module to work.

Had to go find a schematic of the nano... Have one somewhere here...

I don't generally use the serial software as most of my chips go from breadboard to pcb without the access to the serial monitor...


These Chinese manufactured devices are generally not 'exactly' alike in all instances. Sometimes they don't perform or they can be a 'variant'...


I noticed it was based on a "AT6558R satellite positioning chip", so I'd try and hunt down a data sheet on that specific chip. I found the company that makes it but didn't go any further...


It seems to me, that I had set the gps into a specific mode to talk to it or send it commands. It defaulted to some kind of data stream, don't remember which... Again, since you are talking to the at6558 it makes sense to check out that data sheet.

:smiley_cat:

After spending hours looking for a english datasheet and testing every connection on the module, I decided to power it up again to test the power on every relevant pin of the module.

Turns out it works now. I have no idea what is different to the last time I tried it. And it works even indoors precise (at sometimes like around 10 to 15 meters). It still doesn't like answering my AT-commands but that isn't necessary as long as it keeps sending positional data over the seriel connection. The Datasheet I found also didn't contain information about what commands the AT6558R takes or how to set it into AT mode.

So thank you for your time trying to help me.

I don't know that device, the one I used, you specified how to set it to be able to send commands. You're device might not work that way...


Unless you paid extra or got the bonus 'gremlin' option, I have no idea why it works now...

Good luck

:smiley_cat:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.