Skip to content

Latest commit

 

History

History
191 lines (120 loc) · 10.4 KB

hardware-setup.md

File metadata and controls

191 lines (120 loc) · 10.4 KB

Hardware Setup

The host application runs on an nRF54 Series DK and talks to an nRF9151 DK or nRF9151 SMA DK (Serial Modem) over UART with hardware flow control, DTR/RI, and an optional modem reset line.

The nRF9151 SMA DK uses the same board controller, GPIO pinout, and build target (nrf9151dk/nrf9151/ns) as the nRF9151 DK. The only hardware difference is the SMA antenna connector instead of a PCB antenna - wiring is identical.

The application supports the following host boards:

Host DK Serial Modem wiring
nRF54L15 DK P0 connector (uart30)
nRF54LM20B DK P1/P2 connector (uart21)
nRF54LM20B DK + nRF7002-EB II (Wi-Fi® location) P1/P2 connector (uart21)

Board Configurator

Apply the following settings:

  • Set matching VDD on both boards (typically 1.8 V).

On the nRF9151 or nRF9151 SMA DK (Serial Modem):

  • Disconnect VCOM0 so the UART0 data pins (P0.26/P0.27) are free for the external host link. Serial Modem uses the nRF91M1 pinout on UART0.
  • Disconnect VCOM0 HWFC too. This is a separate switch from VCOM0 and, like it, defaults to Connected. Leaving it connected keeps the interface MCU on P0.14/P0.15 through 150 Ω series resistors, holding the modem's CTS deasserted so it never answers the host's init chat script.
  • Leave VCOM1 and VCOM1 HWFC connected for modem logs (UART1, P0.28/P0.29). CI captures this port at 1000000 baud.

Host-specific settings are listed in each of the following sections.

Serial Modem release and UART pinout

The Serial Modem bundle is *_nrf9151dk_nrf91m1.zip. The host UART is the nRF91M1 pinout on UART0 (P0.27 TX, P0.26 RX, P0.14 RTS, P0.15 CTS). DTR is on P0.31 and RI on P0.30.

Until the nRF9151 DK Board Configurator can route DTR automatically, the modem DK also expects P0.31 (DTR) jumpered to GND when you use a PC host. An external MCU host should drive DTR from its GPIO instead (as this application does through P1.11).

CI tracks the newest upstream release that ships the nRF91M1 bundle. Static settings such as console_baudrate live in tests/on_target/ci/serial_modem_firmware.yml. Set SERIAL_MODEM_RELEASE to pin a specific tag locally.

nRF54L15 DK with nRF9151 DK

Development setup: nRF54L15 DK (host) wired to nRF9151 DK (Serial Modem).

On the nRF54L15 DK, disable VCOM0 (releases UART30 on the P0 connector for the modem link).

Wiring

nRF54L15 DK nRF9151 DK Signal
P0.00 P0.26 UART TX → RX
P0.01 P0.27 UART RX ← TX
P0.02 P0.15 UART RTS → CTS
P0.03 P0.14 UART CTS ← RTS
P1.11 P0.31 DTR
P1.12 P0.30 RI
P1.10 P5 pin 5 nRESET
GND GND Ground
  • P0 connector: UART signals on the host; on the modem, the UART0 pins are on the DK edge.
  • P1 connector (host): DTR, RI, and modem reset.
  • Modem side: DTR and RI on P3; nRESET on P5 pin 5
  • Add a 1 kΩ series resistor on the reset wire if IO levels differ.

Note

Both signal pairs cross. Host TX drives the modem's RX, and host RTS drives the modem's CTS on P0.15 - not P0.14, which is the modem's RTS. Wiring either pair straight through leaves the modem's CTS on its internal pull-up, and the only symptom is init_chat_script: timed out on the host while the modem boots and takes reset pulses normally.

Build

Use the following command to build on the DK:

cd applications/91m1_ppp
west build -b nrf54l15dk/nrf54l15/cpuapp/ns -p

Devicetree

Update the devicetree overlays for the DK using the boards/nrf54l15dk_nrf54l15_cpuapp_ns.overlay configuration.

Console

Open a serial terminal on VCOM1 (UART20 - the secondary USB serial port on the nRF54L15 DK).

nRF54LM20B DK with nRF9151 or nRF9151 SMA DK

Development setup: nRF54LM20B DK (host) wired to nRF9151 DK or nRF9151 SMA DK (Serial Modem).

On the nRF54LM20B DK, no Board Configurator changes are required for the plain build; both VCOM ports may stay enabled. When the nRF7002-EB II shield is attached, disable VCOM1 (see Wi-Fi location setup).

Wiring

The Serial Modem link uses UART21 on the P1 connector (P1.8/P1.9 for TX/RX, P1.23/P1.24 for RTS/CTS).

nRF54LM20B DK nRF9151 / SMA DK Signal
P1.8 P0.26 UART TX → RX
P1.9 P0.27 UART RX ← TX
P1.23 P0.15 UART RTS → CTS
P1.24 P0.14 UART CTS ← RTS
P1.11 P0.31 (P3) DTR
P1.12 P0.30 (P3) RI
P1.10 P5 pin 5 nRESET
GND GND Ground
  • Host P1/P2 connector: UART (UART21 on P1.8/P1.9 and P1.23/P1.24), DTR (P1.11), RI (P1.12), modem reset (P1.10).
  • Modem side: uart0 data pins on the DK edge; DTR and RI on P3; nRESET on P5 pin 5.
  • Add a 1 kΩ series resistor on the reset wire if IO levels differ.

Note

DTR/RI use P1.11/P1.12, which conflict with the DK default UART21 HWFC pins. The overlay maps RTS/CTS to P1.23/P1.24 instead. All four UART wires plus DTR/RI must be connected for reliable operation.

Note

The UART_TX/UART_RX psels in the host overlay must match the orientation in the table. The host TX on P1.8 drives the modem's RX (P0.26). Swapping the two leaves both sides transmitting into each other's transmitters, and the only symptom is that the modem never answers the init chat script.

Build

Use the following command to build on the DK:

cd applications/91m1_ppp
west build -b nrf54lm20dk/nrf54lm20b/cpuapp/ns -p

Devicetree

Update the devicetree overlays for the DK using the boards/nrf54lm20dk_nrf54lm20b_cpuapp_ns.overlay configuration.

Console

Open a serial terminal on VCOM0 (UART30 - the primary USB serial port on the nRF54LM20B DK).

Serial Modem logs appear on VCOM1 of the nRF9151 DK or the nRF9151 SMA DK (UART1, P0.28/P0.29). Keep that terminal open alongside the host console when bringing up the link.

nRF54LM20B DK with nRF7002-EB II (Wi-Fi location)

Development setup: nRF54LM20B DK with nRF7002-EB II on the P18 expansion header, wired to nRF9151 DK or nRF9151 SMA DK (Serial Modem). Use this configuration only when building with Wi-Fi location support - the EB II shield is not required for the base PPP application.

nRF7002-EB II mounting

Mount the EB II on the P18 expansion header on the nRF54LM20B DK. The expansion interface uses P17 for GPIO/SPI signals and P18 for 5 V power when the shield is plugged in.

On the nRF54LM20B DK:

  • Disable VCOM1 in Board Configurator (required by the nRF7002-EB II shield - UART20 pins conflict with the expansion header).
  • Keep VCOM0 enabled for the shell console (UART30 on P0.06/P0.07).

Wiring

The shield shares the same host console as the plain build (UART30 / VCOM0). Serial Modem wiring is the same as the plain nRF54LM20B setup above (UART21 on P1).

Build

Use the following command to build on the DK:

cd applications/91m1_ppp
west build -b nrf54lm20dk/nrf54lm20b/cpuapp/ns -p -- \
  -DSHIELD=nrf7002eb2 \
  -DEXTRA_CONF_FILE=overlay-location.conf \
  -DSB_EXTRA_CONF_FILE=sysbuild-location.conf

Devicetree

Update the devicetree overlays for the DK using the boards/nrf54lm20dk_nrf54lm20b_cpuapp_ns.overlay configuration.

The Zephyr nrf7002eb2 shield overlay provides the Wi-Fi companion IC devicetree. The base board overlay already routes the console to UART30.

Console

Open a serial terminal on VCOM0 (primary USB serial port, UART30 on P0.06/P0.07). Do not use VCOM1 while the EB2 is attached.

Serial Modem logs appear on VCOM1 of the nRF9151 or nRF9151 SMA DK (UART1, P0.28/P0.29). Keep that terminal open alongside the host console when bringing up the link.

Firmware behavior

On host boot, src/modem_reset.c pulses nRESET (500 ms), then waits for the Serial Modem "Ready" string before the cellular driver starts.

Serial Modem firmware

The nRF91M1 PPP Host Application is tested against the newest ncs-serial-modem release that ships the nRF91M1 zip for the nRF9151 or nRF9151 SMA DK. Download serial_modem_<tag>_nrf9151dk_nrf91m1.zip from the upstream release page, or use the copy at the top level of your SMHA release bundle.

This build enables PPP and CMUX on UART0 routed to the host (P0.27/P0.26 TX/RX, P0.15/P0.14 RTS/CTS, DTR/RI on P0.31/P0.30). Without the nRF91M1 variant, the modem listens on the USB VCOM UART instead, and the host sees init_chat_script: timed out.

Extract the zip and flash the .hex on the nRF9151 or nRF9151 SMA DK:

nrfutil device program --firmware serial_modem_<tag>_nrf9151dk_nrf91m1.hex --recover

CI on-target tests resolve and flash the same archive before each 91m1 run. See Serial logs.

To match an unreleased Serial Modem commit instead, build the modem application yourself; see the Serial Modem getting started guide for workspace setup and build arguments.