<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Using M5Stack GPS Module v2.1 (ATGM336H) with Raspberry Pi Pico — No UART Output]]></title><description><![CDATA[<p dir="auto"><strong>Context</strong></p>
<p dir="auto">I am trying to use the M5Stack GPS Module v2.1 (ATGM336H) as a standalone UART GPS device with a Raspberry Pi Pico (MicroPython), not with an M5Stack host device.</p>
<p dir="auto"><strong>Goal</strong></p>
<p dir="auto">My goal is simply to read raw NMEA sentences over UART.<br />
I want to receive standard NMEA output (e.g. $GNGGA, $GNRMC) from the module on a Pico UART RX pin.</p>
<p dir="auto"><strong>Hardware Setup</strong></p>
<p dir="auto">GPS Module: M5Stack GPS Module v2.1 (ATGM336H)<br />
Microcontroller: Raspberry Pi Pico (MicroPython)</p>
<p dir="auto"><strong>Connections:</strong></p>
<p dir="auto">GPS Module Pin 28 (5V) → Pico VBUS<br />
GPS Module Pin 1 (GND) → Pico GND<br />
GPS Module TX pin (various tested) → Pico GP1 (UART RX)</p>
<p dir="auto"><strong>Software (Pico / MicroPython)</strong></p>
<p dir="auto">from machine import UART, Pin<br />
import time</p>
<p dir="auto">uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))</p>
<p dir="auto">print("Listening...")</p>
<p dir="auto">while True:<br />
data = uart.read()<br />
if data:<br />
print(repr(data))<br />
time.sleep(0.1)</p>
<p dir="auto">Also tested at 115200 baud.</p>
<p dir="auto"><strong>What I Have Verified</strong></p>
<p dir="auto">5V is present at the module (measured with multimeter)<br />
Ground is correctly connected<br />
Pico UART is working (used successfully in another part of the project)<br />
SMA antenna is connected<br />
Tested both 9600 and 115200 baud<br />
Tested multiple DIP switch configurations (one switch ON at a time)</p>
<p dir="auto">Pins Tested for GNSS_TX (based on docs):</p>
<p dir="auto">Pin 13<br />
Pin 15<br />
Pin 22<br />
Pin 26<br />
Pin 2</p>
<p dir="auto"><strong>Observed Behavior</strong></p>
<p dir="auto">At 9600 baud: I consistently receive a single byte: <em>b'\xff'</em><br />
At 115200 baud: no data at all<br />
No readable NMEA sentences are ever received</p>
<p dir="auto"><strong>Understanding / Confusion</strong></p>
<p dir="auto">From the documentation and schematic:</p>
<p dir="auto">GNSS_TX is routed via DIP switch to M-Bus pins marked GNSS_TX(SW)<br />
DIP switch labels reference host GPIO (e.g. G1, G3, G17, etc.), not M-Bus pin numbers<br />
It is unclear how DIP switch positions map directly to M-Bus physical pins for standalone use.</p>
<p dir="auto"><strong>Questions</strong></p>
<p dir="auto">What is the exact DIP switch configuration required to expose GNSS_TX on a specific M-Bus pin (e.g. pin 13 or 15)?<br />
Which M-Bus pin should be used for GNSS_TX when using the module outside of the M5Stack ecosystem?<br />
What is the correct default baud rate for this module (9600 vs 115200)?<br />
Does the module require any initialisation or enable signal before UART output begins?<br />
Is there any known issue using this module standalone (without an M5 host)?</p>
<p dir="auto"><strong>Goal Clarification</strong></p>
<p dir="auto">I am not trying to configure or parse GPS data yet — I only need to confirm that raw UART NMEA output is present.</p>
<p dir="auto">Any guidance on correct DIP switch configuration and TX pin mapping for standalone use would be greatly appreciated!</p>
]]></description><link>https://community.m5stack.com/topic/8172/using-m5stack-gps-module-v2-1-atgm336h-with-raspberry-pi-pico-no-uart-output</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 18:25:08 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/8172.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Apr 2026 10:32:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Using M5Stack GPS Module v2.1 (ATGM336H) with Raspberry Pi Pico — No UART Output on Thu, 09 Apr 2026 09:24:56 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/479450">@obolland</a></p>
<p dir="auto">according to the schematic GNSS_TX becomes M5-RXD which is then available (depending on set dip switch) on GPIOs: 3, 13, 16, 34 or 35 which translates to pins 13, 22, 15, 26 or 2 on the M5 Stack bus.</p>
<p dir="auto">BTW: Since you are not stacking the module you can set all dip switches to 'on' at the same time (if you like).</p>
<p dir="auto">Note: I do not have the M5Stack GPS Module v2.1 so I cannot test this myself.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/30877</link><guid isPermaLink="true">https://community.m5stack.com/post/30877</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Thu, 09 Apr 2026 09:24:56 GMT</pubDate></item><item><title><![CDATA[Reply to Using M5Stack GPS Module v2.1 (ATGM336H) with Raspberry Pi Pico — No UART Output on Thu, 09 Apr 2026 08:05:04 GMT]]></title><description><![CDATA[<p dir="auto">Bumping this - surely someone knows which pin exposes GNSS_TX?<br />
Any help greatly appreciated!</p>
]]></description><link>https://community.m5stack.com/post/30872</link><guid isPermaLink="true">https://community.m5stack.com/post/30872</guid><dc:creator><![CDATA[obolland]]></dc:creator><pubDate>Thu, 09 Apr 2026 08:05:04 GMT</pubDate></item></channel></rss>