Skip to main content


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 microphones.
Recent posts

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 menti

6-channel speaker selector

At the beginning of 2018, we developed the first version of the 6-channel speaker selector using PIC16F88 MCU and ULN2803 Darlington transistor array. In this new design, we redesign it with low-cost MCU and Darlington transistor arrays. This design also provides the same functionality as the 6-channel speaker selector switch we designed earlier. This new speaker selector uses STC15W201 MCU. This MCU is a low-cost 8051 MCU designed by STC micro . At the time of this writing, the STC15W201 can obtain for less than US$ 0.8. To drive the seven segments and to control the relays, this design uses the popular 74HC595 8-bit shift register ICs. PCB of the 6-channel speaker selector. To select each speaker channel, we use pair of 12V DPDT relays. These relays interface to 74HC595 through a ULN2001D 3-channel Darlington transistor array IC. This 3-channel Darlington driver IC is functionally equivalent to the famous 8-channel ULN2003 IC. This ULN2001D version is an 8-pin IC and is av

5.1 channel analog audio processor

In this project, we developed a 5.1-channel analog audio processor using PT2322 IC. PT2322 is an inexpensive analog audio processor introduced by Princeton Technology Corporation . It contains 6-channel individual channel attenuators, a 3-way tone control system for front-end speakers, and a 3D audio simulation system.  Assembled 5.1-channel audio processing board. In this design, we combine PT2322 with Arduino Nano and interface it with PC/embedded computing boards through a USB port. Native GTK UI application provides to control all functions of the PT2322 IC. The Arduino Nano can directly plugin to the PT2322 module. There are three push buttons on the panel itself to control the volume and mute the audio. To reduce the cost and minimize the PCB size, we use both SMD and through-hole-type components in this PCB. The dimension of the PCB is 59mm × 60mm. The PCB of this module can directly order from the PCBWay project page . Using the PCBWay service, you can order high-qual

Onkyo PE-C50 stereo graphic equalizer repair

A few months ago, I received this Onkyo PE-C50 stereo graphic equalizer from a friend because it was not working. He gave me this equalizer for free because he was planning to discard it due to some problems with its controls. Front panel of the Onkyo PE-C50. The Onkyo PE-C50 is a vintage, 7-channel, stereo digital graphic equalizer. This unit is manufactured in Japan and operates on 110V AC power only. Front panel controls allow me to adjust each channel separately or simultaneously. This unit also got 5-channel preset memory to save graphic equalizer settings. Besides a graphic equalizer, it comes with an attractive 2×7 channel spectrum analyzer. At initial testing, I found that the unit's controls and spectrum analyzer would randomly stop working. After controls at the front panel freeze, I have to restart it to get it back in working condition. PCB of the Onkyo PE-C50 graphic equalizer. To troubleshoot, first, I try to find the service manual for this equalizer, but I couldn&

Virtual electronic finderscope for the Stellarium

StarPointer is a virtual electronic finderscope for astronomical telescopes. This device works with Stellarium and helps the observer identify objects in the sky.  Prototype version of the StarPointer sensor kit. This unit can be attached to the telescope without modifications and connects with the computer through the USB port. The StarPointer uses a few onboard sensors to determine its angle and position. After obtaining that information, the unit calculates the RA (right ascension ) and DEC (declination) coordinates of the telescope and transfers those details to the Stellarium. The StarPointer builds around the STM32F103C8 microcontroller, ADXL345 3-axis accelerometer , and HMC5883L 3-axis magnetometer . This unit communicates with the PC using the inbuilt USB peripheral of the STM32F103C8 microcontroller. The firmware of the StarPointer is developed using the LibOpenCM3 library and built using GNU ARM Embedded Toolchain . This unit can attach to any astronomical telescope or bi

Portable Image File (PIF) library for Lazarus and Delphi

Portable Image File (PIF) is an embedded-systems friendly, bitmap-like image format with ease of use and small size. This image format develops by the gfcwfzkm ( aka Pascal ) for low-end embedded systems. The file format and PIF's original implementation are available at . In this project, I developed an open-source library for the above file format to get used in Lazarus and Delphi programming languages.  This PIF library supports Windows and Linux operating systems, including Raspberry Pi OS . Sample application in Linux environment. The library is available at .  The library methods are self-explanatory, and sample projects are available for Lazarus and Delphi . For example, the following code block demonstrates opening the Portable Image File and displaying it on the TImage . var pifObj: TPortableImageFile; begin pifObj := TPortableImageFile.Create('sample-image.pif'