Background Information

There is the LIRC package and some ports to phones, so I planed to make this project using LIRC. I used LIRC for my home-theater but not for sending but for receiving. However recently I installed a android app on my phone and a mouse keyboard server on the home theater so there is no more need to control the home theater using a IR controller.

The next step was using the phone to send out IR signals to control all other equipment, but the phones have no IR transceiver. First I did very fast promising progress with LIRC on PC's and LIRC apps on Android, then I spent too much time struggling with the details and finally gave up since:

I tried hard with LIRC but when I had resolved the problems I had to ask myself the question: Why do I really need LIRC at all and what could I use from LIRC for this project. The also for me sad conclusion was: Almost nothing from LIRC remained.

For this project I ended up with a new transmitter design. I did not optimize it too much for cost since I want that I can maintain its code and interfaces and use it also in the future. So I use a virtual com port on USB with a FTDI chip and a AVR microcontroller programmed in C using GCC. The data passed is pure line terminated ASCII so the transceiver can be tested and debugged using any terminal program. Unfortunately the AVR processors are 8bit products and without complicated semaphore programming to have no troubles with the interrupts some limitations occur. Buffer size is limited to 256Bytes, number of characters per line of ASCII is limited to 256 bytes from and time values can just be between 0 and 255. An other processor family as the STM32 would help here. However living with these limitations from the 8bit AVR also the 20% of my devices that I did not manage to control using LIRC where now under control and for the hobbyist AVR are available in DIL case ready for breadboarding.

LIRC transmitters got evolutionary developed and had names as uir_man, uirt, uirt2 and usbuirt. I did a lot of tests with those transceivers documented in the interned using my fast prototyping platform Elecx After not really be happy with those transceivers I exchanged the CPU with a ATMEGA 324P DIL processor and did a complete redesign of the transceiver SW. Finally I ported it to my smaller prototype platform AvrStk using a ATMEGA328P processor and called it girt (Gnu Infrared Transceiver).

On the sample I had to replace a small Avr with the bigger ATMEGA328P therefore some resin around the chips is on the photo. I also had no small logic level FET so I took a large FET.

It would be nice to harmonize this project with LIRC or have LIRC supporting girt, however my interest is to little to give priority to this task.

Linurs startpage