Skip to main content

flipshot

Grab one frame from a Flipper Zero's screen over USB serial and save it as a native-resolution (128x64) black & white PNG — no qFlipper, no companion app, just a serial cable and this script.

clock-o-dial

Installation

flipshot is available from a variety of sources. pip or brew is recommended, because they have a convenient way to manage updates automatically.

  1. pip (Recommended for everyone with a Python environment)
    • You can check if you have Python installed by running python --version in the Terminal or cmd.
    • For Mac and Linux users, there is a high chance that you already have Python installed on your system.
    • For Windows users, you can download Python from the official website.
    • After confirmation, install flipshot through the PyPI package manager, typing pip install flipshot in the Terminal. For Mac users, you may need to use pip3 instead of pip.
    • Verify the installation with flipshot --version.
    • You are perfect, you can use the app with flipshot [port] [output.png] from any folder in your system.
  2. brew (Recommended for Mac and Linux users)
    • Type brew tap manefunction/tap in your Terminal to add my custom tap (app source) to your brew sources, if you haven't already.
    • Type brew install flipshot to install the application itself.
    • Verify the installation with flipshot --version.
    • You are perfect, you can use the app with flipshot [port] [output.png] from any folder in your system.
  3. Python package (manual installation, for advanced users)
    • Clone the repository or download the source code from GitHub.
    • Go to the folder with the script in your Terminal.
    • Run pip install . to install flipshot to your system.
    • Run flipshot --version to verify the script is working.
  4. Ready-to-use Windows binary (for Windows users without Python)
    • Download flipshot.exe from the GitHub Releases page.
    • Since it isn't code-signed, Windows SmartScreen may warn about an unrecognized publisher the first time you run it — click "More info" → "Run anyway" to proceed.
    • Open Command Prompt or PowerShell, cd to the folder with flipshot.exe, and run .\flipshot.exe --version to verify it works.
    • You are perfect, you can use the app with .\flipshot.exe [port] [output.png].
  5. Python script (manual usage, for advanced users)
    • If you are familiar with Python scripts, venv, and dependencies, you can simply clone the repository, pip3 install pyserial, and run src/flipshot.py directly. Feel free to modify the script for yourself.

Usage

flipshot [-h] [-v] [-b [N] [M]] [serial_port] [output.png]
  • -h, --help — show the help text and exit.
  • -v, --version — print the version and exit.
  • serial_port is optional — flipshot auto-detects a connected Flipper Zero over USB. Pass it explicitly if auto-detection fails, e.g. flipshot /dev/cu.usbmodemflip_XXXX1.
  • output.png is optional — defaults to flipshot-<device-name>-<YYYY-MM-DD--HH-MM-SS-MSS>.png in the current folder. With --burst and an explicit path, files are numbered: shot.png becomes shot-1.png, shot-2.png, and so on.
  • -b, --burst [N] [M] — take N screenshots, pausing M milliseconds between them. N defaults to 10. -1 keeps capturing until you stop the script (Ctrl+C). M defaults to 1000 and must be between 100 and 5000.
flipshot -b
flipshot -b 20 250
flipshot --burst -1 100

Close qFlipper or any other serial terminal connected to the Flipper before running flipshot — only one process can hold the serial port at a time.

How it works

flipshot switches the Flipper's CLI into its length-prefixed protobuf RPC mode over the same USB-serial connection qFlipper uses, requests a screen-stream frame and the device's hardware name, and encodes the resulting 1-bit framebuffer as a PNG — all with the Python standard library plus pyserial; no image library required.

Repository info

This repo follows the Conventional Commits specification.

GitHub release (latest by date) GitHub All Releases PyPI version PyPI downloads GitHub Sponsors

Release files for flipshot 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flipshot 1.1.0
File Size Uploaded
flipshot-1.1.0.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flipshot 1.1.0
File Interpreter ABI Platform
flipshot-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.7 kB

Release files / flipshot-1.1.0.tar.gz

Download URL flipshot-1.1.0.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5b4d025c7d3ddf7f9ea2991a6643eee79a39399a6998ff847738cf10c43a7b9e
BLAKE2b-256 checksum
How to use checksums
d16442e9990089d4a64ab6d016947a0847655d262688433681967e04e25d2975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / flipshot-1.1.0-py3-none-any.whl

Download URL flipshot-1.1.0-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d15af3a665b92119121ab7ee2059f8fd622a1eacd1b98771b3c5041f60eeed5b
BLAKE2b-256 checksum
How to use checksums
c31cb9c83622ac7763ff222f4624284caa0d247baaef662390cf073376c3b5c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

This release

1.1.0 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page