You can easily use a GPS module with Python or CircuitPython code in addition to Arduino. Python code is well suited for parsing and processing the text output from GPS modules, and this Adafruit CircuitPython GPS module handles most of the work for you!
First make sure to wire up the GPS module to your CircuitPython board so that the hardware UART pins are used. Here's an example with the Metro M0 Express:
- Board 5V or 3.3V to GPS module VIN.
- Board GND to GPS module GND.
- Board serial TX to GPS module RX.
- Board serial RX to GPS module TX.
Since there's dozens of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, please visit the guide for CircuitPython on Linux to see whether your platform is supported.
Here you have two options: An external USB-to-serial converter, or the built-in UART on the Pi's TX/RX pins. Here's an example of wiring up the USB-to-serial converter:
- GPS Vin to USB 5V or 3V (red wire on USB console cable)
- GPS Ground to USB Ground (black wire)
- GPS RX to USB TX (green wire)
- GPS TX to USB RX (white wire)
You can also skip the USB console cable, and just plug a USB C or Micro B cable directly from your computer to the Ultimate GPS USB
Here's an example using the Pi's built-in UART:
- GPS Vin to 3.3V (red wire)
- GPS Ground to Ground (black wire)
- GPS RX to TX (green wire)
- GPS TX to RX (white wire)
If you want to use the built-in UART, you'll need to disable the serial console and enable the serial port hardware in raspi-config. See the UART/Serial section of the CircuitPython on Raspberry Pi guide for detailed instructions on how to do this.
Next you'll need to install the Adafruit CircuitPython GPS library on your CircuitPython board. Remember this module is for Adafruit CircuitPython firmware and not MicroPython.org firmware!
First make sure you are running the latest version of Adafruit CircuitPython for your board.
Next you'll need to install the necessary libraries to use the hardware. Carefully follow the steps to find and install this library from Adafruit's CircuitPython library bundle.
- adafruit_gps.mpy
You can also download the adafruit_gps.mpy file from the Adafruit CircuitPython GPS releases page.
Before continuing make sure your board's lib folder has the adafruit_gps.mpy file copied over.
You'll need to install the Adafruit_Blinka library that provides the CircuitPython support in Python. This may require verifying you are running Python 3. Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready!
Once that's done, from your command line run the following command:
sudo pip3 install adafruit-circuitpython-gps
Page last edited March 08, 2024
Text editor powered by tinymce.