Skip to main content

Posts

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.

Echo Generator for Microphones

This project is about a single-channel microphone echo generator circuit. This circuit builds around the Holtek HT8970 echo effect generator IC. It offers complete control of the echo effect by providing delay, mix, and output level adjustments.  HT8970 is an echo/surround sound effect generator IC with 20Kb SRAM. It also contains the built-in VCO stage, AD, and DA converters. The chip costs less than 0.5 US$ and is commonly available in the market. Prototype build of the echo effect generator circuit. The given schematic offers a maximum of 320ms time delay and works with a single-rail 9V DC power supply.  In addition to the HT8970 integrated circuit, this circuit uses an NJM4558 op-amp to amplify the input and output audio signals. HT7150 voltage regulator uses in this design to power up the HT8970 IC. The HT7150 is a low-power 5V regulator IC from Holtek, the same maker of the HT8970 IC. Top view of the prototype build. The circuit designs to work with 500Ω dynamic mic...

Universal HD44780 LCD interface

YALI ( Yet Another LCD Interface ) is an open-source project to provide a universal interface to drive the popular Hitachi HD44780 LCD controller. This module supports 3.3V and 5V MCUs and hardware development platforms, including Arduino, STM32, PIC, and ESP8266. YALI hardware module. The hardware module of this project consists of a 74HCT08 CMOS AND gate and a 74HC595 8-bit serial-in, parallel-out shift register. This module uses the MP1540 step-up converter to power the LCD unit connected to the system. The module has the jumper to select 3.3V or 5V DC power input.  Bottom side of the YALI hardware module. The YALI library is developed using C and is designed to be easily integrated with any C/C++ embedded toolchain. At the initial design stages, this library was successfully tested with all Arduino development boards, NodeMCU , STM32 Blue Pill , etc. The target system must have three digital output lines with 5V or 3.3V logic levels to interface with the YALI module. As m...