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. 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 [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.1

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.1
File Size Uploaded
flipshot-1.0.1.tar.gz 8.7 kB Details

Built distribution (wheel)

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

Total release size: 17.9 kB

Release files / flipshot-1.0.1.tar.gz

Download URL flipshot-1.0.1.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
78cf9d9365cec6d77bb895b98b1da1beda1de3d6586bcf2d08278a35fe2bee48
BLAKE2b-256 checksum
How to use checksums
d4ac4a5f1e01680c4f39f3abf8b948f4633df27ab217be41003cba44dfe99eba
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 22, 2026.

Transparency log

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

Download URL flipshot-1.0.1-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
849d6766de825604574082b2a28e5bcdfc4b9c1ffe9fcd493b68a1cc1ac5bfdd
BLAKE2b-256 checksum
How to use checksums
469187a7602e49c465dd77ed23ba7e5960d6fbec4e7bfea04a3087e71baa3a96
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 22, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.0

2 release files

This release

1.0.1 This release

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