Picture of the analog front end

Delay Effect Implementation

Introduction While keeping sight of my target when doing this project, there were some components on the Arty that I don’t really know how to use. One of these was the DRAM mounted on the board. Hence, I wanted to implement the most obvious effect that needs some kind of memory of previous samples. Basically, at some point in the chain, the delay will take samples at a rate of 48KHz, store them in a circular buffer in RAM, and set up a read pointer at some distance from the write pointer, such that reading yields back audio from the past. The math for this is quite simple in the end: with a sampling rate of 48KHz, every memory address of distance between read and write adds ~20.8 microseconds of delay. So let’s say I want a delay of up to ~2 seconds — we’ll need 192000 bytes of memory. It’s honestly not even that much when the mounted memory is 1GByte. ...

June 14, 2026 · Daniel Blackbeard
Picture of a PCB work for a preamplifier

Analog preamplifier for the XADC

Introduction Let me take a detour from the HDL and digital things and go back for a while into the analog domain. For this whole system I’m building to be of any use, the signal from the guitar has to have enough amplitude to: Dominate the noise of the processing chain Use as much of the XADC’s dynamic range as possible In any case, I need something simple, while also thinking I wouldn’t be able to respect myself if I built it as a circuit mounted on a breadboard. So, I also took the chance to learn PCB production in a long afternoon. ...

April 7, 2026 · Daniel Blackbeard
Picture of a verilog snippet for a FIR

Arty A7 Guitar Effect Chain - FIR Implementation

Introduction On this little project of making a guitar effect chain, the equalizer/filter will be a central component. The guitar has a particular spectrum, and not everything within the 20KHz humans can hear needs to be processed. In filtering out the unnecessary frequencies we get some benefits: All the spectral content is useful information, increasing the amount of signal we can process We are cutting noise, which is usually very wideband, often modeled as uniformly distributed All of this translates into a better signal-to-noise ratio (SNR). ...

March 15, 2026 · Daniel Blackbeard
Picture of a guitar effect chain

Arty A7 Guitar Effect Chain - Introduction

Introduction It took me a while to come up with worthy content, but here I am. I have been working on getting my FPGA board to sample analog audio with the internal ADC for a project proposed by a colleague as a way to learn the intricacies of digital design. Let me tell you straight: the documentation for the ADC on this Artix 7 device does a great job of being confusing. I’m not ashamed to say that this is the part that took me the longest to figure out, also considering my paranoia about damaging the components with non-compliant voltages. ...

December 27, 2025 · Daniel Blackbeard
Picture of a sine waveform

Sine Synthesis with FPGA

Introduction Last time, we built a circuit together using Verilog to communicate with an I2S device. But we never delved into how to make a waveform for it. Now, don’t get me wrong: if you did the blinky LED example when starting your first projects, this should be easy for you: A square pattern is just zeros and ones A saw pattern is a counter from zero to max A triangle wave is a counter that goes back after hitting max or min values A sine wave is just some CORDIC… Now, we will not be using CORDIC and will not be doing simple counters. I want to show you a couple of tricks to generate a clean sine waveform that you can later compose to create fancier sounds. ...

June 15, 2025 · Daniel Blackbeard
Picture of some HDL code

Digital audio with I2S

Introduction As you may know, I’m working on this blog also as a way to log my learning journey. So, to make up for the lack of interesting peripherals on the Arty A7, I bought a set of modules for Arduino. Most of them were quite uninteresting, but I got this I2S DAC module from Adafruit that implements the UDA1334A from NXP (datasheet). This device interests me the most among the ones I got in the assortment, because ever since I was a kid I’ve wanted to make my own guitar effects (in fact, I believe many electronic engineers are born this way, or something similar), so the end goal is quite ambitious as you can see. But let’s start with something easy. ...

June 8, 2025 · Daniel Blackbeard
Picture of the FTDI serial chip

UART: the basics after you know the very basics

Introduction So, after you’re done with the book and have implemented your first 8-bit CPU, you keep wondering ok, but now I want to do real-world stuff I’ve got you covered — when it comes to real-world stuff, nothing beats having the capability to send data to and from other devices. When I began my personal projects, right after getting my Arty A7, I thought I’d need to debug what’s happening inside the FPGA in case the internal logic analyzer wasn’t reliable (pro tip: it’s very reliable). So being able to send data to a computer using a simple protocol is a must. ...

May 28, 2025 · Daniel Blackbeard
Picture of some HDL code

What Is HDL? The explanation you did not request

Introduction If you’re a hardware engineer you need no explanation — this is more for the programmers who try to build things with an FPGA, believing it’s the next step up from Arduino. (I happen to agree, so no judgment here.) As someone who wrote a lot of code in my youth (and still loves fiddling with the Linux kernel), I’m lucky that I understood the purpose of HDL early on. ...

May 27, 2025 · Daniel Blackbeard
Digilent Arty A7 board connected

Blog introduction

Let me be brief, as this is just to fill the emptiness of a newly created blog: I want to learn new skills and take notes that can be shared with people, in the hope that they will find them useful as well. In this blog I have the plan to showcase my personal projects on electronics and perhaps other fields, maybe adding some of the knowledge I have accumulated over the last few years in the field (if it doesn’t break any NDA, of course). ...

May 25, 2025 · Daniel Blackbeard