Reusing the Upduino Programmer for USB→FPGA Communication

The Upduino FPGA development board is a cheap way to start with (OSS) FPGA development on the Lattice ICE40 platform. Unfortunately, there are few peripherals on the PCB and there’s no official way for communicate between FPGA application and PC. This post explains how we can reuse the FPGA programmer to transmit data to the FPGA without any additional hardware, using only the programmer USB port. ...

February 16, 2025 · 5 min · Johannes Pfau

Using MPSSE Mode with libftdi

FTDI chips are commonly used for FPGA boards and microcontroller programmer boards. Apart from basic UART, advanced FTDI chips also support synchronous IO using the MPSSE mode. Unfortunately, examples for MPSSE are outdated, Windows-only or otherwise limited. This tutorial therefore explains the MPSSE basics and presents a simple SPI communication example for an FT232H controller using libftdi. ...

February 15, 2025 · 7 min · Johannes Pfau

Quick TFTP Recovery Setup

Sometimes you need to recover a bricked device via TFTP, but you probably don’t have a TFTP server available. So here’s how to quickly set one on your local PC. ...

January 18, 2025 · 2 min · Johannes Pfau

Running the TinyTapeout Flow Locally

Tiny Tapeout has a local hardening guide to build your design locally. However, the guide does not list required system dependencies and is a bit difficult to follow. This guide aims to be more complete. ...

January 15, 2025 · 4 min · Johannes Pfau

Verilator for Verilog Testbenches

Verilator has traditionally been used for co-simulation, with testbenches written in C++. With recent versions, it can now also handle pure Verilog simulation. Here’s how. ...

January 15, 2025 · 4 min · Johannes Pfau

Fedora Silverblue Tips

All in all, Fedora Silverblue is easy to use. Some things are however still more complex in Silverblue, so this post tries to give some useful hints. ...

January 14, 2025 · 2 min · Johannes Pfau

Setting up a Hugo Blog

Setting up a static HTML based blog can be a bit challenging, and deciding which software and theme to use even more! Hugo is a widely used and well-supported solution with some great themes. So here’s a quick start guide on how to set up a good-looking Hugo blog! ...

January 14, 2025 · 5 min · Johannes Pfau

Hello Blog World

Hello World! Time to start blogging again. ...

January 13, 2025 · 1 min · Johannes Pfau