https://github.com/jmanion0139/flipper_tv_remote
TV remote replacement Flipper Zero App
https://github.com/jmanion0139/flipper_tv_remote
flipper-zero flipperzero infrared
Last synced: 16 days ago
JSON representation
TV remote replacement Flipper Zero App
- Host: GitHub
- URL: https://github.com/jmanion0139/flipper_tv_remote
- Owner: jmanion0139
- License: gpl-3.0
- Created: 2026-04-05T21:23:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-27T02:14:56.000Z (about 2 months ago)
- Last Synced: 2026-05-27T03:19:47.196Z (about 2 months ago)
- Topics: flipper-zero, flipperzero, infrared
- Language: C
- Homepage:
- Size: 283 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- flipper-zero-awesome - TV Remote
README
# flipper_tv_remote
Turn your Flipper Zero into a fully functional TV remote. Record buttons from any IR remote and replay them from your Flipper — no original remote needed.
## What it does
flipper_tv_remote lets you save the IR signals from any TV remote and replay them through your Flipper Zero's built-in IR blaster. You can store as many remotes as you like, each with a name you choose.
The goal was a single screen that could fully replace a TV remote — all the most commonly used buttons available instantly, no menus to navigate mid-use. The d-pad, OK button, and Back button each handle two actions (short press and hold), with a double-tap on Back for Power, which makes it possible to cover the buttons you actually reach for most often in a way that feels natural to use.
The app is built around a concentric-circle UI — the same layout as a real TV remote — and supports both portrait (vertical) and landscape (horizontal) orientations so you can hold the Flipper whichever way feels most comfortable.
Key capabilities:
- **Multiple named remotes** — save as many remotes as you like, each stored as a separate **.ir** file on the SD card
- **Learn mode** — record up to 12 buttons (Power, Vol+, Vol−, Ch+, Ch−, Up, Down, Left, Right, OK, Back, Home) from any IR remote
- **Concentric-circle remote UI** — tap or hold the d-pad to send signals; short-press and hold trigger different IR commands
- **Double-tap Back for Power** — quickly tap Back twice to send the Power signal
- **Two screen orientations** — Vertical (portrait, Flipper rotated like a tall remote) or Horizontal (landscape, circle remote on the right) — preference is saved and restored on restart
- **Button Map** — in-app reference card showing every button's press and hold action
- **Compatible .ir files** — saved remotes use the standard Flipper IR format and work with the built-in Infrared app
## Installation
Pre-built releases are available on the [Releases page](https://github.com/jmanion0139/flipper_tv_remote/releases).
Download the latest **flipper_tv_remote.fap** and copy it to **apps/Infrared/** on your Flipper's microSD card. The app will appear under **Applications → Infrared → TV Remote**.
Want to build from source? See [docs/build-instructions.md](docs/build-instructions.md).
## How to use
## Main menu
| Item | What it does |
|---|---|
| **Learn Remote** | Record a new remote or overwrite an existing one |
| **Use Remote** | Choose a saved remote and control your TV |
| **Delete Remote** | Remove a saved remote from the SD card |
| **Button Map** | View the full button reference (press vs hold) |
| **Settings** | Change the screen orientation |
| **About** | Author and license info |
## Learning a remote
1. Select **Learn Remote** from the main menu.
2. Choose **New Remote** and enter a name (e.g. living_room), or choose **Update Remote** to re-record an existing one.
3. The app walks you through each button one at a time. When prompted, point your original remote at the **IR window at the top of the Flipper** and press the button.
4. After each signal is received:
- Press **OK** to accept and move to the next button
- Press **Right (→)** to skip a button you don't want to record
- Press **Left (←)** to reject and try again
5. When all 12 buttons are done, the remote is saved automatically.
6. Press **Back** at any time to stop early — buttons already recorded are saved.
Keep the original remote within about 30 cm of the Flipper's IR window with a clear line of sight for the best results.
## Using your Flipper as a remote
1. Select **Use Remote** from the main menu.
2. Pick the remote you want to use from the list.
3. Use the d-pad and OK button to send IR signals. The concentric-circle UI highlights the active ring segment to show which action is being sent.
## Button reference
| Physical key | Short press (Default) | Hold (Default) |
|---|---|---|
| Up | Up | Vol Up |
| Down | Down | Vol Down |
| Left | Left | Ch Down |
| Right | Right | Ch Up |
| OK | OK | Home |
| Back | Back (IR signal) | Exit Remote |
| Back × 2 (double-tap) | Power | — |
When **Buttons** is set to **Swapped** in Settings, the short press and hold actions for the d-pad are reversed — short press sends Vol/Ch and hold sends Up/Down/Left/Right.
You can also open the **Button Map** from the main menu to see this reference any time while using the app.
## Screen orientation
Open **Settings** from the main menu to configure:
| Setting | Options | Description |
|---|---|---|
| **Orientation** | Vertical / Horizontal | **Vertical** — Flipper rotated 90°, holds like a tall remote with the d-pad on the right. **Horizontal** — Flipper held normally in landscape, circle on the right, Back/Power on the left. |
| **Buttons** | Default / Swapped | **Default** — short press sends directional signals (Up/Down/Left/Right), hold sends volume and channel. **Swapped** — short press sends volume and channel, hold sends directional signals. |
Use **Up/Down** to navigate between settings and **Left/Right** (or **OK**) to change the selected value. All settings are saved to the SD card and restored automatically on next launch.
## File storage
Remotes are saved to the **infrared/** folder on the SD card. App settings are stored in the **apps_data/** folder:
| Path | Contents |
|---|---|
| SD:/infrared/tv_remote_\.ir | Recorded IR signals for a named remote |
| SD:/apps_data/flipper_tv_remote/tv_remote_settings.dat | App settings (orientation preference) |
.ir files use the standard Flipper IR format and are fully compatible with the built-in Infrared app.
## License
This project is licensed under the [GNU General Public License v3.0](LICENSE).