<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Nathan Jones Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Nathan_Jones.php</link>
<description><![CDATA[RSS Feed for Nathan Jones Blog on EmbeddedRelated.com]]></description>
<image><title>Nathan Jones Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Nathan_Jones.php</link>
<url>https://d23s79tivgl8me.cloudfront.net/user/profilepictures/166144.jpg</url>
</image>
<atom:link href="https://www.embeddedrelated.com/blogs_rss.php?bloggerid=166144" rel="self" type="application/rss+xml"></atom:link>
<language>en-US</language>
<lastBuildDate>Sun, 08 Mar 2026 07:01:02 +0000</lastBuildDate>
<pubDate>1772953262</pubDate>
<item>
<title>Project Log: Pixelblaze Christmas Lights</title>
<link>https://www.embeddedrelated.com/showarticle/1771.php</link>
<description><![CDATA[Contents
<ul>
	<li><a href="#intro">Introduction</a></li>
	<li><a href="#pixelblaze">What's Pixelblaze?</a></li>
	<li><a href="#idea">The general idea</a></li>
	<li><a href="#parts">The parts arrive! Along with my first problems...</a></li>
	<li><a href="#weatherproofing">Now, how to weatherproof it?</a></li>
	<li><a href="#hanging">And the hanging part?</a></li>
	<li><a href="#results">Okay, but how does it look?</a></li>
	<li><a href="#closing">Closing thoughts</a></li>
</ul>
Introduction
<p>It was a festive time of year! The merriest of times!
</p>

<p>Also, my wife likes holiday decorations...]]></description>
<pubDate>Mon, 22 Dec 2025 17:17:09 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Breaking AES with an Oscilloscope</title>
<link>https://www.embeddedrelated.com/showarticle/1761.php</link>
<description><![CDATA[Contents
<ul>
	<li><a href="#intro">Introduction</a></li>
	<li><a href="#sub">Like a screen door on a submarine</a></li>
	<li><a href="#dpa">What's "differential power analysis" (DPA)?</a></li>
	<li><a href="#aes">A brief overview of AES encryption</a></li>
	<li><a href="#attack-overview">Conducting a DPA attack</a></li>
	<li><a href="#attack-setup">Setting up the attack</a></li>
	<li><a href="#attack-ex">Conducting the attack</a></li>
	<li><a href="#countermeasures">Defending against a DPA attack</a></li>
	<li><a href="#conclusion">Conclusion</a></li>
	<li><a...]]></description>
<pubDate>Wed, 01 Oct 2025 22:19:00 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>The Teardown Conference Call for Proposals is Open for Another Week!</title>
<link>https://www.embeddedrelated.com/showarticle/1713.php</link>
<description><![CDATA[<p>Hey, friends! A fun conference is coming up in Portland, OR, USA, at the end of June: <a href="https://www.crowdsupply.com/teardown/portland-2025/" rel="nofollow">Teardown</a>! Sponsored by CrowdSupply, Teardown is a laid-back conference with lots of fun things to learn and do. Previous talks or workshops include
</p>
<ul>
	<li><a href="https://www.crowdsupply.com/teardown/portland-2023/short-talk/open-sourcing-the-secrets-of-oscilloscope-design" rel="nofollow">Open Sourcing the Secrets of Oscilloscope Design</a></li>
	<li><a...]]></description>
<pubDate>Tue, 07 Jan 2025 02:05:23 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Pay it Forward</title>
<link>https://www.embeddedrelated.com/showarticle/1686.php</link>
<description><![CDATA[<p>Let me ask you a question: what experience got you most excited to enter the field you're in now? What got you excited about coding or electronics? For me, I have vivid memories of playing with all kinds of science kits as a young kid: chemistry sets, rock tumblers, and probably six different crystal radios. And it was the electronics that grabbed my attention the most. I remember being in awe...]]></description>
<pubDate>Mon, 02 Dec 2024 01:00:33 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Simulating Your Embedded Project on Your Computer (Part 2)</title>
<link>https://www.embeddedrelated.com/showarticle/1697.php</link>
<description><![CDATA[<a href="https://github.com/gbmhunter/CppLinuxSerial" rel="nofollow"></a>
Contents
<ul>
	<li><a href="#intro">Introduction</a></li>
	<li><a href="#virtual">Virtual Hardware</a>
	<ul>
		<li><a href="#hw-support">Does the simulator support your microcontroller and/or the external components that you use in your system?</a></li>
		<li><a href="#main-major">The "Main Major" Pattern</a></li>
		<li><a href="#ease-of-use">How easy is the simulator to learn and use?</a></li>
		<li><a href="#build-system">How easy is it to incorporate building and running the simulation with your current build...]]></description>
<pubDate>Mon, 04 Nov 2024 13:23:50 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Simulating Your Embedded Project on Your Computer (Part 1)</title>
<link>https://www.embeddedrelated.com/showarticle/1695.php</link>
<description><![CDATA[Contents
<ul>
	<li><a href="#intro">Introduction</a></li>
	<li><a href="#benefits">The benefits of simulation</a></li>
	<li><a href="#isolate">First, isolate the madness</a></li>
	<li><a href="#the-simplest-option">The simplest option: printf/scanf</a>
	<ul>
		<li><a href="#non-blocking">Making scanf/getchar non-blocking</a></li>
		<li><a href="#races">A Note About Race Conditions</a></li>
		<li><a href="#pretty-printf">Making printf prettier</a></li>
	</ul></li>
	<li><a href="#uses">What can I do with printf/scanf?</a></li>
	<li><a href="#summary">Summary</a></li>
	<li><a...]]></description>
<pubDate>Thu, 03 Oct 2024 02:45:20 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>What I Learned From Crashing and Burning in Grad School</title>
<link>https://www.embeddedrelated.com/showarticle/1691.php</link>
<description><![CDATA[<p>In the fall of 2018 I began a graduate program at North Carolina State University that would eventually earn me a Master's degree in Computer Engineering. I was still serving in the US Army at the time, having been selected to go to West Point Military Academy after my graduate program to teach Cadets there in the Electrical Engineering and Computer Science Department. I was excited and...]]></description>
<pubDate>Wed, 04 Sep 2024 15:30:14 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Write Better Code with Block Diagrams and Flowcharts</title>
<link>https://www.embeddedrelated.com/showarticle/1685.php</link>
<description><![CDATA[Contents
<ul>
	<li><a href="#intro">Introduction</a></li>
	<li><a href="#block">Software block diagrams</a>
	<ul>
		<li><a href="#block-what">What is it?</a></li>
		<li><a href="#block-how">How do I draw one?</a></li>
		<li><a href="#block-implementing">Implementing a block diagram in code</a></li>
		<li><a href="#block-challenge">Ready for a small challenge?</a></li>
	</ul></li>
	<li><a href="#flow">Flowcharts</a>
	<ul>
		<li><a href="#flow-what">What is it?</a></li>
		<li><a href="#flow-how">How do I draw one?</a></li>
		<li><a href="#flow-implementing">Implementing a flowchart in...]]></description>
<pubDate>Thu, 01 Aug 2024 18:33:15 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>You Don&#039;t Need an RTOS (Part 4)</title>
<link>https://www.embeddedrelated.com/showarticle/1662.php</link>
<description><![CDATA[<p>
	At least, probably not as often as you think you do. Using a preemptive RTOS can help make a system schedulable (i.e. help all of its tasks meet their deadlines) but it comes at a cost: "concurrently" running tasks can interact in unforeseen ways that cause system failures, that dreaded class of errors known as "race conditions". In part, this is because humans have difficulty thinking...]]></description>
<pubDate>Tue, 02 Jul 2024 12:54:21 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>You Don&#039;t Need an RTOS (Part 3)</title>
<link>https://www.embeddedrelated.com/showarticle/1653.php</link>
<description><![CDATA[<p>
	At least, probably not as often as you think you do. Using a preemptive RTOS can help make a system schedulable (i.e. help all of its tasks meet their deadlines) but it comes at a cost: "concurrently" running tasks can interact in unforeseen ways that cause system failures, that dreaded class of errors known as "race conditions". In part, this is because humans have difficulty thinking...]]></description>
<pubDate>Mon, 03 Jun 2024 17:05:04 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>You Don&#039;t Need an RTOS (Part 2)</title>
<link>https://www.embeddedrelated.com/showarticle/1652.php</link>
<description><![CDATA[<p>
	At least, probably not as often as you think you do. Using a preemptive RTOS can help make a system schedulable (i.e. help all of its tasks meet their deadlines) but it comes at a cost: "concurrently" running tasks can interact in unforeseen ways that cause system failures, that dreaded class of errors known as "race conditions". In part, this is because humans have difficulty thinking...]]></description>
<pubDate>Wed, 08 May 2024 00:37:44 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>You Don&#039;t Need an RTOS (Part 1)</title>
<link>https://www.embeddedrelated.com/showarticle/1636.php</link>
<description><![CDATA[<p>
	At least, probably not as often as you think you do. Using a preemptive RTOS ("real-time operating system") can help make a system schedulable (i.e. help all of its tasks meet their deadlines) but it comes at a cost: "concurrently" running tasks can interact in unforeseen ways that cause system failures, that dreaded class of errors known as "race conditions". In part, this is because...]]></description>
<pubDate>Thu, 11 Apr 2024 12:46:33 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Make Your Own MCU Boards (2023 Teardown Conference)</title>
<link>https://www.embeddedrelated.com/showarticle/1635.php</link>
<description><![CDATA[<p>I just realized (probably very belatedly) that all (most?) of the talks from last year's Teardown Conference in Portland, Oregon, are now freely available <a href="https://www.crowdsupply.com/teardown/portland-2023/schedule" rel="nofollow">online</a>! This includes a talk I gave about designing your own breakout board or development board for a microcontroller, which is embedded below. Enjoy!
</p>

References:
<ul>
	<li><a href="https://tinyurl.com/2p9jvrch" rel="nofollow">Presentation...]]></description>
<pubDate>Thu, 07 Mar 2024 20:22:39 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>Embedded Systems Roadmaps</title>
<link>https://www.embeddedrelated.com/showarticle/1589.php</link>
<description><![CDATA[Introduction
<p>What does it mean to be an "embedded systems engineer"? What skills would it be beneficial for you to develop if you want to be a successful one? Whether you've only just finished your first Arduino project or you've been building embedded systems for decades, we could all benefit from periodically assessing our skills against a baseline and identifying new skills that we can...]]></description>
<pubDate>Thu, 09 Nov 2023 16:37:07 +0000</pubDate>
<author>Nathan Jones</author>
</item>
<item>
<title>What does it mean to be &#039;Turing complete&#039;?</title>
<link>https://www.embeddedrelated.com/showarticle/1588.php</link>
<description><![CDATA[Introduction
<p>It's possible that you've heard the term "Turing complete" before, probably in reference to a computer or a programming language. Certain programming languages are or are not "Turing complete" and occassionally odd stuff, like <a href="https://conwaylife.com/wiki/Turing_machine" rel="nofollow">Conway's Game of Life</a>, is called "Turing complete". But what, exactly, does this term mean and why is it important in the realm of computer science? To...]]></description>
<pubDate>Mon, 16 Oct 2023 16:42:40 +0000</pubDate>
<author>Nathan Jones</author>
</item>
</channel>
</rss>