Archive for March, 2009

iPod Touch as Universal Remote

For some time (actually several years), I’ve been looking for what I consider to be the ultimate universal remote control. So far I haven’t found any.
After some thinking, I came to the conclusion to try and make my own. After some research, I’ve decided to try and “transform” a iPod Touch into a universal remote control.

This is the main parts of the project:
iPod Touch
This part of the project is the software on my iPod that is going to control and send IR codes. For this I need to jailbreak a iPod Touch to get serial i/o access (if only Apple could allow developers serial access to access external devices).
For version 1.0 I’m thinking about these features:

  • XML Parser
  • Serial I/O
  • A basic UI with some icons and sub-menus to control the devices. All this is to be read from a xml config file, including IR codes.
  • Handshake code to talk to my microcontroller
  • Code to send different IR codes to my microcontroller
  • Battery status?
  • A home made iPodserial cable

Microcontroller:
The microcontroller is going to consist of the following parts:

  • AVR 8Bit Microcontroller with picoPower technology (I want max duration from my battery)
  • A Serial port
  • An IR Transmitter
  • Battery
  • Breadboard or something to assemble it all on

Microcontroller code
To begin with, this is going to be written in C if possible. First I want to make a “proof-of-concept” code to transmit some hardcoded IR codes to make sure I can get this to work. Afterwards the remaining code will be implemented. So the main part of the code will be:

  • Serial interface
  • IR Interface
  • Main loop that listens on the serial interface. If it recieves a valid IR code (determined by SOM and EOM), it will send it out the IR transmitter, and then send back an ‘ok’ signal.
  • Enter power-save mode after 20 seconds, with an interrupt on the serial interface to wake on data
  • Handshake and possibly battery status code

If all this goes according to plan, I’m looking to add more functionality like:

  • Bluetooth support (mainly to controll my PS3)
  • WiFi support (to control lights and other stuff that uses WiFi)
  • Menu editor

Unfortunately I don’t got too much spare time now, so to begin with I’m going to play around with the iPod/iPhone SDK and make some basic UI and stuff to see what I can do.

Well, I’ll keep you posted, but it’ll probably be a while until next update…

Comments (1)