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.
- 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
- 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)
- 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.
- Open the MCUXpresso extension in VS Code.
- In the Quick Start panel, click Application Code Hub.
- In the search field, type:
"FRDM-RW612 Wi-Fi Softphone" - Select the example.
- Update the project name and choose the directory where it will be saved.
- Click Import Project and wait a few minutes.
- If a window appears at the top of VS Code, select the projects to import and continue.
- The demo projects should now appear in the Projects panel.
- Connect the FRDM-RW612 board to your computer using a micro-USB cable.
- Open the MCUXpresso extension in VS Code.
- Select the project:
frdmrw612_wifi_softphone - Right-click the project and select Pristine Build, then wait about one minute.
- Click Run (play icon).
- Wait a few seconds.
- Click Stop if needed.
- 115200 bps
- 8 data bits
- 1 stop bit
- No parity
- No flow control
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.
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.
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.
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
| Version | Description / Update | Date |
|---|---|---|
| 1.0 | Initial release on Application Code Hub | October 6th 2026 |












