Positioning · u-blox NEO-M8P-2

NEO-M8P-2 — i2c address & wiring

RTK GNSS receiver — centimetre-level positioning, rover or base station.

Key facts

NEO-M8P-2 at a glance

i2c address
0x42
fixed address
Logic voltage2.7–3.6 V
Typegps
Partu-blox NEO-M8P-2
Ships withQwiic
Datasheetu-blox NEO-M8P-2 — manufacturer documentation ↗

The chip

What the u-blox NEO-M8P-2 actually is

Concurrent multi-constellation GNSS receiver with RTK: feed it RTCM correction data and positioning tightens to centimetre level, and it can serve as either the rover or the base station generating those corrections. Its DDC port is i2c-compatible, so a microcontroller can poll NMEA/UBX messages at address 0x42.

Wiring

How to connect the NEO-M8P-2

HOST · Arduino / ESP32 / Pi NEO-M8P-2 3V3 VCC VCC · 2.7–3.6 V GND GND GND SDA SDA SDA · data SCL SCL SCL · clock 0x42 pull-up resistors to VCC on SDA & SCL — usually already on the breakout

The NEO-M8P-2 talks i2c at address 0x42. It runs at 2.7–3.6 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.

The address is fixed, so two NEO-M8P-2s can't share a bus directly — the address-conflict guide covers the workarounds (multiplexer, second bus).

Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scan first; if the bus is silent, the 7-step checklist finds it faster than guessing.

Ecosystems

Plug-together options for the NEO-M8P-2

NEO-M8P-2 breakouts ship with Qwiic — keyed 4-pin cables carrying power, ground, SDA and SCL, so there's nothing to solder and nothing to wire backwards. Chain it to the next board and keep going.

Running a mixed bench? Those ecosystems interoperate more than their marketing suggests — see every connector pairing for the cable or adapter you need, or the standards overview for how they compare.

Watch the bus

Boards that clash with the NEO-M8P-2

These want an address the NEO-M8P-2 also answers (0x42), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.

Get one

Questions

NEO-M8P-2 i2c FAQ

What is the NEO-M8P-2's i2c address?

The NEO-M8P-2 sits at a fixed address of 0x42. It can't be changed, so two of them can't share one bus without a multiplexer or a second bus.

What voltage does the NEO-M8P-2 run at?

2.7–3.6 V logic. It's 2.7 V-only — driving it straight from a 5 V Arduino risks damage, so level-shift first.

Can I use two NEO-M8P-2s on one i2c bus?

Not directly — every NEO-M8P-2 answers to 0x42, so two on one bus would collide. Use a TCA9548A multiplexer to give each its own channel, or put the second one on a separate bus.

Does the NEO-M8P-2 work with Qwiic?

Yes — NEO-M8P-2 breakouts ship with Qwiic, so it plugs straight in with no soldering. Mixing ecosystems? The compatibility checker gives you the exact cable or adapter.