nrf9151 minimal wiring

Clarify the minimum mandatory external connections and pin/rail requirements for an nRF9151 to boot and run a flashed application, and determine why serial_lte_modem (SLM) shows no UART response on an external bare module wired directly to pads after successful SWD programming. Also confirm whether using 3.3 V on both VDD and VDD_GPIO is supported.

Reference (works)

  • Board: nRF9151-DK
  • Application: serial_lte_modem (SLM) from NCS
  • Behavior: UART responds as expected (AT interface)

Failing target (external / wired pads)

  • Hardware: external nRF9151 module/chip only; wires soldered directly to pads
  • Behavior: after flashing SLM, no UART banner/AT response

Programming status (confirmed)

  • The external module can be programmed via SWD successfully.
  • nRF Connect / Programmer confirms the image was written correctly (flash operation completes without errors).
  • The behavior diverges after flashing: DK runs and responds; external target is silent on UART.

Connections used

  • SWD programming wiring
    • VDD = 5 V
    • GND
    • SWDIO
    • SWDCLK
    • nRESET
  • Runtime wiring for UART test (direct power)
    • VDD = 5 V
    • GND
    • VDD_GPIO = 1.8 V
    • ENABLE = HIGH
    • P0.26 = TX
    • P0.27 = RX

Additional test using the nRF9151-DK as a power/UART host (still fails)

  • The external module was connected to the nRF9151-DK.
  • The DK’s onboard modem TX/RX path was opened/disconnected to isolate the DK’s modem and reroute the DK UART TX/RX to the external module instead.
  • The external module was powered using the DK native rails (5 V / 1.8 V) and tested through the DK’s UART interface.
  • Result: SLM still does not respond on UART.

Requested from Nordic

  • Definitive list of mandatory rails/pins/conditions (and sequencing) required for nRF9151 to:
    • boot and execute a flashed application reliably
    • expose UART for SLM
  • Confirmation whether it is supported to power a design with:
    • VDD = 3.3 V and VDD_GPIO = 3.3 V
    • any restrictions, required configuration, or unsupported conditions
  • Root-cause guidance for “flash verified but UART silent” on custom/bare hardware, including:
    • SLM default UART instance and pin mapping differences between DK and custom target
    • required devicetree/Kconfig changes to bind SLM UART to P0.26/P0.27
    • reset/ENABLE handling and required pulls that can prevent the app from running or keep UART inactive
    • any mandatory external circuitry/rails provided by the DK that are missing in a bare module wiring
  • Hi,

    Thank you for the detailed testing and updates, Seeing the output: Booting TF-M v2.1.1-ncs4 confirms that the nRF9151 on your custom hardware is powered correctly, released from reset, and executing the flashed firmware. This rules out issues related to flashing, ENABLE, reset, or the main power rails. The remaining behavior is explained by the UART configuration used by the Serial LTE Modem (SLM) application. By default, SLM enables hardware flow control (RTS/CTS). On the nRF9151 DK these signals are handled automatically by the onboard circuitry, but on custom or bare hardware they must be explicitly driven.

    Your observation that pulling CTS (P0.15) LOW causes UART output to appear confirms that hardware flow control is active. At this point, UART TX is working, but UART RX will remain blocked unless RTS/CTS are handled correctly. You can try out one of the following approaches:

    1. Hardware option:
      1. Connect and use all UART flow-control signals (TX, RX, RTS, CTS).
      2. For testing, CTS can be held LOW and RTS connected to the host’s CTS input.
    2. Software option
      1. Rebuild the SLM application with hardware flow control disabled (e.g. disable CONFIG_UART_0_NRF_HW_FC for the UART instance in use), allowing a simple 2-wire UART (TX/RX/GND).

    Best Regards,
    Syed Maysum

  • Thank you for the clarification and guidance.

    The issue is confirmed resolved by disabling hardware flow control in the SLM build. With RTS/CTS disabled, the UART operates correctly over a simple 2-wire interface (TX/RX/GND) on the custom hardware. This fully explains the previously silent UART behavior and confirms that power, reset, and boot sequencing were correct.

    Appreciate the detailed explanation regarding SLM’s default UART flow-control behavior and the difference between DK handling and bare hardware.

    Best regards,
    Paulo Scarello

Related