<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tutorial Archives - The Golioth Developer Blog</title>
	<atom:link href="https://blog.golioth.io/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.golioth.io/tag/tutorial/</link>
	<description>Golioth, Zephyr, and IoT Development News and How Tos</description>
	<lastBuildDate>Thu, 28 Aug 2025 15:53:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.golioth.io/wp-content/uploads/2023/09/cropped-Golioth_Symbol_Coral_RGB-1-32x32.png</url>
	<title>Tutorial Archives - The Golioth Developer Blog</title>
	<link>https://blog.golioth.io/tag/tutorial/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Get started with Bluetooth and Golioth Connectivity</title>
		<link>https://blog.golioth.io/get-started-with-bluetooth-and-golioth-connectivity/</link>
		
		<dc:creator><![CDATA[Chris Gammell]]></dc:creator>
		<pubDate>Thu, 28 Aug 2025 15:55:54 +0000</pubDate>
				<category><![CDATA[Bluetooth]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[livestream]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://blog.golioth.io/?p=10016</guid>

					<description><![CDATA[<p>Golioth just announced Bluetooth Support...but how can you get started? This post walks you through the installation steps and has a signup for an upcoming livestream on August 29th where we'll go through the entire workflow together.</p>
<p>The post <a href="https://blog.golioth.io/get-started-with-bluetooth-and-golioth-connectivity/">Get started with Bluetooth and Golioth Connectivity</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How to Write a Zephyr Device Driver with a Custom API</title>
		<link>https://blog.golioth.io/how-to-write-a-zephyr-device-driver-with-a-custom-api/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 13 Aug 2024 14:39:00 +0000</pubDate>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[Drivers]]></category>
		<category><![CDATA[syscall]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=7639</guid>

					<description><![CDATA[<p>Learn the ins and outs of the Zephyr driver subsystem and learn how to write your own custom driver APIs the Zephyr way!</p>
<p>The post <a href="https://blog.golioth.io/how-to-write-a-zephyr-device-driver-with-a-custom-api/">How to Write a Zephyr Device Driver with a Custom API</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Debugging nRF9160 Zephyr applications with Ozone</title>
		<link>https://blog.golioth.io/debugging-nrf9160-zephyr-applications-with-ozone/</link>
		
		<dc:creator><![CDATA[Chris Wilson]]></dc:creator>
		<pubDate>Tue, 17 Oct 2023 14:22:58 +0000</pubDate>
				<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[nRF9160]]></category>
		<category><![CDATA[Ozone]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=5250</guid>

					<description><![CDATA[<p>Ozone is a free graphical debugger for embedded firmware from SEGGER. It&#8217;s a powerful tool that can give you deep visibility into what&#8217;s happening in your embedded system. It&#8217;s especially useful when debugging nRF9160 Zephyr apps. Sorting out multiple threads and multi image builds can be tough, but this is the tool you want. In [&#8230;]</p>
<p>The post <a href="https://blog.golioth.io/debugging-nrf9160-zephyr-applications-with-ozone/">Debugging nRF9160 Zephyr applications with Ozone</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How to turn Helper Code into a Zephyr Module</title>
		<link>https://blog.golioth.io/how-to-turn-helper-code-into-a-zephyr-module/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 10 Oct 2023 14:28:41 +0000</pubDate>
				<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[helper code]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[module.yml]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Zephyr module]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=5247</guid>

					<description><![CDATA[<p>Embedded developers always maintain sets of helper code that get used across multiple projects. With Zephyr RTOS, you can easily turn your helper code into a portable Zephyr module. Creating a Zephyr module means you can version control your code, making changes in one centralized place, while targeting a specific git commit, tag, or branch [&#8230;]</p>
<p>The post <a href="https://blog.golioth.io/how-to-turn-helper-code-into-a-zephyr-module/">How to turn Helper Code into a Zephyr Module</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>Filtering IoT Sensor Data with Golioth Rest API Queries in Grafana</title>
		<link>https://blog.golioth.io/filtering-iot-sensor-data-with-golioth-rest-api-queries-in-grafana/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Thu, 20 Jul 2023 14:56:38 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[data visualization]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[Grafana]]></category>
		<category><![CDATA[Query Builder]]></category>
		<category><![CDATA[querying data]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=4894</guid>

					<description><![CDATA[<p>Golioth collects data from your entire IoT sensor fleet and makes it easy to access from the cloud. Data visualization is a common use case and we love using Grafana to make dashboards for our fleets. It can start to get tricky if your devices are sending back mountains of different data. We&#8217;ll demonstrate how [&#8230;]</p>
<p>The post <a href="https://blog.golioth.io/filtering-iot-sensor-data-with-golioth-rest-api-queries-in-grafana/">Filtering IoT Sensor Data with Golioth Rest API Queries in Grafana</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How to Get Network Information from a Nordic nRF9160 Cellular Modem</title>
		<link>https://blog.golioth.io/how-to-get-network-information-from-a-nordic-nrf9160-cellular-modem/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 23 May 2023 14:57:45 +0000</pubDate>
				<category><![CDATA[Device Management]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[cellular]]></category>
		<category><![CDATA[Modem info]]></category>
		<category><![CDATA[network info]]></category>
		<category><![CDATA[Nordic]]></category>
		<category><![CDATA[nRF9160]]></category>
		<category><![CDATA[RSRP]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=4544</guid>

					<description><![CDATA[<p>Cellular-enabled devices are often deployed into far-flung locations. They are quite likely to be out of reach from physical access once deployed. Having a way to verify the network status for a device is really important to maintaining a fleet. Nordic Semiconductors (makers of the nRF9160) built tools for returning cellular connection info into the [&#8230;]</p>
<p>The post <a href="https://blog.golioth.io/how-to-get-network-information-from-a-nordic-nrf9160-cellular-modem/">How to Get Network Information from a Nordic nRF9160 Cellular Modem</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		<enclosure url="https://blog.golioth.io/wp-content/uploads/2023/05/golioth_rpc_modem_info.mp4" length="343750" type="video/mp4" />
<enclosure url="https://blog.golioth.io/wp-content/uploads/2023/05/golioth_rpc_modem_info3.webm" length="471216" type="video/webm" />

			</item>
		<item>
		<title>Using VScode for ESP-IDF and Golioth</title>
		<link>https://blog.golioth.io/using-vscode-for-esp-idf-and-golioth/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 31 Jan 2023 15:07:45 +0000</pubDate>
				<category><![CDATA[Device Management]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[Webinars]]></category>
		<category><![CDATA[Zephyr]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[ESP-IDF]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[VScode]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=3921</guid>

					<description><![CDATA[<p>You can use VScode when working with Golioth's ESP-IDF SDK. This guide walks through the process of setting up the ESP-IDF extension for VScode, then shows how to build, flash, and run the golioth-basics example application.</p>
<p>The post <a href="https://blog.golioth.io/using-vscode-for-esp-idf-and-golioth/">Using VScode for ESP-IDF and Golioth</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How to add Golioth to any ESP-IDF project</title>
		<link>https://blog.golioth.io/how-to-add-golioth-to-any-esp-idf-project/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 06 Dec 2022 15:37:33 +0000</pubDate>
				<category><![CDATA[Firmware]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[ESP-IDF]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=3620</guid>

					<description><![CDATA[<p>Adding Golioth device management to your existing ESP-IDF project is easy. In this post we show how to add Golioth as a submodule and configure the ESP-IDF build to enable the API calls. This brings OTA firmware updates, data management, and device control to any ESP32 IoT device.</p>
<p>The post <a href="https://blog.golioth.io/how-to-add-golioth-to-any-esp-idf-project/">How to add Golioth to any ESP-IDF project</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How To Visualize A &#8220;Fleet View&#8221; For Your IoT Deployment</title>
		<link>https://blog.golioth.io/how-to-visualize-a-fleet-view-for-your-iot-deployment/</link>
		
		<dc:creator><![CDATA[Chris Gammell]]></dc:creator>
		<pubDate>Thu, 01 Dec 2022 15:57:54 +0000</pubDate>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Webinars]]></category>
		<category><![CDATA[Fleet]]></category>
		<category><![CDATA[fleet management]]></category>
		<category><![CDATA[Grafana]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=3596</guid>

					<description><![CDATA[<p>As you add more devices to your IoT deployment, you want to know all of their statuses at once. We show you how to create a custom "fleet view" dashboard using Grafana.</p>
<p>The post <a href="https://blog.golioth.io/how-to-visualize-a-fleet-view-for-your-iot-deployment/">How To Visualize A &#8220;Fleet View&#8221; For Your IoT Deployment</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
		<item>
		<title>How to do ESP32 OTA Updates using Golioth and ESP-IDF</title>
		<link>https://blog.golioth.io/how-to-do-esp32-ota-updates-using-golioth-and-esp-idf/</link>
		
		<dc:creator><![CDATA[Mike Szczys]]></dc:creator>
		<pubDate>Tue, 29 Nov 2022 16:17:48 +0000</pubDate>
				<category><![CDATA[Device Management]]></category>
		<category><![CDATA[ESP-IDF]]></category>
		<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Firmware Update]]></category>
		<category><![CDATA[OTA]]></category>
		<category><![CDATA[over-the-air updates]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[walkthrough]]></category>
		<guid isPermaLink="false">https://goliothblogdev.wpenginepowered.com/?p=3565</guid>

					<description><![CDATA[<p>The most sought-after Golioth feature is OTA, also known as Over-the-Air firmware updates. When you put an IoT device into the field it&#8217;s crucial that you be able to push firmware updates to it without human intervention. Golioth makes simplifies the process for your ESP-IDF projects. Today we&#8217;re walking through the OTA process: Build and [&#8230;]</p>
<p>The post <a href="https://blog.golioth.io/how-to-do-esp32-ota-updates-using-golioth-and-esp-idf/">How to do ESP32 OTA Updates using Golioth and ESP-IDF</a> appeared first on <a href="https://blog.golioth.io">The Golioth Developer Blog</a>.</p>
]]></description>
		
		
		
			</item>
	</channel>
</rss>
