# Enable logging
logger:
baud_rate: 0 # disables UART0 logging, allows GPS UART to be clean
I got this
(This occurs at all baud rates.
I tested them all one after the other under “UART Baud Rate:”)
INFO ESPHome 2025.6.3
INFO Reading configuration /config/esphome/gps.yaml...
INFO Detected timezone 'Europe/Berlin'
INFO Generating C++ source...
INFO Compiling app...
Processing gps (board: esp32-c3-devkitm-1; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.3.0
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- TinyGPSPlus @ 1.1.0
Compiling .pioenvs/gps/src/main.cpp.o
Linking .pioenvs/gps/firmware.elf
RAM: [= ] 11.2% (used 36716 bytes from 327680 bytes)
Flash: [===== ] 51.8% (used 950758 bytes from 1835008 bytes)
Building .pioenvs/gps/firmware.bin
Creating esp32c3 image...
Successfully created esp32c3 image.
esp32_create_combined_bin([".pioenvs/gps/firmware.bin"], [".pioenvs/gps/firmware.elf"])
SHA digest in image updated
Wrote 0xfba10 bytes to file /data/build/gps/.pioenvs/gps/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/gps/firmware.bin"], [".pioenvs/gps/firmware.elf"])
========================= [SUCCESS] Took 8.09 seconds =========================
INFO Successfully compiled program.
esptool.py v4.8.1
Serial port /dev/ttyACM0
Connecting...
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE, Embedded Flash 4MB (XMC)
Crystal is 40MHz
MAC: 28:37:2f:75:23:14
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x000fbfff...
Flash will be erased from 0x00000000 to 0x00003fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 965136 bytes to 598893...
Wrote 965136 bytes (598893 compressed) at 0x00010000 in 7.3 seconds (effective 1050.7 kbit/s)...
Hash of data verified.
SHA digest in image updated
Compressed 12944 bytes to 9299...
Wrote 12944 bytes (9299 compressed) at 0x00000000 in 0.2 seconds (effective 432.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 575.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 624.3 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO UART logging is disabled (baud_rate=0). Not starting UART logs.
I noted that possibility in my edit to my previous post. But - FYI, the spec you shared appears to be on the Ublox module itself. In your case the module appears to have upstream voltage regulation (3v-5v input) on the GY-GPS board.
To definitely determine the device’s baud rate, one could connect it to a windows PC through a usb-uart adapter/cable, download and install U-blox U-center, and let it connect with auto-baud. This may also be a good way to confirm the device is actually working… separate from esphome.
If you don’t have a windows 10/11 compatible uart adapter, you can use an esp board as one - if set up correctly.
Here is my yaml - if you don’t get the version with the compass built in, delete the i2c section and the qmc5883l sensor section. I have a different esp board than you, but again the critical part is the uart rx gpio on the esp needs to connect to the tx pin on the gps. You don’t need to connect anything to the rx pin on the gps - the data is only flowing one way. Perhaps, you can start fresh with your current setup, copy the below, delete the i2c/qmc5883l sensor sections, adjust for your gpios and try again.