Skip to content

About

FRDM RW612 Softphone

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

NXP Application Code Hub

FRDM-RW612 Wi-Fi Softphone — Embedded VoIP Demo: Fully Functional SIP Softphone with Voice Calling and Text Messaging

This project is a SIP softphone demo running on the NXP RW612 (FRDM-RW612 evaluation board). It demonstrates a fully functional VoIP client built on top of the open-source Baresip SIP stack, ported to run on FreeRTOS with the NXP MCUXpresso SDK.

Key features

  • SIP registration over TLS (SIPS) or plain UDP
  • Incoming and outgoing audio calls using G.711 (µ-law/a-law) or Opus codecs
  • Secure transport — TLS 1.3 via MbedTLS 3.x for both SIP signaling (port 5061) and media (SRTP)
  • Mutual TLS (mTLS) — optional client certificate verification, controlled at compile time via MTLS_VERIFY_CLIENT
  • Wi-Fi connectivity managed by the WPL (Wi-Fi Provisioning Layer); the board can operate as a Wi-Fi client or as an access point for initial provisioning
  • UART based command line console — Full serial shell for all Wi-Fi and SIP operations
  • Graphical User Interface — An LVGL-based touch-screen UI runs in parallel as a dedicated FreeRTOS task

Boards: FRDM-RW612

Categories: Wireless Connectivity, Graphics, Voice

Peripherals: DISPLAY, FLASH, Wi-Fi

Toolchains: GCC, VS Code

Table of Contents

  1. Software
  2. Hardware
  3. Setup
  4. Results
  5. FAQs
  6. Support
  7. Release Notes

1. Software

  • Visual Studio Code
  • MCUXpresso for VSC v26.03 or newer
  • SDK 26.3.0 for FRDM-RW612
  • Linphone PC application. Download here
  • Serial terminal (Teraterm, Putty, or similar)

2. Hardware

  • FRDM-RW612 Rev. V2
  • LCD-PAR-S035, 3.5” 480x320 IPS TFT LCD Module
  • 1 micro USB cable

Set switch SW1 on the LCD-PAR-S035 to position 111 (IM[2:0]). Note: the leftmost switch is IM[0] and the rightmost is IM[2].

Connect the display to the PMOD connector (J7) of the FRDM-RW612 board.

3. Setup

3.1 Prepare before importing code

  1. Install VS Code.
  2. Install the MCUXpresso for VS Code extension.

3.2 Import example from Application Code Hub

  1. Open the MCUXpresso extension in VS Code.
  2. In the Quick Start panel, click Application Code Hub.
  3. In the search field, type: "FRDM-RW612 Wi-Fi Softphone"
  4. Select the example.
  5. Update the project name and choose the directory where it will be saved.
  6. Click Import Project and wait a few minutes.
  7. If a window appears at the top of VS Code, select the projects to import and continue.
  8. The demo projects should now appear in the Projects panel.

3.3 Flash your FRDM-RW612 board

  1. Connect the FRDM-RW612 board to your computer using a micro-USB cable.
  2. Open the MCUXpresso extension in VS Code.
  3. Select the project: frdmrw612_wifi_softphone
  4. Right-click the project and select Pristine Build, then wait about one minute.
  5. Click Run (play icon).
  6. Wait a few seconds.
  7. Click Stop if needed.

3.4 Open Serial Monitor with these parameters

  • 115200 bps
  • 8 data bits
  • 1 stop bit
  • No parity
  • No flow control

3.5 Connect the board to a Wi-Fi Network

The first screen of the demo guides you through connecting your board to a Wi-Fi network.

Press the SCAN button to perform a Wi-Fi scan. Once the scan is completed the results will be listed in the SSID drop-down list.

Once you select a network from the SSID list then you can write the password in the PASSWORD text box and press CONNECT.

Once you successfully connect to a network, the SSID and Password get stored in the board's NVM so it can be easily connected again with the CONNECT TO SAVED button.

If you don't have a Wi-Fi network to connect to, you can use the ACCESS POINT button to start a new Wi-Fi network with SSID rw612_softphone and password: 12345678.

Once the board is connected, the home screen is displayed. It contains three buttons: one opens the dialpad screen, another starts a call with the last number that called the board, and the third opens the text messages screen. At the top of the screen, the SIP URL is shown — this address can be used in a VoIP application such as Linphone to call the board.

4. Results

4.1 Call the FRDM-RW612 board with LinPhone

Connect your PC to the same Wi-Fi network as the FRDM-RW612 board.

Note: Since the FRDM-RW612 does not have audio support, the demo echoes back any audio stream received during a voice call.

Once connected to the same network, open the Linphone application and enter the SIP URL displayed on your FRDM-RW612's screen in the search bar.

Now press the dial button.

An incoming call will appear on the FRDM-RW612's screen. You can use the green button to answer the incoming call and start the audio stream.

Last, you can end the call.

4.2 Send and receive instant text messages between the FRDM-RW612 and your PC with LinPhone

Connect your PC to the same Wi-Fi network as the FRDM-RW612 board.

Once connected to the same network, open the Linphone application and enter the SIP URL displayed on your FRDM-RW612's screen in the search bar.

Now press the messages button.

You can use this screen to exchange instant text messages between the FRDM-RW612 and your PC.

Messages will automatically appear in the FRDM-RW612's display UI. You can use this screen to reply.

5. Support

Project Metadata

Board badge

Category badge Category badge Category badge

Peripheral badge Peripheral badge Peripheral badge

Toolchain badge Toolchain badge

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

Note: For more general technical questions regarding NXP Microcontrollers and the difference in expected functionality, enter your questions on the NXP Community Forum

Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter

6. Release Notes

Version Description / Update Date
1.0 Initial release on Application Code Hub October 6th 2026

About

FRDM RW612 Softphone

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages