Using the NXP FRDM-RW612 with Golioth

We decided to give NXP’s new FRDM-RW612 development board and try and found it was dead simple to get it up and running with Golioth!

The FRDM-RW612 boasts a tri-radio, for WiFi, Bluetooth Low Energy, and 802.15.4 (Thread), but we haven’t had a change to test-drive those options yet. Instead, it was the built-in Ethernet that we used for connectivity. (Keep your eyes on the block for new posts putting the radios to the test.)

Zephyr Conf Files

Adding a Kconfig file for this board, and ensuring we’re using Zephyr v4.1 is all that it took to get this model to connect to Golioth.

While a new release of the Golioth Firmware SDK based on Zephyr v4.1.0 is just around the corner, I was able unlock my own unofficial support by building a repository based on Zephyr 4.1, and adding Golioth as a module. The approach for this is shown in the Golioth Zephyr README.

From there, add a boards/frdm_rw612.conf file to any of the Golioth sample applications with the following configuration:

CONFIG_GOLIOTH_SAMPLE_DHCP_BIND=y
CONFIG_NET_DHCPV4=y
CONFIG_BUILD_OUTPUT_HEX=y

Building and Flashing

Run the Zephyr build as usual. In this case I’ve specified that runtime credentials (PSK-ID/PSK) should be used for authenticating with Golioth.

cd modules/lib/golioth
west build -p -b frdm_rw612 examples/zephyr/hello/ -- -DEXTRA_CONF_FILE=../common/runtime_settings.conf
west flash

Note that although this board is using a USB-C connector, I found that it would not enumerate correctly in one of the orientations. If you do not see a J-Link device mounted on your system, try flipping the USB connector over and inserting it the other ways.

Now that the firmware is running, the board will connect to your network (assuming you’ve remembered to connect the Ethernet cable). However, we need to provision the Golioth credentials onto the device for it to connect to the Golioth cloud.

Head over to the Golioth console and choose the project you’d like this device to connect to. Select Devices from the left sidebar and the Create button in the upper right.

Summary screen showing newly created device details.

The confirmation screen will show your automatically-generated PSK ID and PSK credentials. Use these inside of your favorite terminal program to provision the device:

settings set golioth/psk-id 20250414181107-my-frdm-rw612@developer-training
settings set golioth/psk 271cb8228ec1b54334a0ebe2a7ec069c
kernel reboot

The device will restart (although running kernel reboot is not strictly necessary), connect to your LAN, and subsequently connect to Golioth!

[00:02:08.481,359] <inf> phy_mc_ksz8081: PHY 2 is up
[00:02:08.481,411] <inf> phy_mc_ksz8081: PHY (2) Link speed 100 Mb, full duplex

[00:02:08.483,296] <inf> eth_nxp_enet_mac: Link is up
*** Booting Zephyr OS build v4.1.0 ***
*** Golioth Firmware SDK v0.17.0-34-g6c1b87827242 ***
[00:02:08.484,509] <inf> golioth_settings_autoload: Initializing settings subsystem
[00:02:08.485,934] <inf> fs_nvs: 8 Sectors of 4096 bytes
[00:02:08.485,956] <inf> fs_nvs: alloc wra: 0, f30
[00:02:08.485,959] <inf> fs_nvs: data wra: 0, 254
[00:02:08.486,009] <inf> golioth_settings_autoload: Loading settings
[00:02:08.486,203] <dbg> hello_zephyr: main: start hello sample
[00:02:08.486,219] <inf> golioth_samples: Starting DHCP to obtain IP address
[00:02:08.486,294] <inf> golioth_samples: Waiting to obtain IP address
[00:02:14.504,941] <inf> net_dhcpv4: Received: 192.168.1.152
[00:02:14.505,345] <inf> golioth_mbox: Mbox created, bufsize: 1232, num_items: 10, item_size: 112
[00:02:14.785,831] <inf> golioth_coap_client_zephyr: Golioth CoAP client connected
[00:02:14.785,917] <inf> hello_zephyr: Sending hello! 0
[00:02:14.785,992] <inf> hello_zephyr: Golioth client connected
[00:02:14.786,140] <inf> golioth_coap_client_zephyr: Entering CoAP I/O loop
[00:02:19.785,984] <inf> hello_zephyr: Sending hello! 1

Golioth device summary page showing the device connected 2 minutes ago

From Zero to Fleet-Worthy

Golioth’s mission is to make IoT fleets simple to build and manage. Our cross-platform support means that in most cases, Golioth is just ready to use with your project. In this case, the Zephyr support for the new line of NXP chips means that the Golioth cloud is already compatible.

Give us a try, Golioth is free for individuals so you can have your first boards connecting today with no more than a free Golioth account and a bit of configuration!

Mike Szczys
Mike Szczys
Mike is a Senior Firmware Engineer at Golioth. His deep love of microcontrollers began in the early 2000s, growing from the desire to make more of the BEAM robotics he was building. During his 12 years at Hackaday (eight of them as Editor in Chief), he had a front-row seat for the growth of the industry, and was active in developing a number of custom electronic conference badges. When he's not reading data sheets he's busy as an orchestra musician in Madison, Wisconsin.

Post Comments

No comments yet! Start the discussion at forum.golioth.io

More from this author

Related posts

spot_img

Latest posts

Getting Started with the Golioth Management API

The Golioth Management API is an easy to use interface to all your devices that are connecting through Golioth. This walkthrough shows you how to use TypeScript to interact with the API in a type-safe, low-friction way.

Find Breaking Changes in Zephyr Using Git Bisect

Finding breaking changes in upstream code is a difficult process. Git bisect and good commit discipline (like the Zephyr team maintains) helps to quickly pinpoint issues so you can pull in changes as needed.

A Physical Meme Terminal for Distributed Teams

Have you ever wanted to bypass slack and send a meme directly to your co-worker's desk? This hack day project builds on top of work from 2022 and pulls in some new features of Golioth's IoT platform, as well as some vibe coded front end / back end work to make the experience smoother. Dive into each part of the project in this blog and associated video.

Want to stay up to date with the latest news?

Subscribe to our newsletter and get updates every 2 weeks. Follow the latest blogs and industry trends.