
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.
Buy one here: https://www.imania.dk/samlesaet-hobbyelektronik-og-ic-er-phaselatch-20msps-adc-no-ram.htm
Hardware source: https://github.com/AndersBNielsen/PhaseLatch
Previous parts of the series: https://abnielsen.com/2025/09/06/phaseloom/
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.
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.
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.
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.
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.