{"id":50998464,"url":"https://github.com/jmanion0139/flipper_tv_remote","last_synced_at":"2026-07-08T11:00:26.716Z","repository":{"id":352442636,"uuid":"1202296520","full_name":"jmanion0139/flipper_tv_remote","owner":"jmanion0139","description":"TV remote replacement Flipper Zero App","archived":false,"fork":false,"pushed_at":"2026-05-27T02:14:56.000Z","size":290,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-27T03:19:47.196Z","etag":null,"topics":["flipper-zero","flipperzero","infrared"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmanion0139.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-05T21:23:33.000Z","updated_at":"2026-05-27T02:11:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jmanion0139/flipper_tv_remote","commit_stats":null,"previous_names":["jmanion0139/flipper_tv_remote"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jmanion0139/flipper_tv_remote","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmanion0139%2Fflipper_tv_remote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmanion0139%2Fflipper_tv_remote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmanion0139%2Fflipper_tv_remote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmanion0139%2Fflipper_tv_remote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmanion0139","download_url":"https://codeload.github.com/jmanion0139/flipper_tv_remote/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmanion0139%2Fflipper_tv_remote/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35262336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flipper-zero","flipperzero","infrared"],"created_at":"2026-06-20T12:00:23.504Z","updated_at":"2026-07-08T11:00:26.710Z","avatar_url":"https://github.com/jmanion0139.png","language":"C","funding_links":[],"categories":["Infrared"],"sub_categories":[],"readme":"# flipper_tv_remote\n\nTurn 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.\n\n## What it does\n\nflipper_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.\n\nThe 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.\n\nThe 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.\n\nKey capabilities:\n\n- **Multiple named remotes** — save as many remotes as you like, each stored as a separate **.ir** file on the SD card\n- **Learn mode** — record up to 12 buttons (Power, Vol+, Vol−, Ch+, Ch−, Up, Down, Left, Right, OK, Back, Home) from any IR remote\n- **Concentric-circle remote UI** — tap or hold the d-pad to send signals; short-press and hold trigger different IR commands\n- **Double-tap Back for Power** — quickly tap Back twice to send the Power signal\n- **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\n- **Button Map** — in-app reference card showing every button's press and hold action\n- **Compatible .ir files** — saved remotes use the standard Flipper IR format and work with the built-in Infrared app\n\n## Installation\n\nPre-built releases are available on the [Releases page](https://github.com/jmanion0139/flipper_tv_remote/releases).\n\nDownload 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**.\n\nWant to build from source? See [docs/build-instructions.md](docs/build-instructions.md).\n\n## How to use\n\n## Main menu\n\n| Item | What it does |\n|---|---|\n| **Learn Remote** | Record a new remote or overwrite an existing one |\n| **Use Remote** | Choose a saved remote and control your TV |\n| **Delete Remote** | Remove a saved remote from the SD card |\n| **Button Map** | View the full button reference (press vs hold) |\n| **Settings** | Change the screen orientation |\n| **About** | Author and license info |\n\n## Learning a remote\n\n1. Select **Learn Remote** from the main menu.\n2. Choose **New Remote** and enter a name (e.g. living_room), or choose **Update Remote** to re-record an existing one.\n3. 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.\n4. After each signal is received:\n   - Press **OK** to accept and move to the next button\n   - Press **Right (→)** to skip a button you don't want to record\n   - Press **Left (←)** to reject and try again\n5. When all 12 buttons are done, the remote is saved automatically.\n6. Press **Back** at any time to stop early — buttons already recorded are saved.\n\nKeep the original remote within about 30 cm of the Flipper's IR window with a clear line of sight for the best results.\n\n## Using your Flipper as a remote\n\n1. Select **Use Remote** from the main menu.\n2. Pick the remote you want to use from the list.\n3. 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.\n\n## Button reference\n\n| Physical key | Short press (Default) | Hold (Default) |\n|---|---|---|\n| Up | Up | Vol Up |\n| Down | Down | Vol Down |\n| Left | Left | Ch Down |\n| Right | Right | Ch Up |\n| OK | OK | Home |\n| Back | Back (IR signal) | Exit Remote |\n| Back × 2 (double-tap) | Power | — |\n\nWhen **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.\n\nYou can also open the **Button Map** from the main menu to see this reference any time while using the app.\n\n## Screen orientation\n\nOpen **Settings** from the main menu to configure:\n\n| Setting | Options | Description |\n|---|---|---|\n| **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. |\n| **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. |\n\nUse **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.\n\n## File storage\n\nRemotes are saved to the **infrared/** folder on the SD card. App settings are stored in the **apps_data/** folder:\n\n| Path | Contents |\n|---|---|\n| SD:/infrared/tv_remote_\\\u003cname\\\u003e.ir | Recorded IR signals for a named remote |\n| SD:/apps_data/flipper_tv_remote/tv_remote_settings.dat | App settings (orientation preference) |\n\n.ir files use the standard Flipper IR format and are fully compatible with the built-in Infrared app.\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmanion0139%2Fflipper_tv_remote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmanion0139%2Fflipper_tv_remote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmanion0139%2Fflipper_tv_remote/lists"}