Monday, September 11, 2017

Network cable tester

This is an automatic Cat6 / Cat5 network cable tester designed using NE555 timer and 4017 decade counters. This unit test all 8 wire lines of twisted pair network cable and indicate pass/fail status with single LED.

We design this unit to test network connectivity issues in Cat6 / Cat5 cable systems and it is capable to check both crossover and straight-through type network cables.

Prototype version of network cable tester.

The recommended way to construct this circuit is on PCB. Both Master and Salve units need to be build on two separate boards. To perform test one end of the network cable must connected to the Master unit and other end need to be connected to the Slave unit. After connecting both Master and Slave units press "START-TEST" (S1) button to perform the test. Status of the cable is indicated through LED2 (PASS indicator).

PCB and schematic of this unit is available to download at and

Sunday, August 13, 2017

Restoring Sony STR-AV780 AV receiver

Sony STR-AV780 is a combined receiver and audio/video control center. This receiver is manufactured by Sony in around 1986 and it is capable to deliver 2 × 80W audio output power with 8Ω speaker load.

The STR-AV780 which I got had two problems. First problem is in power amplifier stage and it produces distortion in high frequencies. The second problem is in FM radio receiver and it is completely dead.

Power amplifier of STR-AV780 is based on two Sanyo STK4042 XI AF power amplifier ICs. To fix the distortion issue we replace all the electrolytic capacitors in both STK4042 power amplifier boards. After replacing capacitors distortion issue got fixed and power amplifier starts to produce clear output waveform.

The FM receiver of this AVR is mainly based on 2 ICs. For IF stage it uses LA1235, and to demodulate FM stereo signal it use LA3401. Apart from that Sony CX7925 is used as PLL frequency synthesizer. The front end of FM tuner is based on couple of transistors and FETs.

To fix FM receiver we inject FM test signal into receiver and check each stage of the FM receiver. Based on VCO output (of CX7925) and FM front end output we identify LA1235 as faulty component. After replacing LA1235, FM tuner starts to work again.

Fixed AV780 mainboard - tuner stage.

Due to weak nature of PCB copper tracks we attach LA1235 into main PCB through an IC base.

After replacing all above described components we clean and repaint the entire AV receiver.

During test stages we check this receiver with several speaker setups. Out of all the speakers this receiver performs extremely well with our Pioneer CS-707 speaker system.

Due to lack of service manual / schematic Sony STR-AV780 is quiet difficult receiver to repair. We trace and fix components of this receiver based on PCB layout and IC data-sheets.

Tuesday, July 25, 2017

Yet another CXA1191 FM radio receiver

This is simple, but very high quality CXA1191S based FM radio receiver system. In this design we use Sony CXA1191S as FM tuner and TDA2003 as an audio amplifier. This receiver system is designed to work with 12V DC power source and it delivers approximately 6W audio output power (with 4Ω speaker load).

The core component of this receiver system is CXA1191 FM radio IC, and for this design we use 30 pin version of CXA1191 (which is known as CXA1191S) because its commonly available in electronic component shops (and in eBay). Due to less availability of IF transformers we did not use any IF transformers in this design, and only the FM section is used in the IC. (AM section of the IC is ignored due to unavailability of broadcasting stations in here in Sri Lanka)

Prototype version of CXA1191S FM radio receiver.

Compare with most of the FM radio ICs this CXA1191S receiver offer very good selectivity and higher sensitivity. After adjusting (all inductors and trimmers) we were able to get all FM stations from this receiver with 15cm wire antenna.

PCB is the most recommended way to construct this circuit. Given PCB design is 115mm × 61mm and all PCB and schematic diagrams are available to download at

Friday, May 19, 2017

8-bit assembler compiler project

This project is an assembler compiler to generate binary executable for 8-bit x86 like CPU systems. This compiler can parse NASM style assembler code and it compatibles with Marco Schweighauser's javascript 8-bit virtual CPU.

Compare with Marco Schweighauser's javascript compiler this compiler parse almost same assembler code and generate almost identical executable code. The only difference in this parser is that all the operands are separated by white space(s), and not with the comma ( , ).

 jmp start
 db "Hello World!"
 db 0

 mov c hello
 mov d 232
 call print

 push a
 push b
 mov b 0
 mov a [c]
 mov [d] a
 inc c
 inc d
 cmp b [c]
 jnz loop

 pop b
 pop a

The output generated by this compiler for "Hello World" sample is listed in below and it can execute directly with Marco Schweighauser's 8-bit virtual CPU.

0000    1F0F 4865 6C6C 6F20 576F 726C 6421 0006  
0010    0202 0603 E838 1800 3200 3201 0601 0003  
0020    0002 0503 0012 0212 0315 0102 271F 3601  
0030    3600 3900   

This compiler is implemented using Lazarus / FPC and it is designed to work with different operating systems including Linux and Microsoft Windows.

This 8-bit assembler compiler is an open source, free software project and it is released under the terms of GNU GPL version 3.0 license. All the source codes and Linux based binaries of this project are available to download at