-
-
Find yourself a feather(using ESP32-S3 in this guide), a laptop with Mu editor, and the GPS chip. Remember to update the firmware of Feather to the newest version and download the "adafruit_gps" and "adafruit_bus_device" libraries, put them in the "lib" folder inside Feather.
-
You also need a STEMMA QT connector, if you are using Feather without a STEMMA QT port, get some jumper wires instead.
-
-
-
PA1010D GPS chip supports I2c communication, what we do is simply connect the SCL on feather to the SCL on GPS chip; and connect the SDA on feather to the SDA on GPS chip. You also need to connect the grounds and 3.3Vs between the two.
-
Here, since ESP32-s3 has a STEMMA QT port, so we could simply connect the GPS chip and feather through the port. If you are using another Feather, like a M4, use jumper wires to connect the pins mentioned above instead.
-
-
-
Connect your Feather to your laptop and open Mu editor.
-
Go to this link:https://learn.adafruit.com/adafruit-mini...
-
Copy the code from "Example Parsing Code" session, and follow the comments to slightly modify the code.
-
We are using I2C protocol so you could delete or comment out any lines that mentions UART. In this case, we are using STEMMA QT port, so we keep "i2c = board.STEMMA_I2C()"; if you are using other Feathers that uses board SCL, SDA, keep"i2c = board.I2C()" instead.
-
After the the last if statement, add a "time.sleep(2)" so you could better look up the results. Be careful with the indents.
-
-
-
After modifying the code, hit run. You will find that it is continuing printing "waiting for fix". That means the GPS chip is having trouble finding the GPS . Now what you do is simply put your chip by the window so it could see a clear sky.
-
Wait for a few seconds to a minute, it would print out the position information it gets. Note latitude of 4095 degrees and longitude of -7688 means we are at 40.95 degree North and 76.88 West, which is the coordinate of Lewisburg.
-
Note: The time it prints is in UTC timezone, not local time.
-
Better keep your GPS chip facing the sky constantly, or the connection between your chip and the satellite may lost.
-
Originally, the information we gathered from the chip is in $GPRMC and $GPGGA sentences(they are called NMEA sentences), which are barely readable, the above-using code converts them to a more understandable format. If you want to read more about the original format, refer to the links below:
-
-
-
Almost done!
Finish Line