Learning and Replaying Air Conditioner and Heat Pump Infrared Codes with the Flipper Zero
Cloning a TV remote with the Flipper Zero is close to a solved problem — most consumer AV remotes use one of a handful of well-documented protocols (NEC, RC5, Sony SIRC) that encode a button as a short, fixed-length code, and the Flipper's IR app handles them natively. Air conditioners and heat pumps are a different animal entirely, and if you've tried to clone one and gotten inconsistent results, this is why: an AC remote doesn't send "button pressed," it sends the unit's entire current state — target temperature, mode, fan speed, swing setting, and more — packed into one long transmission every single time you touch any control. This guide covers what makes AC/heat pump IR different and how to actually get reliable captures and replays on a Flipper.
Why AC Remotes Don't Behave Like TV Remotes
A TV remote's "volume up" button sends the same short code every time — the TV just knows to add one to its current volume. An AC remote has no such shared state with the receiver unit beyond what's baked into a single infrared burst; the remote has to tell the unit everything at once, because the unit has no other way to know the currently selected mode is "cool" versus "dry" versus "fan only." That means AC protocols are typically 80-150+ bits long, versus roughly 32 bits for standard NEC — and changing any single setting on the remote (fan speed, one degree of temperature) produces a completely different, equally long transmission, not a delta from the last one.
Protocol Families You'll Encounter
Unlike NEC/RC5/Sony, there isn't one dominant standard for AC remotes — most major manufacturers use their own proprietary long-format protocol, and some vary between product lines from the same brand:
- Mitsubishi (Electric and Heavy Industries variants) — long fixed-format frames, differ between the "Electric" and "Heavy" product lines despite the shared brand name.
- Daikin — long frames, several distinct sub-variants across product generations.
- Fujitsu General — long-format, commonly seen on mini-split systems.
- Panasonic, LG, Gree, Midea, Hitachi — each with their own long-format encoding; Gree and Midea in particular show up under many rebadged/private-label mini-split brands, so a "no-name" unit is often one of these underneath.
Because so many of these are proprietary and only partially reverse-engineered in the open-source community, the Flipper's built-in "known protocol" IR database won't reliably recognize most AC remotes the way it recognizes common TV brands.
Capturing With Raw Signal Mode Instead of Universal Remote
For AC/heat pump remotes, skip the Flipper's protocol-matching capture and go straight to raw signal capture (Infrared → Learn New Remote, letting it fall back to RAW when it can't classify the protocol). Raw mode records the actual pulse timings rather than trying to decode them into a named protocol — this is what lets the Flipper replay a signal it can't actually identify. A few things matter for a clean raw capture:
- Fresh batteries in the original remote. A weak coin or AAA battery in the source remote produces a slightly out-of-spec signal that can capture with corrupted timing — if replay doesn't work, this is the first thing to rule out.
- Close range, direct line of sight, minimal ambient IR noise. Sunlight and some LED lighting add IR noise that corrupts a long capture more easily than it would a short 32-bit TV code, simply because there's more transmission time for noise to intrude on.
- Capture one complete state per file. Because every button press sends full state, you don't get a "temperature up" signal you can layer onto other settings — you need one saved file per state you actually want to replay (e.g., "Cool 72°F Auto Fan," "Cool 68°F High Fan," "Off").
Building a Practical Working Set
Trying to capture every possible temperature/mode/fan combination is impractical — a typical AC remote has hundreds of theoretical states. Instead, capture the handful you'll actually use: your normal daily setting, an "off" signal, and maybe one or two alternates (a warmer/cooler variant, a sleep-mode variant). Name the saved IR files clearly by their full state (not just "cool" or "setting 1") since there's no way to tell from a raw signal file what state it represents once it's saved — you're relying entirely on your own naming discipline.
When Replay Doesn't Work
SymptomLikely Cause Capture succeeds but AC unit never responds to replayCarrier frequency mismatch — most consumer IR is 38kHz, but the Flipper's raw capture records the frequency it detected; a corrupted noisy capture can lock in a wrong value Replay works sometimes, not othersMarginal signal strength/range at capture time, or IR receiver angle off-axis from the unit's actual sensor window Unit responds but changes to the wrong settingCaptured file was recorded mid-state-change on the original remote (e.g., temperature still scrolling) — re-capture with the source remote at a settled, static setting Nothing captures at all, even in RAWOriginal remote may use a non-standard carrier or an encoding the Flipper's IR receiver hardware isn't tuned for — rare, but some ultra-low-cost private-label units do thisCommunity Protocol Databases
Because AC/heat pump protocols are widely used beyond the Flipper ecosystem (universal remote hobbyist projects, ESPHome climate integrations, and Home Assistant IR blasters all need the same decoding work), community-maintained databases of decoded AC protocols exist outside the Flipper's own firmware and can save you the raw-capture process entirely if your specific brand and model has already been documented. Check these before assuming you need to capture from scratch — a matching, already-decoded protocol is more reliable to replay than even a clean raw capture, since it can be regenerated at the correct carrier and timing rather than replayed as a fixed recording.
A Note on Scope
Using a Flipper to replicate your own AC remote's functions — say, controlling your unit without hunting for the physical remote, or building it into a home automation routine — is a legitimate, common use case. Using IR replay against equipment you don't own or control access to is a different matter entirely; treat this the same as any other signal-replay capability on the Flipper and only use it on your own devices.
AC and heat pump remotes are the IR use case most likely to disappoint a new Flipper owner, precisely because they don't behave like the TV and media remotes most tutorials cover. Once you understand that you're capturing full states rather than button deltas, and that raw mode — not protocol matching — is the right tool, building a small, reliable set of saved states is very achievable even without a documented protocol for your exact unit.
Related Guides
- How to Hack Infrared Protocols with the Flipper Zero: NEC, RC5, Sony, and Raw Analysis
- Turn Your Flipper Zero Into a Universal Remote: Capturing and Organizing IR Devices
- Reading and Emulating IR Remotes with Flipper Zero
- Flipper Zero Infrared: Clone and Control Any Remote
- Flipper Zero — IR, Sub-GHz and NFC Cheat Sheet
- Flipper Zero: Creating Universal IR Files
- Flipper Zero Infrared — Building a Universal Remote Library
- Tying It Together: Pi + ESP32 + Flipper Home Automation Hub