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 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 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.
  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]] [-o OUTPUT] [serial_port]
  • -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.
  • -o, --output 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.2.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.2.0
File Size Uploaded
flipshot-1.2.0.tar.gz 11.9 kB Details

Built distribution (wheel)

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

Total release size: 24.2 kB

Release files / flipshot-1.2.0.tar.gz

Download URL flipshot-1.2.0.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ff4eb307fbc4131fb1a91167e29fc02ac3fcbb8b9d7664e37faee012e6ad388c
BLAKE2b-256 checksum
How to use checksums
c5c9c8dd3357a363cbc7e0d7767878494acd7887279ded238820afbb88afced7
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 24, 2026.

Transparency log

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

Download URL flipshot-1.2.0-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ec05d2b89ea754dffe0dfa8e62c8c7d8dbd538b7531f1e67843e22f9c0a1b21
BLAKE2b-256 checksum
How to use checksums
7ab1349badfa173f747727e98b371ebe19eb83f0e098aa5cd11d1c5cd9f77cb7
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 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

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