Discovering LiteX: Building SoCs Like LEGO

If you’ve ever tried to build a microprocessor from scratch, you know it’s a battlefield full of hazards, memory control, and instruction handling. A true digital mess. In the middle of that chaos, I came across a tool that completely changed the way I see FPGA development: LiteX. What is LiteX? LiteX is a framework for designing SoCs (System on Chip) on FPGA, transforming the process into something like assembling LEGO blocks: you pick a processor, add controllers, memory, peripherals, and done!...

May 20, 2025 · 4 min · Fabian Alvarez

Design of a RISC-V Microprocessor with GPIO Integration

Introduction to RISC-V and the 32I Instruction Set RISC-V is an open and free instruction set architecture (ISA) that has gained significant popularity in microprocessor design due to its flexibility and efficiency. Unlike proprietary architectures, RISC-V allows developers and researchers to create custom processors without licensing restrictions. What is RISC-V? RISC-V is an architecture based on the Reduced Instruction Set Computing (RISC) principle, meaning it uses a simplified instruction set to improve hardware efficiency....

February 18, 2025 · 2 min · Fabian Alvarez

First Steps in RISC-V Microcontroller Development

Selection of Hardware and Development Tools In this second article of the series, I will begin with the first steps in developing a RISC-V 32I-based microcontroller. For this, I have decided to use a Tang Nano 20K as the implementation platform. However, depending on resource usage, I might consider switching to a Tang Nano 9K if it meets the design requirements. Since the selected FPGA belongs to the Tang Nano family, this limits the development environment to compatible tools....

February 19, 2025 · 2 min · Fabian Alvarez

Turn a PS2 Joystick into a USB Gamepad with Feather 32u4

In this guide, you’ll learn how to interface a generic PS2 joystick with a Feather 32u4, so it works as a USB gamepad on Windows and Steam. We’ll cover the hardware, wiring, Arduino IDE firmware, and Steam setup. Motivation I left my Xbox 360 controller at home, but I have a PS2 joystick I bought years ago for a retro project. With a Feather 32u4 and a bit of code, we can turn it into a USB gamepad compatible with any PC....

June 1, 2025 · 7 min · Fabian Alvarez