Skip to main content

Posts

Showing posts from 2024

Building an experimental monolithic kernel

In this blog post, we will walk you through the process of developing a monolithic kernel call tinyOS from scratch by following tutorials from JamesM's and Bran's Kernel Development guides. This includes setting up a cross-compilation toolchain, writing assembly and C code for the kernel, creating an ISO image with GRUB , and testing it in a virtual machine (VM) using VirtualBox . Since some resources are no longer available, we will also provide alternative solutions and details on the entire process. There are several kernel development tutorials available on the internet, but JamesM's tutorial stands out as more organized and comprehensive, covering a broad range of features. I followed this tutorial a few years ago, but unfortunately, the original site is no longer accessible. Thankful to archive.org, the content is still available , and the full source code can also be downloaded from the site . tinyOS in GRUB menu. Before diving into the kernel development, we need...

Adapting HX711 modules for 3.3V Operation

The HX711 is a versatile integrated circuit (IC) designed for precision analog-to-digital (A/D) conversion, particularly suited for strain gauge load cell applications. It features a 24-bit A/D converter with a differential input stage capable of handling both single-ended and differential input signals. Additionally, this device offers adjustable gain amplification to accommodate various load cell sensitivities. HX711 module. A common module based on the HX711 available in the market, including on AliExpress , is shown below. This module utilizes its internal analog supply regulator, which ensures a stable analog supply (AVDD) for the ADC and other internal components. The output voltage of the regulator (AVDD) is calculated using the following formula: V AVDD = V BG × (R1 + R2) / R2. AVDD voltage test setup. According to the electrical characteristics listed in the datasheet, the reference bypass voltage (V BG ) is 1.25V. For the modules mentioned, R1 is set at 8.2kΩ and R2 at 20k...

Alarm unit for limit switches or flow switches

Have you ever faced the frustration of dealing with an overflowing tank or a pump running dry? These unexpected events can result in costly damage and inconvenience. A reliable floater switch alarm system can provide early warnings, allowing you to take prompt action and prevent further issues. This project guides you through building a do-it-yourself floater switch alarm system using a PIC12F508 microcontroller. The circuit for this project is relatively simple and requires very few components. The system is designed to operate with a 12V DC power supply and utilizes a 230V AC buzzer unit for audible alerts. Prototype version of the alarm controller. The circuit includes a mute function that allows you to temporarily silence the alarm for a specified duration. Additionally, a built-in timeout mechanism ensures continuous alarm activation if the floater switch remains closed for an extended period, indicating a potential emergency. This project is suitable for various applications, in...

RDS Data Extraction with RFtap and Wireshark

RDS ( Radio Data System ) is a communication protocol standard used for embedding small amounts of digital information in traditional FM radio broadcasts. It enables radio stations to transmit data such as station identification, program information, and traffic updates.  To capture and decode RDS data, one method involves using a Software Defined Radio (SDR) along with GNU Radio and RFtap . GNU Radio provides a framework for creating software radios, while RFtap acts as a bridge between GNU Radio and conventional network monitoring and packet analysis tools like Wireshark . Decoding RDS data using Wireshark. Unfortunately, as of the time of writing, RFtap is no longer being maintained and does not work with the latest version of GNU Radio (version 3.10.10). This post offers guidelines for rebuild and using RFtap with the new GNU Radio release. This post assumes that the reader has access to DVB-T dongles based on the Realtek RTL2832U and a PC running Ubuntu or Debian Linux. For ...

Another Pioneer PL-250 restoration

I recently had the opportunity to work on another Pioneer PL-250 turntable. The previous owner was having an issue with the platter moving back and forth without continuously rotating, which can be a frustrating problem to deal with.  After a quick inspection, I found that the issue was caused by some faulty electrolytic capacitors (3 × 470µF) near PA2005 and a bad bridge rectifier. These components were preventing the platter from spinning smoothly in the right direction. Fortunately, I had the necessary replacement parts on hand, so I quickly swapped out the bad components. Once the new capacitors and rectifier were in place, I gave the turntable a full service to ensure that everything was working as it should. After completing the repairs and maintenance, I tested the turntable and was pleased to see that it was now spinning smoothly and continuously in the correct direction.