I actually did this too, with a lot of different remotes, in micropython on a plain pi pico -- quite fast enough.
Different remotes use different formats, a lot of them repeat the actual data twice.
Most interesting were the remotes for our minisplits, which tranmit the whole state for the minisplit, followed by a second message indicating half degrees -- presumably, older minisplits could only do whole degrees so they added a second message.
Transmitting the words is more challenging, the IR LED needs to be pulsed (modulated) around around 38 khz, and there are potentially different wavelengths. So far have not been able to get our mini splits to accept a code I send to them, I suspect my LED wavelength is wrong.
"Most interesting were the remotes for our minisplits, which tranmit the whole state for the minisplit"
I think this is necessary because A/C remotes often have a screen showing the state. If you transmit the whole state then, as long as the most recent button press made the unit beep, you can be sure that the state on the remote screen is correct. If you were to transmit deltas only (e.g. temperature up/down) you could eat out of sync and have no easy way to get back in sync.
True! Used to have an A/C unit with this problem. Covering the IR emitter with a finger would desync the remote's state and that of the actual unit. Temperature was the easiest to sync back: just keep lowering it until both systems reach the temperature floor.
This problem still shows up today in limited forms. I have several A/C units of the same model and the same remote. Sometimes the remotes get mixed up and I end up trying to use a remote in the A/C off state to control an A/C that's on, and it does nothing because the remote ignores most button inputs if it thinks the A/C is off. I have cover the IR emitter and "turn it on" first.
Different remotes use different formats, a lot of them repeat the actual data twice. Most interesting were the remotes for our minisplits, which tranmit the whole state for the minisplit, followed by a second message indicating half degrees -- presumably, older minisplits could only do whole degrees so they added a second message.
Transmitting the words is more challenging, the IR LED needs to be pulsed (modulated) around around 38 khz, and there are potentially different wavelengths. So far have not been able to get our mini splits to accept a code I send to them, I suspect my LED wavelength is wrong.
I think this is necessary because A/C remotes often have a screen showing the state. If you transmit the whole state then, as long as the most recent button press made the unit beep, you can be sure that the state on the remote screen is correct. If you were to transmit deltas only (e.g. temperature up/down) you could eat out of sync and have no easy way to get back in sync.
This problem still shows up today in limited forms. I have several A/C units of the same model and the same remote. Sometimes the remotes get mixed up and I end up trying to use a remote in the A/C off state to control an A/C that's on, and it does nothing because the remote ignores most button inputs if it thinks the A/C is off. I have cover the IR emitter and "turn it on" first.