<?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>6502 &#8211; ABNielsen.com</title>
	<atom:link href="https://abnielsen.com/category/projects/6502/feed/" rel="self" type="application/rss+xml" />
	<link>https://abnielsen.com</link>
	<description>Anders Braüner Nielsen</description>
	<lastBuildDate>Sat, 27 Dec 2025 09:43:14 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>6502 and a 20MHz ADC takes up the challenge!</title>
		<link>https://abnielsen.com/2025/12/24/6502-and-a-20mhz-adc-takes-up-the-challenge/</link>
					<comments>https://abnielsen.com/2025/12/24/6502-and-a-20mhz-adc-takes-up-the-challenge/#comments</comments>
		
		<dc:creator><![CDATA[Anders]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 11:24:20 +0000</pubDate>
				<category><![CDATA[6502]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">https://abnielsen.com/?p=305</guid>

					<description><![CDATA[Some projects exist purely to answer the question “what if?” — and this one certainly qualifies. Over the past year, I’ve been slowly pushing a modular SDR design further and [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://abnielsen.com/wp-content/uploads/2025/12/image-1024x576.png" alt="" class="wp-image-306" srcset="https://abnielsen.com/wp-content/uploads/2025/12/image-1024x576.png 1024w, https://abnielsen.com/wp-content/uploads/2025/12/image-300x169.png 300w, https://abnielsen.com/wp-content/uploads/2025/12/image-768x432.png 768w, https://abnielsen.com/wp-content/uploads/2025/12/image-1536x864.png 1536w, https://abnielsen.com/wp-content/uploads/2025/12/image.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Some projects exist purely to answer the question “what if?” — and this one certainly qualifies. Over the past year, I’ve been slowly pushing a modular SDR design further and further, and this time I decided to do something that probably shouldn’t work at all: connect a modern 20 MHz, dual 10-bit ADC directly to a 50-year-old 6502 CPU.</p>



<p>Buy one here: <a href="https://www.imania.dk/samlesaet-hobbyelektronik-og-ic-er-phaselatch-20msps-adc-no-ram.htm">https://www.imania.dk/samlesaet-hobbyelektronik-og-ic-er-phaselatch-20msps-adc-no-ram.htm</a></p>



<p>Hardware source: <a href="https://github.com/AndersBNielsen/PhaseLatch">https://github.com/AndersBNielsen/PhaseLatch</a></p>



<p>Previous parts of the series: <a href="https://abnielsen.com/2025/09/06/phaseloom/">https://abnielsen.com/2025/09/06/phaseloom/</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="6502 SDR with 20MHz ADC!" width="640" height="360" src="https://www.youtube.com/embed/v0lzFp8aOxM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>The motivation came from earlier iterations. First there was PhaseLoom, which relied on a sound card for digitization. Then PhaseLatch Mini, using a cheap microcontroller with dual ADCs, managed to push a bit over 200 kHz of bandwidth into a PC. But from the start, I knew I wanted something more fundamental — something that interfaced directly with the CPU bus itself.</p>



<p>Enter PhaseLatch: an ADC board designed to be memory-mapped straight onto the 6502 data bus. The ADC I settled on turned out to be oddly perfect for the job: parallel output, straight binary, dual channels muxed onto the same pins — and suspiciously inexpensive. Whether it’s a clone or a second source, it enabled single-instruction ADC reads on a processor running at 1–2 MHz.</p>



<p>Of course, theory and reality rarely align. While the ADC is capable of 20 MSPS, the 6502 most certainly is not. Add in real-world issues like RAM expansion mistakes, rotated footprints, bus timing, and bit-banged clocks, and the project quickly became an exercise in humility.</p>



<p>Still, something remarkable emerged. By adding external RAM and implementing Goertzel’s algorithm, I managed to perform real DSP on the 6502 itself — detecting tones from RF signals mixed down to baseband. It’s about the simplest form of SDR that still earns the name, but it works.</p>



<p>This project isn’t about achieving record-breaking bandwidth. It’s about understanding limits, embracing constraints, and discovering just how much can still be done with hardware that predates most of us. Sometimes, doing things the hard way is the whole point.</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abnielsen.com/2025/12/24/6502-and-a-20mhz-adc-takes-up-the-challenge/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Building the “PhaseLatch Mini”: A Detour Into Modular SDR Design</title>
		<link>https://abnielsen.com/2025/11/16/building-the-phaselatch-mini-a-detour-into-modular-sdr-design/</link>
					<comments>https://abnielsen.com/2025/11/16/building-the-phaselatch-mini-a-detour-into-modular-sdr-design/#respond</comments>
		
		<dc:creator><![CDATA[Anders]]></dc:creator>
		<pubDate>Sun, 16 Nov 2025 08:29:44 +0000</pubDate>
				<category><![CDATA[6502]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[sdr]]></category>
		<category><![CDATA[stm32]]></category>
		<guid isPermaLink="false">https://abnielsen.com/?p=292</guid>

					<description><![CDATA[Buy a PhaseLoom and PhaseLatch Mini at my store iMania.dk Source code and design files: https://github.com/AndersBNielsen/PhaseLatchMini If you’d told me a few years ago I’d be designing and building my [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Buy a PhaseLoom and PhaseLatch Mini at my store <a href="https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en">iMania.dk</a></p>



<p>Source code and design files: <a href="https://github.com/AndersBNielsen/PhaseLatchMini">https://github.com/AndersBNielsen/PhaseLatchMini</a></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="632" src="https://abnielsen.com/wp-content/uploads/2025/11/image-2-1024x632.png" alt="PhaseLatch Mini" class="wp-image-298" srcset="https://abnielsen.com/wp-content/uploads/2025/11/image-2-1024x632.png 1024w, https://abnielsen.com/wp-content/uploads/2025/11/image-2-300x185.png 300w, https://abnielsen.com/wp-content/uploads/2025/11/image-2-768x474.png 768w, https://abnielsen.com/wp-content/uploads/2025/11/image-2-1536x948.png 1536w, https://abnielsen.com/wp-content/uploads/2025/11/image-2-2048x1264.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>If you’d told me a few years ago I’d be designing and building my own modular Software Defined Radio platform, I’d have laughed. Radio has always felt like electronics magic to me—no matter how much I learn, the sense of wonder never goes away. In the previous video, we explored the bare-minimum concept of an SDR: mixing a radio signal down to IQ baseband and handing it off for digital processing. And yes, I did that with a 50-year-old CPU, the 6502.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="6502 + STM32 join forces as cheap SDR!" width="640" height="360" src="https://www.youtube.com/embed/UEAtSE1PV44?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>For a quick refresher on what SDR means at the circuit level, check out the first video in this series. Back then, my 65uino didn’t have a usable ADC, so the only real option was the classic 1990s approach—pipe the baseband into a computer sound card. In 2025, that makes it one of the lowest bandwidth SDR setups imaginable: stuck at 44.1 kHz, which is roughly 1/72 of what a cheap RTL-SDR can do. It can’t even decode FM. And since my long-term goal is far beyond a few megasamples per second, I needed something better.</p>



<p>Before jumping into high-end territory, I wanted to explore an affordable middle ground. Enter the STM32 “Blue Pill”—a dirt-cheap board I’d had sitting in a drawer for years. Despite its price, the STM32F103 MCU has a surprisingly ideal feature set for SDR use: USB, DMA, and, crucially, dual ADCs that can sample simultaneously. That last part is essential for properly digitizing I/Q channels, and it’s something many MCUs lack.</p>



<p>My expectations weren’t high, but after experimenting with the dev board, I got enough usable bandwidth to justify designing my own custom board. Huge thanks to this video’s sponsor, JLCPCB, who handled fabrication and assembly. I’ve used them long before ever being sponsored—they’re affordable, fast, and the boards come out great every time.</p>



<p>Since ADC performance depends heavily on layout, I upgraded the board to include a proper ground plane and clean separation between the sensitive analog input and noisy USB lines. The design is simple: capture I and Q through a passive LC low-pass filter for anti-aliasing, then feed them straight into the MCU’s ADCs.</p>



<p>After verifying power rails, programming via SWD, and confirming the 8 MHz clock, I wired the board into my existing <a href="https://abnielsen.com/2025/09/06/phaseloom/" data-type="post" data-id="283">PhaseLoom IQ mixer</a>. A single USB cable powers everything. Connected to my 40-meter antenna, the system immediately picked up AM, CW, and FT8—though with some aliasing and imperfect image rejection. Increasing the gain in the mixer helped, but only after carefully matching resistor pairs to avoid I/Q imbalance.</p>



<p>Once the hardware side looked solid, I tackled the firmware. The result is the PhaseLatch Mini: an STM32-based direct-conversion SDR front-end paired with simple Python host scripts. GQRX reads samples through a USB FIFO, and tuning is handled on the hardware side through the si5351 synthesizer. With this setup, I was able to cleanly receive HF, FM broadcast, and even experiment (with mixed success) around 144 MHz.</p>



<p>The PhaseLatch Mini isn’t the final destination—it’s a fun and capable side project on the path to a much more advanced 6502-powered SDR. But it’s already a surprisingly usable 200 kHz-bandwidth receiver, and I’ve made boards, kits, and files available for anyone who wants to experiment.</p>



<p>If you’re curious or want to dive deeper, come hang out on the Hackerspace Clubhouse Discord. More samples and a sneak peek at what’s next are at the end of the video up top. </p>



<p>Discord: <a href="https://discord.gg/kmhbxAjQc3">https://discord.gg/kmhbxAjQc3</a><br>Buy a PhaseLoom and PhaseLatch Mini at my store <a href="https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en">iMania.dk</a></p>



<p>Source code and design files: <a href="https://github.com/AndersBNielsen/PhaseLatchMini">https://github.com/AndersBNielsen/PhaseLatchMini</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abnielsen.com/2025/11/16/building-the-phaselatch-mini-a-detour-into-modular-sdr-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The 6502 Turns 50 – And I Built a Software Defined Radio With It</title>
		<link>https://abnielsen.com/2025/09/06/phaseloom/</link>
					<comments>https://abnielsen.com/2025/09/06/phaseloom/#comments</comments>
		
		<dc:creator><![CDATA[Anders]]></dc:creator>
		<pubDate>Sat, 06 Sep 2025 07:35:19 +0000</pubDate>
				<category><![CDATA[6502]]></category>
		<category><![CDATA[sdr]]></category>
		<guid isPermaLink="false">https://abnielsen.com/?p=283</guid>

					<description><![CDATA[This blog post is part 1 of a series of posts and videos where I build a modular Software Defined Radio. I&#8217;ll try to update this post as I release [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>This blog post is part 1 of a series of posts and videos where I build a modular Software Defined Radio. I&#8217;ll try to update this post as I release new modules and videos. </p>



<p>Part 1: <a href="https://youtu.be/lQh3Q6Q6pK8">A 6502 Software Defined Radio</a> (video), <a href="https://github.com/AndersBNielsen/PhaseLoom">PhaseLoom Github project</a>, <a href="https://abnielsen.com/2025/09/06/phaseloom/" data-type="post" data-id="283">this post</a>, <a href="https://www.imania.dk/samlesaet-hobbyelektronik-og-ic-er-phaseloom-v1-0-hand-fixed-assembled.htm">buy one here</a><br>Part 2: <a href="https://youtu.be/UEAtSE1PV44">6502 + STM32 join forces as cheap SDR!</a> (video), <a href="https://github.com/AndersBNielsen/PhaseLatchMini">PhaseLatch Mini</a> (Github), <a href="https://abnielsen.com/2025/11/16/building-the-phaselatch-mini-a-detour-into-modular-sdr-design/" data-type="post" data-id="292">Building the “PhaseLatch Mini”: A Detour Into Modular SDR Design</a> (blog post), <a href="https://www.imania.dk/samlesaet-hobbyelektronik-og-ic-er-phaselatch-mini.htm">buy one here</a></p>



<p>Part 3: <a href="https://abnielsen.com/2025/12/24/6502-and-a-20mhz-adc-takes-up-the-challenge/">6502 + 20MHz ADC!</a></p>



<p></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2560" height="1707" src="https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-scaled.jpeg" alt="" class="wp-image-284" srcset="https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-scaled.jpeg 2560w, https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-300x200.jpeg 300w, https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-1024x683.jpeg 1024w, https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-768x512.jpeg 768w, https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-1536x1024.jpeg 1536w, https://abnielsen.com/wp-content/uploads/2025/09/AB981FA8-C095-4AFA-95DF-2FCCCA59D215_1_201_a-2048x1365.jpeg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<p></p>



<p>I just built what might be the coolest gadget of the year: a Software Defined Radio (SDR) powered by none other than the legendary MOS Technology 6502 CPU. And the timing couldn’t be better &#8211; this chip turns 50 years old on September 8th!</p>



<p>If you already know what SDRs and 6502s are, your jaw may have just dropped. But if not, don’t worry. I’ll catch you up.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="A 6502 Software Defined Radio" width="640" height="360" src="https://www.youtube.com/embed/lQh3Q6Q6pK8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>The source code for everything is on Github: <a href="https://github.com/AndersBNielsen/PhaseLoom">https://github.com/AndersBNielsen/PhaseLoom</a><br>You can also jump straight over to my store and <strong>buy one</strong>: <a href="https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en">https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en</a></p>



<p></p>



<h2 class="wp-block-heading">What’s an SDR Anyway?</h2>



<p>Think of an SDR as the Swiss Army knife of radios. Instead of filling a workbench with dedicated devices, like a garage door opener, a satellite receiver, and a shortwave set, you just plug in an SDR and let software do the heavy lifting. Tuning, filtering, demodulating is all handled by code.</p>



<p>With an SDR, you can:</p>



<ul class="wp-block-list">
<li>Pull down data from satellites</li>



<li>Decode airplane transponders</li>



<li>Listen to ham radio or shortwave broadcasts</li>



<li>Experiment with frequencies you didn’t even know existed</li>
</ul>



<p>They come in all shapes and sizes, from cheap USB dongles to professional-grade equipment worth thousands. Some just receive, others transmit. But they all share the same principle: turn analog radio waves into digital data, then let software handle the magic.</p>



<h2 class="wp-block-heading">And the 6502?</h2>



<p>Ah, the 6502. This little 8-bit CPU powered the Apple I &amp; II, Commodore 64, Atari consoles, and even the NES. For many, it was the chip that introduced the world to affordable personal computing. And now, half a century later, it’s back—this time running the front end of my homemade SDR.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-1024x683.jpeg" alt="" class="wp-image-285" srcset="https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-1024x683.jpeg 1024w, https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-300x200.jpeg 300w, https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-768x512.jpeg 768w, https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-1536x1024.jpeg 1536w, https://abnielsen.com/wp-content/uploads/2025/09/63F0EE7D-5044-4C9B-9454-EAEB08119BBD_1_201_a-2048x1365.jpeg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Meet the PhaseLoom</h2>



<p>I call my creation the PhaseLoom: a Quadrature Sampling Detector Phase-Locked Loop SDR frontend. Don’t worry about the jargon—what matters is that it’s a custom circuit that converts radio signals into the digital I/Q streams needed for software processing.</p>



<p>In practice, it works like this:</p>



<p>RF Frontend – A simple low-pass filter to clean up incoming signals.</p>



<p>Quadrature Sampling Detector – Uses clever switching to split the signal into in-phase (I) and quadrature (Q) components.</p>



<p>Local Oscillator – Generated by an SI5351 clock chip, controlled by 6502 assembly code.</p>



<p>Output – The I/Q signals can be piped into a sound card, oscilloscope, or eventually a higher-speed ADC for real SDR processing.</p>



<p>When I first powered it up, I wasn’t sure what to expect. But sure enough, with an antenna hooked up, I could tune into the 40-meter ham band. It’s rough, noisy, and very much a prototype—but it works. A 6502-powered SDR is alive.</p>



<p>Why This Matters</p>



<p>Most SDRs today rely on powerful modern processors or FPGAs. Running one from a CPU designed in 1975 is absolutely ridiculous—and that’s exactly why it’s so fun. The 6502 may not be doing the heavy DSP (yet), but it’s orchestrating the whole show. And with more development, I plan to push it further—maybe even squeezing in some real signal processing routines on that ancient silicon.</p>



<p>The Road Ahead</p>



<p>This is just the beginning. Better filters, wider bandwidth ADCs, and smarter software are all on the horizon. And yes, the PhaseLoom will be open hardware—schematics, code, and boards are already available.</p>



<p>The 6502 started a revolution 50 years ago. Today, it’s tuning in the airwaves. And I can’t wait to see how far this project goes.</p>



<p>For now you can <strong>buy one here</strong>: <a href="https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en">https://www.imania.dk/index.php?currency=EUR&amp;cPath=204&amp;sort=5a&amp;language=en</a></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abnielsen.com/2025/09/06/phaseloom/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Serial Hacking</title>
		<link>https://abnielsen.com/2024/12/20/serial-hacking/</link>
					<comments>https://abnielsen.com/2024/12/20/serial-hacking/#respond</comments>
		
		<dc:creator><![CDATA[Anders]]></dc:creator>
		<pubDate>Fri, 20 Dec 2024 11:58:11 +0000</pubDate>
				<category><![CDATA[6502]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">https://abnielsen.com/?p=278</guid>

					<description><![CDATA[Source and documentation on Github: https://github.com/AndersBNielsen/Universal-Serial-Adapter The Origins of the Word &#8220;Hacker&#8221; and a Universal Serial Adapter for Modern Tinkering Have you ever wondered where the term &#8220;hacker&#8221; originated? It’s [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Serial Hacking" width="640" height="360" src="https://www.youtube.com/embed/w22Xjf3kKlc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Source and documentation on Github: <a href="https://github.com/AndersBNielsen/Universal-Serial-Adapter">https://github.com/AndersBNielsen/Universal-Serial-Adapter</a></p>



<h3 class="wp-block-heading">The Origins of the Word &#8220;Hacker&#8221; and a Universal Serial Adapter for Modern Tinkering</h3>



<p>Have you ever wondered where the term &#8220;hacker&#8221; originated? It’s a fascinating journey that’s far removed from the modern association with cybercrime. While working on my latest project—a Universal Serial Adapter—I found myself reflecting on this word’s history and how it ties back to the essence of ingenuity and hands-on innovation.</p>



<h4 class="wp-block-heading">The Historical Roots of &#8220;Hacker&#8221;</h4>



<p>The term &#8220;hacker&#8221; first appeared in the 1950s, linked to the MIT Tech Model Railroad Club. These pioneers weren’t cracking passwords or infiltrating systems; they were enthusiasts modifying electrical circuits and railroad systems. According to records from a 1955 meeting, students were advised to turn off power before “hacking on the electrical system.” This suggests that hacking, at its core, involved physical tinkering—sometimes literally with hacksaws—to modify and improve systems.</p>



<p>This origin reflects a time when printed circuit boards (PCBs) were expensive, and modifications were often done by hand. This hands-on spirit of experimentation resonates deeply with the work I’ve been doing, and it’s a mindset I’ve aimed to embody in my latest project.</p>



<h4 class="wp-block-heading">Introducing the Universal Serial Adapter</h4>



<p>The Universal Serial Adapter is a tool designed for flexibility and ease of use. It features:</p>



<ul class="wp-block-list">
<li><strong>USB-C connectivity</strong> on one end,</li>



<li><strong>UART control signals</strong> for interfacing with microcontrollers, and</li>



<li>An <strong>RS-232 (COM) port</strong> for compatibility with older systems like the IBM PC AT from 1984.</li>
</ul>



<p>This adapter bridges the gap between decades of computing technology, making it useful for both vintage computer enthusiasts and modern developers working with microcontrollers.</p>



<h4 class="wp-block-heading">Why Build It?</h4>



<p>There are plenty of USB-to-serial adapters on the market, but I wanted something more hackable and modifiable. Most commercial options are encased in epoxy, making them difficult to tweak. By creating an open-source, modular design, I’ve ensured this tool can adapt to various use cases. For example, it’s perfect for testing connections or experimenting with PCB designs before committing to a final product.</p>



<h4 class="wp-block-heading">The Hackability Factor</h4>



<p>One key feature of the Universal Serial Adapter is its configurability. Traditional RS-232 setups often require null modem adapters or crossover cables, which can complicate signal flow and control signal pass-through. To simplify this, I designed jumper blocks that make configuring the polarity straightforward. Here’s how it works:</p>



<ul class="wp-block-list">
<li>Signal pairs are placed in jumper blocks.</li>



<li>Horizontal jumpers configure straight connections.</li>



<li>Vertical jumpers cross over the signals (e.g., RX/TX, CTS/RTS).</li>
</ul>



<p>This intuitive approach eliminates the need for external adapters and ensures the control signals are handled correctly, improving connection reliability.</p>



<h4 class="wp-block-heading">Modern-Day Circuit Board Innovations</h4>



<p>Unlike the expensive PCBs of the 1950s, modern manufacturing has made prototyping affordable. For this project, I relied on <strong>JLCPCB</strong>, whose sponsorship allowed me to experiment freely without breaking the bank. If you’re interested, new customers can get coupons for their first order, and I’ve linked the details in the description. With their service, you can get six-layer PCBs for as little as $5—a dream for hobbyists and professionals alike.</p>



<h4 class="wp-block-heading">Open Source and Community Contributions</h4>



<p>This project is 100% open source. All design files and schematics are available on GitHub, so you can customize the adapter or use it as inspiration for your own projects. I’ve also integrated ideas from the community. For instance, the jumper configuration technique was inspired by contributions from CommodoreZ and TechAV, showcasing the collaborative spirit of the maker community.</p>



<h4 class="wp-block-heading">Beyond the Basics</h4>



<p>The adapter is built for flexibility:</p>



<ul class="wp-block-list">
<li><strong>Modular Design:</strong> It can be snapped apart into separate components using a clever combination of vias and notches, offering sturdiness and convenience.</li>



<li><strong>Compatibility:</strong> It works with both modern computers and vintage hardware.</li>



<li><strong>Advanced Features:</strong> The RS-232 chip includes a sleep mode for power efficiency and can be manually woken up when needed.</li>
</ul>



<p>For breadboard enthusiasts, the adapter plugs directly into standard boards, making it easy to prototype new circuits. If you need just the RS-232 functionality, you can separate it from the USB-to-serial chip and use it independently.</p>



<h4 class="wp-block-heading">Performance and Testing</h4>



<p>During testing, the adapter surpassed expectations, achieving data transfer rates of over 1 megabit per second without errors. This performance is impressive given the datasheet ratings for the components. A Python script I wrote for testing is also available on GitHub, so you can replicate or adapt the setup for your own needs.</p>



<h4 class="wp-block-heading">Looking Ahead</h4>



<p>This project is part of a broader effort to upgrade my 6502-based single-board computer, the <a href="https://abnielsen.com/2023/03/28/65uino/" data-type="post" data-id="251">65uino</a>, to include USB-C and built-in UART. The Universal Serial Adapter was born out of a need to test these new features, but it has evolved into a versatile tool in its own right.</p>



<h4 class="wp-block-heading">Join the Conversation</h4>



<p>If you have questions or want to share your own projects, feel free to join the discussion on my <a href="https://discord.gg/kmhbxAjQc3">Hackerspace Clubhouse Discord server</a>. The <a href="https://www.imania.dk/product_info.php?currency=EUR&amp;cPath=204&amp;products_id=7224&amp;language=en">Universal Serial Adapter</a> is already available in my store, and I’m always happy to hear feedback or ideas for future improvements.</p>



<p>Let’s keep the spirit of hacking alive—whether it’s with a soldering iron, a hacksaw, or just a curious mind. Thanks for reading, and happy tinkering!</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abnielsen.com/2024/12/20/serial-hacking/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Meet the 65uino</title>
		<link>https://abnielsen.com/2023/03/28/65uino/</link>
					<comments>https://abnielsen.com/2023/03/28/65uino/#comments</comments>
		
		<dc:creator><![CDATA[Anders]]></dc:creator>
		<pubDate>Tue, 28 Mar 2023 13:46:18 +0000</pubDate>
				<category><![CDATA[6502]]></category>
		<category><![CDATA[Projects]]></category>
		<guid isPermaLink="false">https://abnielsen.com/?p=251</guid>

					<description><![CDATA[UPDATE: The 65uino is now available as a kit with SMD parts presoldered from my own store, iMania.dk The 65uino is a 6502 based learning platform in a familiar form [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001-1024x576.jpeg" alt="65uino with pinout" class="wp-image-257" srcset="https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001-1024x576.jpeg 1024w, https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001-300x169.jpeg 300w, https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001-768x432.jpeg 768w, https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001-1536x864.jpeg 1536w, https://abnielsen.com/wp-content/uploads/2023/05/Pinouts.001.jpeg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>UPDATE: The 65uino is now available as a <a href="https://www.imania.dk/index.php?cPath=204&amp;sort=5a&amp;language=en">kit with SMD parts presoldered from my own store</a>, iMania.dk</strong></p>



<p>The 65uino is a 6502 based learning platform in a familiar form factor. It has a 6507 CPU, a 6532 RIOT chip and a 28 pin ROM as the core components and aims to teach assembly programming, computer engineering and embedded design by opening up the black box of modern MCU&#8217;s.</p>



<p>By going back to a time where the integrated circuits each mostly did their own thing, the 65uino hopes to give a better and faster understanding of the basic concepts that&#8217;ll typically be abstracted away nowadays. </p>



<p>The project is 100% open source and you&#8217;ll find all the details over on <a href="https://hackaday.io/project/190260-65uino">hackaday.io </a> so check it out and follow along!</p>



<p><strong>Are you looking for the Relatively Universal ROM programmer?</strong> Have a look at <a href="https://github.com/AndersBNielsen/Relatively-Universal-ROM-Programmer">https://github.com/AndersBNielsen/Relatively-Universal-ROM-Programmer</a><br>You&#8217;ll also find that <strong><a href="https://www.imania.dk/index.php?cPath=204&amp;sort=5a&amp;language=en">kit with SMD parts presoldered from my own store</a></strong>.</p>



<p></p>



<p></p>



<h2 class="wp-block-heading">65uino-related videos</h2>



<p>If you&#8217;re new to the 65uino, you might want to check out the videos below as explain how the 65uino came to be, and how it works, step by step. </p>



<p>First, it started out on a breadboard&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="A 6502 Based Computer on a Single Breadboard" width="640" height="360" src="https://www.youtube.com/embed/s3t2QMukBRs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Then it shrunk and learned to do I2C&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="I²C on a 6502 Single Board Computer - The 65uino #i2c #6502" width="640" height="360" src="https://www.youtube.com/embed/i7q0P9-wszM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Then it got a screen&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="OLED display on a 6502 Single Board Computer using i2c #65uino" width="640" height="360" src="https://www.youtube.com/embed/x6xsTXY7OtI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>&#8230;and a bootloader&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Serial Bootloader for ANY 6502 Single Board Computer #65uino" width="640" height="360" src="https://www.youtube.com/embed/nOmQd3y3pDw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Learned to control a Raspberry Pi&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Can a 6502 computer control a Raspberry Pi?" width="640" height="360" src="https://www.youtube.com/embed/QYN7VGy-H6Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Got a graphics upgrade&#8230; </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Scrolling OLED on a 6502 Single Board Computer" width="640" height="360" src="https://www.youtube.com/embed/Cexdm8K4kW0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Figured out all kinds of serial flow control&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Serial Flow Control. What&#039;s CTS RTS XOFF XON and why should you care?" width="640" height="360" src="https://www.youtube.com/embed/pdloxXDJejM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Got given away for free&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="I gave away 35 8-bit motherboards" width="640" height="360" src="https://www.youtube.com/embed/DgULY_Qp5aQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Studied to become a ROM programmer&#8230;</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Programming old ROMs with HIGH voltage" width="640" height="360" src="https://www.youtube.com/embed/1GMmktWHyhg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>&#8230;graduated with honors!</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="This 9$ Universal ROM Burner is Open Source!" width="640" height="360" src="https://www.youtube.com/embed/adLz2Gj239s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>&#8230;and more is coming very soon @ https://www.youtube.com/c/AndersNielsenAA<br><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abnielsen.com/2023/03/28/65uino/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
