Phone or PC → Fire TV
Cast to your Fire TV from the device in your hand
Flint turns a Fire TV into a screen for your Android phone or your Windows PC, over your own network. It checks what your hardware can actually do together and says so plainly, before you spend any time on it. No account, no cloud, no analytics.
Pick the device you are installing on.
Download
Flint for Android or Windows
Android 8.0 or newer for the phone app. Windows 10 or 11, 64-bit, for the PC app. The Fire TV receiver is installed from either, never from here.
Every build is published by CI from this repository. Pick a device above to see the one for it.
Flint for Android
Android 8.0 or newer. The phone is the host.
Flint for Windows
Windows 10 or 11, 64-bit. Installs for your account, with no administrator prompt.
The receiver, on the TV
Nothing to download on the television. The phone app installs it over ADB and shows what it installs first.
Flint offers only the modes your particular phone or PC and television can manage together, and never a button that does nothing. What is proven on real hardware and what is not is listed under Status.
Read this first
Your Fire TV model decides everything
Check the television before you download anything. It takes ten seconds and it decides whether the rest of this page is worth your time.
On the TV: Settings → My Fire TV → About
| What it says | What that means |
|---|---|
| Fire OS 6, 7 or 8 | Good. It is Android underneath, so Flint can put its receiver on it. Mirroring and media handoff from Windows are proven end to end on a Fire TV Stick running Fire OS 6. |
| Fire OS 14 or 16 | Also Android underneath. The receiver should install; no device of this generation has been tested, and Flint says so rather than assuming. |
| Fire OS 5 | Stop. It is Android, but Android 5.1 - older than the Flint receiver can be installed on. The television's package manager refuses the app outright, and Amazon has never offered these devices a newer version. |
| Vega OS, or no version | Stop. Flint cannot work on this device, and no future version will change that. |
Vega OS is a Linux system Amazon built in-house. It is not Android, it cannot install apps from outside Amazon's store by any method, and Flint's whole approach depends on installing a receiver. Devices known to ship with it are the Fire TV Stick 4K Select (October 2025) and the Fire TV Stick HD (2026). Fire OS 5 is refused for a different reason and by the same rule: the receiver needs Android 7.1, and Flint will not offer an install it knows the television must reject.
How it works
Three pieces, two ways to cast
One receiver on the television. Either a phone or a PC as the host. The host finds the TV, pairs with a six-digit code shown on the screen, and sends it a picture over the local network.
Flint for Android
The phone is the host
Turn on the phone's hotspot, join the TV to it, and cast over that link. Mirror the phone's screen with its sound, hand the TV a video file to play at original quality, or give it a second screen the phone drives while staying free for other things. No router needed, and the setting that silently breaks casting on shared Wi-Fi, client isolation, does not apply.
Flint for Windows
The PC is the host
Mirrors the desktop with its sound and the mouse pointer, using hardware H.264 encoding, or hands the TV a local media file at original quality. Pick the display and the picture mode, pause without stopping, and keep sharing from the notification area with global shortcuts. Capture, colour conversion and encoding run on the GPU, in Rust, with nothing allocated on the frame path. The picture is proven end to end on a Fire TV Stick.
The receiver
Flint on the TV
A small app the host installs over ADB, after the television's own authorisation prompt is accepted with the remote. It decodes what the host sends, shows the pairing code, and is fully operable from the remote. Whatever installs it also offers to remove it.
Honest by construction
Before offering any mode, Flint probes the host and the television and measures the path between them. A mode is offered only when every piece it needs has been checked; otherwise the app says which check failed and what to do about it. The phone app goes further and checks its own encoder by drawing a test pattern through it and decoding the result, because a list of codec names has already passed once for an encoder that produced nothing.
Install
Step by step, for your device
-
Download the APK on the phone
Use the button at the top of this page, or open the latest release and pick the
Flint-Mobile-*.apkfile. It needs Android 8.0 or newer. -
Open it and allow the install
Android will ask whether to allow installing apps from your browser. Allow it, and turn that permission off again afterwards if you would rather. It will then warn about an unknown developer. That warning is accurate rather than a formality: the app is not in a store, and is signed by a key no store has vouched for. Building from source avoids the warning and is the same code.
-
Turn on the phone's hotspot and join the TV to it
On the TV: Settings → Network, then choose the phone's hotspot. Joining both to the same Wi-Fi also works; Flint will say so, and will warn you if that network keeps its devices from seeing each other.
-
Open Flint and let it look
The Cast screen says which end of the network the phone is on, finds the television, and reports what the two can do together. If the TV has no receiver yet, Settings offers to install one over ADB, showing the package name, version and size before it does. That needs ADB debugging on the TV and the prompt it shows accepted with the remote.
-
Pair with the code on the TV
Open Flint on the television and type the six-digit code it shows into the phone. The pairing is remembered, and the Settings screen has one button that forgets every television, for a phone that is being lent or handed on.
Flint never asks for location permission, because it never scans for Wi-Fi networks. It reads its own network interfaces, which needs no permission at all.
Every merge publishes a fresh build to the
rolling Windows release.
Download Flint-Setup.exe and run it: it installs for your account only, with no
administrator prompt, puts Flint in the Start menu, and puts flint on your PATH so
the command works in any terminal. Flint then updates itself from that release, and Settings
has the switch if you would rather it did not.
The same release carries Flint-<version>-win-x64.zip for anyone who would
rather keep a folder they can delete: extract it and run Flint.App.exe. Nothing is
installed, and nothing updates itself. Building it yourself, below, produces the same program
and avoids the unrecognised-publisher warning entirely.
-
Install the tools
The .NET 10 SDK, Rust with the MSVC toolchain, and Visual Studio Build Tools with the “Desktop development with C++” workload. Windows 10 or 11, 64-bit.
-
Build and package
git clone https://github.com/tochi-mba/flint-app-firestick-cast.git cd flint-app-firestick-cast ./dev.ps1 check ./dev.ps1 packageThe result is
dist\Flint-<version>-win-x64.zip, a portable folder with everything it needs, anddist\Flint-Setup.exebeside it if you would rather install it. There is no .NET runtime to install first. -
Extract it and run
Flint.App.exeFlint writes nothing outside its own folder except one marker file under
%LOCALAPPDATA%\REX Technologies\Flintrecording that you have seen the introduction. To uninstall, delete the folder. -
If you run a downloaded build instead
Windows will say “Windows protected your PC”. Click More info, then Run anyway. The build is not code-signed, and the warning is Windows telling you the truth: it does not recognise this publisher.
-
Turn on ADB debugging on the TV
Settings → My Fire TV → Developer Options → ADB debugging. If Developer Options is missing, open About and press Select seven times on the device name. Accept the prompt the TV shows.
There is nothing to download on the television itself. The receiver reaches it in one of two ways, and both show you what they are about to install before they install it.
-
Check the model
Settings → My Fire TV → About. Fire OS 6, 7 or 8 is fine. Vega OS is not, and nothing below will help on a Vega device.
-
Turn on ADB debugging
Settings → My Fire TV → Developer Options → ADB debugging. If Developer Options is missing, open About and press Select seven times on the device name. This is the television owner's setting; Flint cannot turn it on and does not try to.
-
From a phone
Install Flint for Android, choose the TV on the Cast screen, and open Settings. The card there identifies the TV, offers to install the receiver, and offers to remove it from the same place. Accept the authorisation prompt on the TV with the remote when it appears; Flint waits for it rather than working around it.
-
From a Windows PC
The Windows package carries
Flint.Receiver.apk. Sideload it once by your usual method; after the television authorises Flint over ADB, the app brings the receiver to the foreground itself.
If nothing is found
Some networks stop devices seeing each other. Guest networks, most corporate networks, and access points with client isolation all block the discovery Flint relies on. The phone's own hotspot never does.
- Check that the host and the TV are on the same network, and that it is not a guest network.
- Get the TV's address from Settings → My Fire TV → About → Network and type it into the address field on the Cast screen. If the TV has no receiver yet, the phone will still identify it over ADB and offer to install one.
- On Windows, run
flint.exe --servicesfrom the Flint folder. If it lists nothing at all, the network is the cause rather than the television.
Status
What works today, and where it was proved
Flint is under construction and says so. A mode that is not finished is labelled in the app rather than offered as a control that does nothing, and nothing here claims a device it has not touched.
| Capability | Status | Evidence |
|---|---|---|
| Windows: capability report | Working | Finds the TV, identifies its OS over ADB, probes encoders and adapters, measures the path. |
| Windows: screen mirroring | Working | Desktop Duplication capture, GPU colour conversion, hardware H.264 encode. Proven end to end on a Fire TV Stick (Fire OS 6). |
| Windows: media handoff | Working | A local file pushed to the receiver and played at original quality. Proven on the same Stick. |
| Windows: second screen | Unavailable | An extra desktop rather than a copy of this one needs a display driver Windows will install only once it is signed by a trusted certificate. Flint will not ask anyone to disable driver signing. |
| Android: hardware checks | Passed on a phone | The private-display check and the encoder listing both passed on one phone. The newer encoder check, which decodes a real frame, has not yet been run on hardware. |
| Android: pairing, second screen, mirror with sound, media handoff | Built, untested on a TV | Every path is wired end to end and gated by tests that run on every change. None has been run against a television yet, and the app's own copy says so. |
| Android: installing the receiver over ADB | Built, untested on a TV | Tested against a scripted device that speaks the real ADB framing. The television's authorisation prompt has not yet been shown to a phone. |
| Wire protocol | Working | Implemented in Rust, C# and Kotlin, held byte-identical by a committed cross-language vector corpus. |
| Latency | Not measured | No glass-to-glass figure has been measured with a camera, so none is quoted. A TV's own picture processing commonly adds more delay than the whole pipeline; Game Mode matters more than any host-side tuning. |
How it is built
Opposite requirements, kept apart
Rust
The frame path on Windows
Capture, colour convert, encode, packetize, send. A garbage-collector pause landing inside a 16.6 ms frame budget is a stutter you can see, and this side has no collector to pause.
C# and Avalonia
The Windows shell
Discovery, pairing, installation, diagnostics and the interface. Never in the frame path, so it lives where the tooling and the tests are better.
Kotlin
The phone app and the receiver
The Android host and the Fire TV receiver share one wire protocol module and one visual system with the desktop. The phone encodes with the platform's hardware codecs; the receiver decodes with the television's.
Privacy
Nothing leaves your network
- No account, no cloud relay, no analytics, no crash reporting. This page makes one request, to GitHub, to find the newest download.
- Network activity is local discovery and local session traffic only.
- Flint reads from your TV to identify it, and never installs, replaces or removes anything without showing you what and why first.
- The phone app never asks for location. It never scans for Wi-Fi networks, so it never needs to.
- Session tokens authorise a receiver; they do not encrypt anything. Nothing here describes local traffic as private or encrypted, because it is not yet.