Compact and powerful DC driver using IRS2104

A few years ago, I wrote about the powerful DC motor driver based on IR2110. This construction appeared to be quite popular. This time I want to describe a much compact and simpler (but still very powerful) solution with IRS2104. This device can be used to control any power-hungry DC load like DC motors, heaters, and so on.

Electronics, Linux system development, Radio & antennas, Radioastronomy, Software

Satellite LNB controller with GUI interface

Satellite LNB are quite cheap and easy to get devices. There are different models for different bands (C, Ku, and Ka) with different characteristics like SNR, noise figure, etc. Typically those devices are used with TV Set-top boxes. More interesting is that LNB can be easily connected to an SDR receiver. LNB is a simple frequency down-converter with an output…

Continue Reading

Linux kernel, Software

Linux block device driver

My article about character devices is quite popular, so I decided to write something about another big class of devices in Linux – block devices. This type of device is used to access various storage hardware types – hard disks, SSD, etc. Here I want to describe blk-mq based devices in modern (>= 5.0) Linux kernels and a previous type…

Continue Reading

Electronics, Radio & antennas

Cheap single-component RF filters

Low, Band, and High – pass filters are major components when working with RF. Depending on the application, filters can reduce output noise and unwanted signals or limit a transmit signal to a pre-specified frequency band to prevent interference with other signals. Here I want to describe how to build simple and cheap single-component (ceramic) filters for your DIY projects.

Linux kernel, Linux system development, Software

C++ in Linux kernel

Linux kernel is written in C (and in Assembly in platform-specific portions) language. C language is the only allowed language to write kernel modules. And there is no problem, in most of the cases. But sometimes some stranger things may be required. Let’s see how to use C++ for the Linux kernel modules.