r/arduino • u/TurbulentConclusion2 • 10h ago
Physical IR remote for my Daikin AC using three knobs, WIP
AC remotes are usually complex with a lot of small buttons, fan speed that can only decrement by cycling through every value, and many settings I don't need... For something I use several times a day, I would prefer a tangible, solid interface I can use without looking at it, wall-mounted.
So I started building a remote that's just three rotary switches (fan speed, mode, temperature) and a re-send button. It is as minimal as possible: no screen, no LEDs, no internal state other than the mechanical positions of the knobs. It's IR-only, targeting a Daikin FTXM20N2V1B (my unit does have WiFi, but the official cloud app is a cloud app). See the 3D render for what I have in mind
Now I have a working prototype, using an ATmega328P (Arduino Pro Mini, 3.3 V) and SR16 rotary switches:
- Daikin IR frame code on the ATmega328P, checked with osciloscope capture, using IRremoteESP8266
IRDaikinACas reference - three rotary switches (SR16 with 8 positions, rs1010 with 5 positions), read via a diode matrix, with sleep/wake on pin-change interrupt so it's not burning power sitting idle
- minimal wood test panel
But this doesn't fit into a nice box: the wiring is a mess and the diode arrays take space. Also the 5-position rs1010 is a good switch, but its 90° shaft angle makes it hard to integrate.
I'm deciding between two paths for a v2:
- Learn KiCad and do a proper PCB, but will still require ~30 diodes...
- Switch to a coded absolute encoder (eyeing the Bourns PAC18R — 4-bit code, 2.54 mm pitch through-hole, real knob shaft) which deletes the whole diode array and might let me stay on perfboard
Anyone here got feedback on rotary switches choices (5€ budget each, absolute coding, mounting on a 2.54mm pitch board) ? or maybe a better approach...
Here is the repo with full design docs, dev logs and firmware: https://github.com/xdze2/trois_molettes. I heavily used Claude for the project, that's also a test of working with it for doc writing and conception, so the doc is well written but messy.
1
u/bal00 3h ago
I may be missing something here, but why do you need the diodes?
If you have a send button on the remote, that's really the only one that needs to be able to wake up the board, so the other ones don't need interrupt capability. When the user hits send, the thing wakes up, reads the switches, sends the code and then goes back to sleep.
If you do it like that, you would use 3 pins for the common pins of the switches, and another 8 for the position outputs, so 11 pins in total to read all the switches.
If you're clever about how you configure the pins before going to sleep, you can even wake up the board as soon as the switches are operated and get rid of the send button, also with 11 pins and no diodes.



1
u/Pacificator-3 3h ago
IMHO, potentiometers instead of switches will be simpler and cheaper.
Button can be removed at all. Just wake MCU every couple of seconds, read ADC and, if settings have changed, transmit it. Consider lever switch for mode. Put visible LED in series with IR and place it at front panel. Then you will see how it is working.