Communication

NEO-6M

Classic GPS module used heavily in Arduino navigation and tracking tutorials.

u-bloxActiveModerate

Best For

Projects needing GPS and UART with a commonly available communication part.

Avoid If

You need production-grade certainty without checking the exact module vendor, pinout, and library maintenance status.

Quick Decision Notes

NEO-6M is indexed as a communication part from u-blox. ChipScout tracks it by practical maker-facing dimensions: interfaces, library readiness, estimated price, field-level sources, and whether the page is strong enough for selection rather than only lookup.

Technical Specifications

FunctionGPS positioningSource: u-blox
InterfaceUARTSource: u-blox
Update Rate1Hz commonSource: u-blox
Working Voltage3.3V moduleSource: u-blox

Common Use Cases

  • Maker prototypes
  • Low-cost modules
  • Educational hardware

Known Issues

  • Breakout boards may use different pin labels or regulator choices
  • Clone modules can differ from the original datasheet part

Interfaces and Library Support

Interfaces
UART
Wireless
GNSS
Voltage
3.3V
Libraries
Arduino verifiedMicroPython verified
Data Integrity86% confidence
Sourcehttps://www.u-blox.com/
Last verified2026-05-20
Core specsVerified
PinoutAvailable
Library supportChecked
Price rangePresent
Found a wrong spec?

Every field is meant to be source-backed. Corrections should include a datasheet URL, vendor page, module photo, or reproducible library test.

Submit correction

Source Resources

Pinout Table

VCC3.3VPower the module from a rail that matches the breakout board, not just the bare IC.
GNDCommon groundConnect ground between the controller, sensor/module, and external power supply.
TXMCU RXCross TX to RX between the module and controller.
RXMCU TXCheck whether the module is 3.3V logic before connecting to 5V boards.

Pinout is not yet source-verified. Use the table as an integration checklist, then confirm exact pins against the module vendor page before wiring hardware.

Common Wiring

VCC

Power the module from a rail that matches the breakout board, not just the bare IC.

GND

Connect ground between the controller, sensor/module, and external power supply.

TX

Cross TX to RX between the module and controller.

RX

Check whether the module is 3.3V logic before connecting to 5V boards.

Arduino Example

void setup() {
  Serial.begin(115200);
  Serial.println("NEO-6M GPIO wiring smoke test");
}

void loop() {
  // Replace with the maintained NEO-6M library or module protocol.
  Serial.println("Read or toggle the connected signal pin.");
  delay(1000);
}

MicroPython Example

from machine import Pin
import time

signal = Pin(0, Pin.IN)

while True:
    # Replace with the maintained NEO-6M driver or module protocol.
    print("NEO-6M signal:", signal.value())
    time.sleep(1)

Recommended Development Boards

ESP32-C3 development board

Low-cost Wi-Fi/BLE board with enough interfaces for most sensors and modules.

Arduino Uno R4 / compatible

Good baseline for beginner wiring and library validation.

Raspberry Pi Pico W

Practical MicroPython target for I2C, SPI, UART, PWM, and ADC experiments.

Alternative Model Reasons

A7670CCommunicationCompare this option when price or module availability is the deciding constraint.
ATGM336HCommunicationSame-category alternative worth checking for pinout, library, and supply differences.
BC26CommunicationCompare this option when price or module availability is the deciding constraint.
CC1101CommunicationCompare this option when price or module availability is the deciding constraint.

Common Questions

What is NEO-6M best used for?

Projects needing GPS and UART with a commonly available communication part.

Does NEO-6M support Arduino or MicroPython?

NEO-6M has verified Arduino support and verified MicroPython support.

What interfaces does NEO-6M use?

NEO-6M lists UART; wireless support is GNSS.

Compare NEO-6M vs A7670C

Alternatives and Related Parts