Skip to content

IO Mapping

nXPico M exposes an IO e Modem module under the device node. Digital and analog channels are identical to nXPico, on the same GPIOs — an application that only uses I/O runs unchanged.

ChannelParameter IDTypeGPIODefault mapping
Input 01000BITGP2IN0
Input 11001BITGP3IN1
Input 21002BITGP6IN2
Input 31003BITGP7IN3
Input 41004BITGP20IN4
Input 51005BITGP21IN5
Input 61006BITGP22IN6
ChannelParameter IDTypeGPIODefault mapping
Output 02000BITGP10OUT0
Output 12001BITGP11OUT1
Output 22002BITGP8OUT2
Output 32003BITGP9OUT3
Output 42004BITGP14OUT4
Output 52005BITGP15OUT5

The six digital outputs can be driven as PWM outputs at runtime, exactly as on nXPico — same channels, same pins, same behaviour.

ChannelParameter IDDrives
PWM_ENABLE9100bit n = output n in PWM
PWM0…PWM59000‑9005level 0…65535 of GP10, GP11, GP8, GP9, GP14, GP15
PWM_ENABLE := 2#0000_0100; (* OUT2 becomes a PWM output *)
PWM2 := 32768; (* 50% duty *)

The carrier frequency is a device parameter, one per pair of outputs: 9200 for OUT0/OUT1, 9201 for OUT2/OUT3, 9202 for OUT4/OUT5. Range 9 Hz…100 kHz, default 2289 Hz, and the duty stays 0…65535 whatever you choose.

The full explanation — resolution against frequency, why the pairs share a setting, how to measure it with a multimeter — is on the nXPico page.

12-bit ADC, raw value 0…4095 over 0…3.3 V.

ChannelParameter IDTypeGPIOADCDefault mapping
Analog 03000WORDGP26ADC0AN0
Analog 13001WORDGP27ADC1AN1
Analog 23002WORDGP28ADC2AN2
ChannelParameter IDTypeGPIODefault mapping
LED RGB4000DWORD (output)GP23LED

The LED is a WS2812 addressable RGB, driven by the RP2350’s PIO. The channel is a DWORD in 0x00RRGGBB form, not a bit:

LED := 16#00FF0000; // red
LED := 16#0000FF00; // green
LED := 16#00000040; // dim blue
LED := 0; // off

Unlike nXPico and nXPico W, nXPico M does not expose the die temperature. The RP2350’s internal sensor still exists in silicon; it is simply not declared in this device description.

Six channels form a transparent AT pipe to the nRF9151: the low-level way to use the modem, where the runtime does not interpret the protocol. An IEC library for the modem is in development. See Modem, with examples.

ChannelParameter IDTypeDirRole
MODEM_OUTPUT700064 bytesOUTcommand bytes, terminated by the first zero
MODEM_INPUT7001128 bytesIN128-byte window over the response
MODEM_INPUT_LEN7002WORDINtotal bytes received so far
MODEM_SEND7003WORDOUTrising edge: 1 append and transmit, 2 append only
MODEM_RESET_INPUT7004WORDOUT1 clears the receive buffer
MODEM_INPUT_OFFSET7005WORDOUTmoves the read window

Three parameters in the device’s Internal Parameters tab, applied by the driver before the bus cycle starts:

ParameterIDTypeMeaning
Modem system mode8000USINT0 = LTE-M, 1 = NB-IoT, 2 = both
Modem APN8001STRINGsets AT+CGDCONT
Modem SIM PIN8002STRINGempty = no PIN

The SIM PIN is never written to the log — only “accepted” or “rejected”.

ChannelParameter IDTypeAccessValue
Vendor393218STRINGread-only'nexo S.r.l.'
Model Name393219STRINGread-only'IO'

IO e Modem is the name of the node in the device tree, not the value of this parameter.