Here is the situation:
Recently I got a 70 cm widescreen television for free, it was broken
but I fixed it with 12 cents worth of parts.
I decided to place the television at the other side of the computer
room, you know, the side where the computer is not.
Now I had a problem, whenever I wanted to watch a movie the
channels are all wrong!
Front-left became became rear-right, front-right became rear-left and
Luckily my receiver has some extra buttons on the remote and an output
at the rear to control either a minidisc player or a dvd player.
Some poking around with the oscilloscope revealed a ttl output at about
Since microcontrollers usually work at 5 volts I could hook up the
output directly to a microcontroller pin, read out the data and use
that to switch some relays.
First I made the schematic:
The microcontroller is a 4 mHz 16F84A, it reads in the data at 1000
baud on pin A0, the data consists of 1 startbit and 32 databits.
Pins A2 and A3 are connected to +5 with pull-up resistors, when pin A2
is made low (with a button for example) and a button on the remote is
the microcontroller stores the 4 databytes in it's eeprom and uses that
to detect whenever that button is pressed, it then turns on the relay.
Pin A3 programs the button to turn the relay off.
Here you can see the pcb alreade built into the receiver.
The screw connectors are there so I can change the configuration of the
channels without having to resolder a lot of wires.
I could just switch the speaker outputs with the relays, but that would
be very impracticle since my front speakers are 6 dB louder than my
There was only ony solution, switch the channels at line level before
the signal reached the volume control.
Luckily Onkyo decided to place some smd electrolythic capacitors to
protect the digital potentiometer from any DC (I have no idea why, it
shoudn't be needed),
so I had some nice pads to solder wires to.
Here you can see the pcb of the receiver, with wires and new capacitors
Here you can see an overview of the receiver with the channel switcher built in.
If you want the code for the microcontroller, you can download it here: Click
You can contact me at: email@example.com (remove the _ and n0sp4m parts).