Basic idea of the XERC

The basic idea behind the XERC is to be able to turn on/off your XBOX by remote. The XBOX has the DVD dongle add on that lets you control DVDs and menus and such. The problem is, Microsoft wanted to make the XBOX as cheap as possible, and to avoid having to pay license fee for the dvd player for every xbox sold they chose to make the dongle and remote an add on. Now comes the problem; The add on is connected via the controller ports. The controller ports are USB, and they don't get any power when the xbox is off, thus the DVD dongle doesn't get any power and you can't turn the xbox on.
So that is the reason we have to have an add on like this.

What do we need for this?

To do this we need to decode and interpret the singals that the remote sends out. To do this we need a IR-module to recive the IR-signals and a small MCU to decode them. For this I initially chose the ATtiny15 because of the cheap price and the small size. Since then the ATtiny25/45/85 series, that has bigger flash memory and some sram than the ATtiny15, has come out and I have thus switched to using that MCU.

How do you turn the xbox on?

The front buttons on the XBOX are simple momentary push buttons. They are connected like this:

So what we see here is a Pull-up resistor pulling up the signal to 3.3V and then a push button that when pushed will connect the signal to ground. This is then connected through a signal resistor to a pin on the PIC/XYCLOPS. The PIC/XYCLOPS can then sense that a button was pushed when the pin goes from a high voltage to a low voltage.
To emulate a press on the button we can simply connect a pin on our mcu to the right side of the switch and simply ground that pin when we want to emulate a button press. The mcu just has to be able to sink 3.3V/10kohms = 0.33mA and that is no problem.

Info on remote protocols

There is allready a really good page on remote protocols so I'm not gonna dig further into that here. You can read about many types of protocols here. Unfortunately he has no info about the RCA protocol (and there is none to be found on the web). So I just sat down and wrote down what I have figured out. I sent him this page that I did with all the info and lets hope he puts it on his site.

Hardware of the XERC 2

The XERC 2 is built arround the attiny45 mcu. It is a pin compatible upgrade from their attiny15 mcu. But the pin compatibility is pretty much everything they have in common, the new attiny15/45/85 series a much better architecture and can thus perform more complex tasks. This is the brains of the XERC 2, it recieves and decodes the signal from the IR-module and controls all output signals.

Schematic and parts:

And here is the part list:

Part ID Description Comment
C1 4.7uF electrolytic capacitor -
C2 0.1uF Ceramic Capacitor -
R1,R2,R4 10kOhms resistors -
R3 100ohms resistor -
Q1 2n3906 PNP transistor -
U1 ATtiny45 -
- TSOP32156 IR-module 2.7-5.5V supply voltage.
- 8-pin dip socket Socket if you want to be able to
to remove the ATtiny45.
- LED If you don't want to use the
eject led in the xbox.

ATtiny15/25/45/85 ISP programmer connection:

This is how the ISP programming header is connected to the attinyx5 series.

Source code and precompiled firmwares

You can download the source here. You will also find precompiled hex files there.

Editing/compiling the code

There are many different editors and compilers for assembler code for the atmels. I used Atmels AVR studio that is free.

AVR studio 4

AVR Studio 4 is an easy to use editor and compiler. It has most of the functions that you could want and an excellent simulator that will come in handy when simulating your additions to the programs. To compile (and edit) you xerc code you do like this:

AVR tools can be downloaded here.

Programming the MCU

After you have compiled/downloaded a hex file you need to program the mcu with it. To do that you'll need a programmer and some programming software.

Recommended programmers

There are a ton of different AVR programmers out there. I'm just link you to some easy and cheap ones I have found and if you want more info you can always visit avrfreaks.

Recommended Software

There is also a hoard of programming software for AVRs, but not that many that are free and up to date. The best open source free programming software out there is without a doubt avrdude.

© 2007—2019  SICKmods