I have been using my uni-t ut804 bench multimeter for a while. My current tasks requires collecting different kinds of measurements for further analysis. I decided to connect my multimeter to a computer for data capture.
Initial analysis of the Starlink router gen2
It was fun to do reverse engineering of the original Starlink router. The article was also well received. Sure, it would be great to do the same thing with the new Starlink router gen2. It’s not easy to get new hardware, but why should this stop the fun?
Who’s following me on Twitter probably knows some details. I believe this is my most expected article. Last year I came up with the idea to build a wideband SDR. It’s fun to monitor a wider spectrum and some signals. Sure, USRP is cool but too expensive for amateur usage. I had a few HackRF boards, so I ordered more…
Hacking Bluetooth speaker/FM radio firmware
I have a little Bluetooth speaker/FM radio. This speaker is not perfect, but it is nice for its price. Except for a few annoying things regarding sound notifications. I decided to “fix” those issues. A little bit of reverse engineering was involved.
Small satellite dish with rotator
Receiving and analyzing radio signals is fun. Receiving satellite signal is even better. A few years ago, I had a nice 3m satellite dish with a hydrogen line receiver. Now I have only a small balcony with limited antennas placement ability. I decided to build a custom 40 cm dish with a servo-based rotator. Sure, it’s impossible to receive weak…
Writing a PCI device driver for Linux
In this article, I want to discuss some basics of the Linux PCI/PCIe drivers development. I think this issue is not properly covered, and some existing information is might be outdated. I will show basic concepts and important structures, and this is might be a good beginner guide for newbie driver developers.
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…
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…
C++ in Linux kernel
Linux kernel is written in C (and in Assembly in platform-specific portions) language. C language is the only language allowed to write kernel modules. And there is no problem in most cases. But sometimes, some stranger things may be required. Let’s see how to use C++ for the Linux kernel modules.
RS-485 practice and theory
I just built two RS-485 adapters (version 2) and decided to write a little note about the RS-485 bus (and differential line) theory, plus perform some testing of the devices. This material mostly interesting for newbies. At the end of this article, you can find a funny way to test these devices 🙂