Turn your phone into an universal remote control
This short tutorial shows how to turn almost any cellphone into an universal IR remote control.
CHECK GoogleCode page for downloads and updates
Old post (with detailed instructions about how to build hardware)
Why it should work also on non-stereo cellphones (but it does not?!?) (see also excel file)
Useful links (explanations of remote control protocols)
Other uses for old phones
Available patents (not mine):
Infrared generator from audio signal source
IR receiver using IR transmitting diode
Ready-made transmitter: irDroid
http://www.irdroid.com/purchase/
Requirements:
– a cellphone with stereo audio output (audio left , audio right , ground) or symmetrical audio output (audio+, audio-)
– 2 IR leds
– a wired headset compatible with the phone
– a PC with audio card
– an audio recording software on PC
– an audio editing software for PC or an audio sinthesyzer software for PC
This project does not depend on O.S. used: you just need ANY computer capable of recording audio and create audio files from scratch. Linux, Windows, MacOSX or whatelse makes NO difference.
Please look at this post to know how to:
– build an IR receiver for the PC
– sample a remote control
– (create a WAV file using Audacity program) (not strictly needed: this article describe an alternate method).
Once you sampled all needed buttons of your remote, it’s just a matter of building a proper WAV file for each one of them. If you don’t want to use Audacity to do it manually, you can use SOX program: it creates pieces of “raw” audio file, which joined together build up the final WAV file.
Here you find example scripts (for DOS/Windows environment) which build a WAV file based on binary description of the remote signal. You have to setup the unizeri.bat file to have it matching the sampled signal. Then call create.bat specifying as parameter the “creator file” (unizeri-raw, or unizeri-tv,… ), the final WAV file (testbutton) and the number of additional times you want the command is repeated (at least ONE occurrence will be alway created):
create unizeri-raw testbutton 4
(no extensions required for filenames) (NOTE: script must be run inside SOX folder).
This will result in a tesbutton.wav file which, played on a phone (or on PC, or on any audio capable device), equipped with audio-to-IR converter, to control your device.
The audio-to-IR converter:
It is just a couple of LEDs connected in oppopsite ways to “audio output left” and “audio output right” (for normal phones) or to “audio+” and “ground” (for phones with symetrical audio output like nokia 6680). In symetricl ouptu, Left- and Right- must be connected together (see below).
Audio-to-IR converter:
Connections for nokia 6680:
(10 Ohm resistor not strictly needed)
—————————————————-
Study about physics/optical phoenomena involved in this project:
Excel file – how to play a 38000 Hz “sound” through a 20000Hz-capable audio device
Big image summarizing Excel data
————————-
Forums about Ledrem:
Italian:
English:
Ciao,
ho notato che il nome del file all’interno del .zip e’ unizeri-raw.bat e non unizeri.bat, quindi ti conviene o modificare la guida o il .zip altrimenti ci si smarrisce per un po’.
Inoltre se io scrivo:
create unizeri-raw tasto5 3
mi crea il file tasto5.wav ma con 3+1 pressioni del tasto e non 3 (praticamente ne mette 1 in piu’).
I’m sorry for my bad english.
Oper.
Grazie per l’appunto sul nome del file.
Quanto al numero di ripetizioni errato… lo so, e’ che non so come sottrarre “1” a un numero in un file batch… per cui vanno considerate come le ripetizioni IN PIU’: almeno UNA volta il comando è necessario, le ripetizioni servono per i dispositivi un po’ “duri d’orecchi”.
Cmq ora sistemo i file batch, erano un po’ rozzi…
[…] Pubblicato da jumpjack su 20 Maggio 2008 ===>> New updated post […]
its not working like this on my Nokia n80 because if i connect it like this my nokia not reconise the head setif i connect it with a normal stereo 3.5mm jack i get to hear the signal in the earphone but if i connect the led i get no signal there do you know which phone i can use to play the wav file and connect normal stereo 3.5mm jack ??? please help
Gerhard, you could try using a spare headset, by replacing speakers with leds. That’s what I actually did, rather than directly connecting to pins; I did so because I wasn’t else able to connect to such small pins… but maybe this way I “overrided” the issue of phone not seeing any headset connected?!?
i tried also this trick but then only one led light up
Maybe your phone is not compatible at all with this method…
I found a list of possible nokia candidates for this project: they all support pop-port (the one on my 6680, which works fine) and they support WAV format, and as per TastePhone database they should also support j2me and even jsr-120 (send/receive messages):
*Nokia N72
*Nokia 3250 XpressMusic
*Nokia 5500 Sport
*Nokia E50
*Nokia E61
Nokia E61i (no data on TastePhone DB)
*Nokia E70
*Nokia N73
Nokia N80 (no data on TastePhone DB)
Nokia N91 (no data on TastePhone DB)
Nokia N92 (no data on TastePhone DB)
Nokia N93 (no data on TastePhone DB)
Nokia N93i (no data on TastePhone DB)
Nokia 6110 Navigator (no data on TastePhone DB)
Nokia 6290 (no data on TastePhone DB)
Nokia E90 (no data on TastePhone DB)
Nokia N76 (no data on TastePhone DB)
Nokia N95 (no data on TastePhone DB)
Nokia 7710 (no data on TastePhone DB)
Older:
*Nokia 3230
*Nokia 7610
*Nokia 6630
*Nokia 6680 (DIRECTLY TESTED)
*Nokia N70
*Nokia N90
I don’t know at which price they could be found!
not working with N80 and N82
Recording remote signals were perfect and the waves were reproduced according to the method given.
But the tv responds only when i replay the audio from an ipod. N95 was not working.
I used an amplifier before connecting to the ir leds. The amplifier works with the ipod. I tried to receive the signal on the computer using an N95 to send it and it shows a lot of noise due to which the receiver is not recognizing the codes. But with an ipod the re is no noise. Does anyone know the reason?
Which other phone can i try?
I’m trying to create a WAV file using LEDRem from a LIRC config file, but have a problem, all the codes are in Hex format, and I believe you program requires Raw Codes, how can I convert from Hex to Raw so that the program will work?
(The remote in question is a Philips 32PFL5403D)
Your help with this would be greatly appreciated.
Unfortunately you have to do it by hand, using Windows Calculator (or any other calculator program capable of converting from base 16 to base 10).
Example of lircfile accepted by lirc2ledrem:
http://code.google.com/p/ledrem/downloads/detail?name=Provalirc.conf&can=2&q=
Cool, I had figured something similar, but I think there is a little more to it. For example I take the Hex code 0x0EFFF3 (Power), and convert to base 10 (decimal)which equals 983.027.
This does not look like a Raw code, am I missing a trick?
It’s much too big!!
Where/how did you get such values?
The 0x0EFF3 comes from the 32PFL5403D/12 conf file off the LIRC database.
I plugged this into http://www.easysurf.cc/cnver17.htm#b16tob10.
This is a RC6 protocal remote, so I’m not certain how the conversion would go?
That file can’t be in any manner translated into RAW lirc or ledrem format, which describes durations of signal bursts and signal pauses: those code are specific for RC6 protocol, and used by LIRC to rebuild the signal waveform.
I don’t temember if LIRC or others are capable of converting from a LIRC format to another. Maybe TONTO program? It is very complex, but maybe you can use it to determine graphically how waveform for each channel would look.
http://giantlaser.com/tonto/
Else, you can sample your remote by hand as described in the blog.
Thanks for the advice, I have also just sent a message to a RC5/RC6 Protocol Expert in the hope that he might be able to help in providing an answer to this mystery.
I should explain that I’m an Aerospace Engineer, and not afraid of good challenge.
So many IRemotes utilise the Philips protocols so if we can crack this it would mean that the vast majority of LIRC conf’s could be converted into a ‘audio library’.
I’ll keep you posted when I have more.
That’s why I asked you to sample a couple of keys of your remote: maybe by comparing waveform to hex code we could figure out how codes are built.
I collected some links about RC6 protocol, months ago.
I don’t remember quite anything about them 🙂 , but maybe you want to take a look at them:
http://www.picbasic.nl/projecten_uk.htm
http://www.picbasic.nl/rc5-rc6_transceiver_uk.htm
http://www.guiott.com/wrc/RC6-0.html
http://www.guiott.com/wrc/RC6-6.html
Ok, I have made some progress.
Basically this can be done by starting with Pronto Codes, and the Pronto2LIRC python program to converts this to LIRC Raw Codes which when LEDRem comes in.
I’ve done a dry run on an RC6 device code, and got a very plausible waveform, but not yet found the right one for the TV.
Trouble is, without a Pronto handset it is taking a while to find the code with ProntoEdit, and no one at http://www.RemoteCentral.com has been able to help yet. I’m hoping that the guy who put me onto Pronto might be able to help with how best to track down the right codes.
Can you send me a wave file obtained from sampling your actual remote and a wave file obtained from pronto data? (even if it’s not the same key)
I can indeed, do you have some contact details?
[…] что описано в данном уроке, не является открытием, и описано довольно много где, и даже […]
hi
We tired this project we have any question.
The first of all we tired project in a PC. Receiver connection is working well but transmit schmatics is different the cell phone.We make it
—————L+——–I——-I>I——-I
I——-I<I——-I
I
I
Z
Z 10 ohm
Z
I
I
—————-R+————————-I
it's true or false ?
[…] World’s cheapest remote control replicator: just 1$ !Turn your phone into an universal remote control […]
Hello!
I know this is an old post, but I have to try my luck.
A friend of mine lost the remote for a “44 button RGB LED Controller”
I found online the codes for the buttons : http://blog.allgaiershops.com/2012/05/10/reversing-an-rgb-led-remote/
How can I control the LED Controller with my PC?
If I make the little audio jack + IR Led thing, plug it in my laptop, and somehow convert the waves, will it work?
Can you help me with it?
Give it a try and let me know if/how I can help! 🙂
Hi, I’ve got it working in Audacity and it plays fine. I’ve exported it as a .WAV file. Importing it into Audacity and replaying it works fine, however every other player doesn’t.
The ones I have tried are:
VLC Media Player
Windows media player
Windows media centre
Android’s media player (Samsung S II)
Android VLC
iPhone 5 and 4 music player
iPod touch 2 music player
Mac finder view thingy (I think this is based off quicktime?)
Quicktime
Mac iTunes (may also be based off Quicktime).
I’ve tried removing anything like an equaliser / filter with no luck. No idea how I managed to create an Audacity only file..
Thanks so much for the post, you’re awesome 😀
Also, I had a really cool idea. I have two of those IR controlled colour lamps. If they are placed only about 50cm away they can be controlled separately because led is so weak.
How do you build just one 38000Hz signal? Then you could duplicate it, one for left, one for right. So you can choose which LED lights up, therefore which lamp changes. With the original remote, it would turn it on from 10 meters, which meant I couldn’t control them separately, or do fun stuff with them.
I code software so I’d know how to build something that would only play left/right from one audio file, just need to know how to create original file (I’m guessing us 38000Hz not 19000Hz in tutorial?), and know if there are any hardware changes.
I’m also wondering how to decode it, because it has 12 colour presets on the remote, and they could be colour codes, so I could send custom signals. Or they just might be stored as presets 😦
I know it can do all colours because from a preset you can fine tune it with RGB channels.
Thanks!
This is cool!
You could share the IR code, maybe they are universal?…
Hi, just figured out why it wouldn’t work. The sound file was too short, lengthening made it work.
How can I share the IR code? I’m new to this, so only have the .wav files and audacity projects.
Nice finding.
You can send both short and long file to jumpjack at libero dot it, I’ll upload it on my site.
Thanks.
Sure, I’ll send them when I have recorded all of them 🙂
To build programmatically a 38000 Hz wave file you must study WAV format. I did it to write my programs, but currently I don’t remeber anything about it… 🙂 I only remember it was not that hard, being a plain, uncompressed format.
This short tutorial shows how to turn almost any cellphone into an universal IR remote control. CHECK GoogleCode page for downloads and … rremoteu.wordpress.com
Hi, thank you for this post, I create my own receiver/transmitter successfully
I fail to use sox batch files ( maybe because something wrong when I modified them for Linux )
But I successfully create a python script according to your audacity steps.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
recordSendIRWav.py
hosted with ❤ by GitHub
usage : python recordSendIRWav.py
it will generate wave file directly for sending.
it need to install python 2.7 , pyaudio, numpy before executing
Nice job!
[…] protocol, all I need to do is encode the infrared signal using a receiver which I built using this guide. The essentials of the project is found here so you may want to check it out for a detailed […]