NEO-6M GPS module (GY-NEO6MV2) with ESP32
Supply 3.3-5 V
Bus GPIO
Measures position, time
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| VCC | Power | 3V3 | |
| RX | Input (the ESP32 drives it) | D25 | UART: the part receives data here. Connect to an ESP32 TX pin |
| TX | Output (the part drives it) | D26 | UART: the part sends data here. Connect to an ESP32 RX pin (9600 baud) |
| GND | Ground | GND |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Good to know
- The first fix needs a view of the sky and takes about 30 seconds or more. Indoors it may never find one. (u-blox NEO-6 datasheet, Time-to-first-fix, cold start 27 s)
- It talks at 9600 baud. Connect the module’s TX to the board’s RX. (u-blox NEO-6 datasheet, UART default 9600 baud)
Sources
- u-blox NEO-6 datasheet, UART default 9600 baud, NMEA output
Try it in 3D in BoardPilot
NEO-6M GPS module (GY-NEO6MV2) on other boards: wiring and code
Arduino Mega 2560 R3 Arduino Nano Arduino Uno R3 WeAct Black Pill STM32F411CE ESP32-C3-DevKitM-1 ESP32-S3-DevKitC-1 Nordic nRF52840 DK NUCLEO-F401RE Raspberry Pi Pico 2 Raspberry Pi Pico W Raspberry Pi Pico Teensy 4.1
Learn the basics
Lesson: UART, I2C and SPI Lesson: GPIO: pins in and out UART (serial port) Baud rate GPIO
Related parts
A02YYUW waterproof ultrasonic distance (UART)A3144 hall effect switchAM312 mini PIR motion sensorATGM336H GPS/BeiDou moduleBeitian BN-220 GPS moduleBenewake TF-Luna LiDAR (UART mode)
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.