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.

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. 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 [serial_port] [output.png]
  • 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.

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.

Release files for flipshot 1.0.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.0.0
File Size Uploaded
flipshot-1.0.0.tar.gz 8.5 kB Details

Built distribution (wheel)

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

Total release size: 17.4 kB

Release files / flipshot-1.0.0.tar.gz

Download URL flipshot-1.0.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ff2e0844a82dec17cf7b8cd937fce5b1ac80fad11d286f5083f32654d840eb7e
BLAKE2b-256 checksum
How to use checksums
843eb812631b195d95b2f8e0e0cf8149726a5a60ec43a43100eabc1db32906c9
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 21, 2026.

Transparency log

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

Download URL flipshot-1.0.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a81ae5b6541fd14d16b22c6f93f77c35e1b0323b2c61b0cdc89e766a46c5dbf2
BLAKE2b-256 checksum
How to use checksums
763ad2ec744cd29878b1702c1aa7369908511ae6e376b62cad431cde8c5ba649
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 21, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

This release

1.0.0 This release

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