Designing a cheap two-port vector network analyzer with good measurement accuracy.| Henrik's Blog
Designing a cheap synthetic aperture radar mounted on FPV drone.| Henrik's Blog
Soldering a PCB directly on top of another to fix incorrectly wired SD card connector.| Henrik's Blog
The new SDXL 1.0 text-to-image generation model was recently released that generates small artifacts in the image when the earlier 0.9 release didn't have them.| Henrik's Blog
Very small movement can be measured with radar by looking at the phase change of the received signal.| Henrik's Blog
Short introduction to multiple input multiple output (MIMO) radar antenna arrays| Henrik's Blog
Even better focused homemade SAR images with timedomain backprojection algorithm and automatic differentiation based autofocus.| Henrik's Blog
Differentiable synthetic-aperture radar image formation with Tensorflow. Including very fast image formation and autofocusing utilizing GPU.| Henrik's Blog
New and improved version of the 6 GHz FMCW radar with two receiver channels.| Henrik's Blog
Measuring transmission line parameters of 50 ohm microstrip on OSH park 4 layer process and S-parameters of 1 nF SMD capacitor.| Henrik's Blog
Second version of the homemade 30 MHz - 6 GHz VNA with improved performance| Henrik's Blog
Next on the list of homemade RF test equipment is RF power meter. I decided to make one to calibrate the output power of my VNA and to also measure output power of the previous radar projects.| Henrik's Blog
Vector network analyzers are used to measure high frequency circuits, unfortunately they are too expensive for student budget so I decided to make one myself for small budget.| Henrik's Blog
Phase of the radar baseband signal is very sensitive to movement allowing to detect small movements caused by breathing and heartbeat.| Henrik's Blog
Second version of the 6 GHz FMCW radar now with SAR images| Henrik's Blog
Designing and fabricating better antennas for the radar| Henrik's Blog
Making a cheap and simple radar with a range of about 100 meters.| Henrik's Blog
Designing and soldering a small ARM Linux board with 217 ball BGA package and 0402 passive components| Henrik's Blog
I made a small tool to automatically convert a BSDL file to KiCad library.| Henrik's Blog
While I was looking at some audio effect circuit schematics at the internet, I though that it would be nice to try to simulate them SPICE first and listen them, before building them to confirm if they sound good or not ...| Henrik's Blog
Nowadays many of the most "exiting" chips come only in leadless packages, such as BGA and QFN which are hard or impossible to solder just by soldering iron, because leads are under the chip where they can't be reached. These kinds of chips are usually soldered using reflow soldering ...| Henrik's Blog
Ionizing radiation is something that almost anyone finds exciting (or scary) and I've also been for long wanted to build a Geiger counter| Henrik's Blog
PIC16F84 is old 8-bit microprocessor made by Microchip. It was once very popular among the hobbyists, because of its low price. It was the first microprocessor I started to use so I thought it would be fun to try remaking it in VHDL. The source code is open source and …| Henrik's Blog
Some time ago I needed an UART for a project. Things it needed to do were very simple and I didn't want to add a microprocessor to use UART and instead decided to just code a simple finite state machine to use it. But I couldn't find a simple UART …| Henrik's Blog
The other day I was coding an FPGA design that needed a source of normally distributed random numbers. Uniformly distributed random numbers are fairly easy and cheap to generate with a linear feedback shift register, but generating normally distributed numbers is a harder problem. There are several ways to generate …| Henrik's Blog
If you haven't been reading my last entries, I have been working on a program that tries to design a circuits using genetic algorithm that fulfill the requirements given by the programmer. Read this entry for an overview what the program does and how it works. In this post I …| Henrik's Blog
I have been writing a sparse matrix library for few weeks and for it I needed a algorithm for converting from coordinate list form(COO) matrix to compressed sparse column form(CSC). All of the algorithms that I found allocated space for the CSC matrix and freed the COO matrix …| Henrik's Blog
In my first post about my evolutionary circuits project I wrote about an evolved BJT inverter. I have since that post written some new features in the program. Now it can measure the current taken from logic input and the power supply, so the last best solution where the transistors …| Henrik's Blog
In my previous post I wrote about a circuit that would change it's output depending on what was the spice simulations DC sweep range. Today I investigated the circuit a little and I was able to remove lots of components that didn't affect the bug and this is the resulting …| Henrik's Blog
I've been playing with the electronic circuit genetic algorithm design program. I have tried to make some stable bandgap voltage references, so far results have been promising, but not very good. None of the resulting circuits could be used in a production, except if you don't care much about the …| Henrik's Blog
I've been working for a while on a program that automatically generates analog electronic circuits using evolutionary algorithms. It's still very much a work in progress, but I've used it to generate some useful circuits. Current workings of the program is as follows: Programmer decides a goal function, possible constraints …| Henrik's Blog
In Python it's possible to redefine some builtin values that shouldn't really be changed. For example True and False can be changed in Python versions 2.7 and lower. This is fixed in Python 3 and assignment to True or False raises: "SyntaxError: assigment to keyword" but it works on …| Henrik's Blog
This is a blog about electronics, computers and mathematics. I'm thinking about writing for example: VHDL, FPGAs, general electronics, LaTeX, programming, pitfalls in Python and lots of other stuff. Recently I have written a program that uses evolutionary algorithms to autonomously design analog electrical circuits. I have had some success …| Henrik's Blog
Designing a modern pulse compression radar that uses digital signal processing.| Henrik's Blog