Skip to main content

FlySim

A 3D drone & fixed-wing flight simulator with real-time OpenGL rendering, realistic aerodynamics, and a Qt control panel. Supports keyboard, mouse, and the WFLY ET16S RC transmitter over USB HID.

Features

  • 12 multicopter models (quad / hexa / octo): GEPRC Mark5, iFlight, TBS, Tarot 680 Pro / T18 / T960, E616P, DJI Agras T50, DJI M600 Pro, DJI F450 — each built to its real wheelbase and frame dimensions
  • 3 fixed-wing aircraft: trainer, Eclipson Model A, sport plane, with a proper aerodynamic model (angle of attack, lift, drag, stall)
  • Power-system builder: 12 motors, 39 propellers (3"→54", incl. 3011), 12 batteries — real-time payload capacity & endurance via actuator-disc theory
  • Terrain system: flat, fractal-noise random DEM, load DEM (PNG/ASC/GeoTIFF), and satellite imagery (ESRI World Imagery), with terrain-aware collision
  • Airflow visualization: particle streamlines, rotor downwash, wind arrows
  • Atmosphere: temperature / pressure / humidity / CO₂ → real-time air density, viscosity, speed of sound (ideal-gas law + Sutherland's law)
  • Qt control panel (flysim --qt): tabbed menu, model selection, power system, environment, and camera zoom
  • Realistic physics: alternating motor spin (CW/CCW), momentum-theory hover power, per-motor thrust mixing, Verlet rope + payload
  • Live RC panel (channels CH1–CH4 in PWM, RSSI signal strength)
  • CFD airflow analysis (flysim --cfd): Lattice Boltzmann Method solver, 3D drone model, horizontal/vertical planes, streamlines, velocity/vorticity visualization, adjustable precision
  • 10 languages: 中文 / English / 日本語 / Français / Русский / Deutsch / Español / Português / Italiano / 한국어 (switchable in-menu, all UI + HUD)

Install

pip install flysim

Or from source:

git clone https://github.com/CodeOfMe/FlySim.git
cd FlySim
pip install -e .

Run

flysim              # pygame front-end
flysim --qt         # PySide6 front-end with control panel
flysim --cfd        # CFD airflow analysis window (LBM solver)
# or
python -m flysim

flysim --qt also opens the CFD window via File → Open CFD Analysis.

Language

Change language at runtime from the Language menu in the Qt front-end. Supports 10 languages; the HUD and control panel update instantly.

Requirements

  • Python >= 3.10
  • pygame >= 2.4, PyOpenGL >= 3.1.7, numpy >= 1.24
  • trimesh >= 4.0, pygltflib >= 1.0
  • PySide6 (optional, for --qt and --cfd)

Install with Qt support:

pip install flysim[qt]

Controls

Keyboard

Action Keys
Throttle up / down W / S
Yaw left / right A / D
Pitch forward / back Up / Down
Roll left / right Left / Right
Toggle airflow V
Toggle fixed-wing / multicopter F
Cycle drone model ` (backtick)
Toggle payload G
Pause P
Reset R
Orbit camera Mouse drag
Zoom Mouse wheel
Quit ESC

WFLY ET16S (HID, Mode 2)

Throttle = left stick Y, Yaw = left stick X, Pitch = right stick Y, Roll = right stick X. Auto-detected via pygame joystick.

Coordinate system

  • North = -Z, East = +X, Up = +Y
  • yaw = 0 faces North; yaw increases clockwise (top view)

License

GPL-3.0-or-later. See LICENSE.

Metadata

Release files for flysim 1.3.2

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

Source distribution (sdist)

Source distribution for flysim 1.3.2
File Size Uploaded Provenance
flysim-1.3.2.tar.gz 1.5 MB Without provenance Details

Built distribution (wheel)

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

Total release size: 3.1 MB

Release files / flysim-1.3.2.tar.gz

Download URL flysim-1.3.2.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
00f71d154abf623670c08679c23a4da28219b6b639dbc7bdaadf10fb944ade33
BLAKE2b-256 checksum
How to use checksums
75ca7bac3c93e5e4cdfe8eb208f3567701ffa0a3ec9b7e95fb1c39d34210b445
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / flysim-1.3.2-py3-none-any.whl

Download URL flysim-1.3.2-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e22743d4755cec1b5182cbd9d42eabb65e160eec7d1643976e2b874b50f7eab7
BLAKE2b-256 checksum
How to use checksums
09ffe0d145bf43c0fa0a9fd1054bab50a9ece1ad6c964c061e7e834cbe0ebd27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for flysim 1.3.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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