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.
Digital Inputs
Section titled “Digital Inputs”| Channel | Parameter ID | Type | GPIO | Default mapping |
|---|---|---|---|---|
| Input 0 | 1000 | BIT | GP2 | IN0 |
| Input 1 | 1001 | BIT | GP3 | IN1 |
| Input 2 | 1002 | BIT | GP6 | IN2 |
| Input 3 | 1003 | BIT | GP7 | IN3 |
| Input 4 | 1004 | BIT | GP20 | IN4 |
| Input 5 | 1005 | BIT | GP21 | IN5 |
| Input 6 | 1006 | BIT | GP22 | IN6 |
Digital Outputs
Section titled “Digital Outputs”| Channel | Parameter ID | Type | GPIO | Default mapping |
|---|---|---|---|---|
| Output 0 | 2000 | BIT | GP10 | OUT0 |
| Output 1 | 2001 | BIT | GP11 | OUT1 |
| Output 2 | 2002 | BIT | GP8 | OUT2 |
| Output 3 | 2003 | BIT | GP9 | OUT3 |
| Output 4 | 2004 | BIT | GP14 | OUT4 |
| Output 5 | 2005 | BIT | GP15 | OUT5 |
PWM outputs
Section titled “PWM outputs”The six digital outputs can be driven as PWM outputs at runtime, exactly as on nXPico — same channels, same pins, same behaviour.
| Channel | Parameter ID | Drives |
|---|---|---|
PWM_ENABLE | 9100 | bit n = output n in PWM |
PWM0…PWM5 | 9000‑9005 | level 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.
Analog Inputs
Section titled “Analog Inputs”12-bit ADC, raw value 0…4095 over 0…3.3 V.
| Channel | Parameter ID | Type | GPIO | ADC | Default mapping |
|---|---|---|---|---|---|
| Analog 0 | 3000 | WORD | GP26 | ADC0 | AN0 |
| Analog 1 | 3001 | WORD | GP27 | ADC1 | AN1 |
| Analog 2 | 3002 | WORD | GP28 | ADC2 | AN2 |
RGB LED
Section titled “RGB LED”| Channel | Parameter ID | Type | GPIO | Default mapping |
|---|---|---|---|---|
| LED RGB | 4000 | DWORD (output) | GP23 | LED |
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; // redLED := 16#0000FF00; // greenLED := 16#00000040; // dim blueLED := 0; // offNo TEMPERATURE channel
Section titled “No TEMPERATURE channel”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.
Modem channels
Section titled “Modem channels”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.
| Channel | Parameter ID | Type | Dir | Role |
|---|---|---|---|---|
MODEM_OUTPUT | 7000 | 64 bytes | OUT | command bytes, terminated by the first zero |
MODEM_INPUT | 7001 | 128 bytes | IN | 128-byte window over the response |
MODEM_INPUT_LEN | 7002 | WORD | IN | total bytes received so far |
MODEM_SEND | 7003 | WORD | OUT | rising edge: 1 append and transmit, 2 append only |
MODEM_RESET_INPUT | 7004 | WORD | OUT | 1 clears the receive buffer |
MODEM_INPUT_OFFSET | 7005 | WORD | OUT | moves the read window |
Startup parameters
Section titled “Startup parameters”Three parameters in the device’s Internal Parameters tab, applied by the driver before the bus cycle starts:
| Parameter | ID | Type | Meaning |
|---|---|---|---|
| Modem system mode | 8000 | USINT | 0 = LTE-M, 1 = NB-IoT, 2 = both |
| Modem APN | 8001 | STRING | sets AT+CGDCONT |
| Modem SIM PIN | 8002 | STRING | empty = no PIN |
The SIM PIN is never written to the log — only “accepted” or “rejected”.
System
Section titled “System”| Channel | Parameter ID | Type | Access | Value |
|---|---|---|---|---|
| Vendor | 393218 | STRING | read-only | 'nexo S.r.l.' |
| Model Name | 393219 | STRING | read-only | 'IO' |
IO e Modem is the name of the node in the device tree, not the value of this parameter.