Help

non-latin paths

If pr0p is located in a folder containing non-latin characters, the TTS (text to speech) dependency might cause a crash. Solutions:

  • don't use non-latin letters in your path
  • remove or rename pr0p_Data/Plugins/x86_64/piperlib.dll (disables TTS)

Configurator settings are ignored?

Try restarting the game. Sometimes the fc seems to go into a mode, where configurator changes are ignored.

0.8.12 introduced an updater

The updater automates the process to pull the lastest build. It verifies the integrity of the download and checks the signature.

To switch to a beta branch, just create a file named beta in the same directory as the executable and re-run the updater.
To switch back to stable, just delete the beta file and rerun the updater.
To re-run/verify the installation just remove the version file and rerun the updater.

How do I connect the configurator?

Start a race and open app.betaflight.com from a chrome based browser. Enable manual connection from the Options menu.

In the upper bar switch to Manual Selection and set the following address as Port:

ws://127.0.0.1:5761

Make sure pr0p is in a race, otherwise the virtual fc is not running and no connection can be established. Hit Connect.

How do I change my rates?

Start a race and connect to the virtual fc using app.betaflight.com from a chrome based browser. Go to the PID Tunig menu and then Rateprofile Settings as pictured below and adjust your rates and hit save:

One of my switches is not recognized

Unfortunately I don't own each and every remote control, so I can't create custom HID mappings for every controller in existence. Make sure your model on your remote control is configured to pass the switch, or use a different switch.

In general all opentx, freedomtx and edgetx remote controllers are supported by default. Make sure to switch your model's USB joystick mode to classic. Only classic mode is supported and works out of the box.

How do I reset the flight controller config?

Easy: Exit the game, go to AppData\LocalLow\SigSegOwl\pr0p\config\quad\ and delete the eeprom file (.bin) for the quad configuration your want to reset. Restart the game, start a race and you have the betaflight defaults applied again.

Don't forget to configure modes again!

Stick values only between 0 and 100?

I don't know what causes this, but as a work around open the following file
AppData\LocalLow\SigSegOwl\pr0p\input.json
and add a normalization processor like
normalize(min=0.0,max=1.0,zero=0.5)
to the desired stick axis. This scales values from 0 to -100, so the full range between -100 and 100 is available.

custom quad configurations

You can create your own quad configurations.

The folder AppData\LocalLow\SigSegOwl\pr0p\config\ contains the following structure:

.
├── battery
│   ├── shl-4s-1300mah.json
│   ├── shl-4s-550mah.json
│   ├── shl-4s-850mah.json
│   └── shl-6s-1100mah.json
├── motor
│   ├── ak-1407-3600kV.json
│   ├── smax-1404-3800kV.json
│   ├── smax-1606-3000kV.json
│   ├── smax-2208-1900kV.json
│   └── snova-2203-2800kV.json
├── propeller
│   ├── sprop-3.5x2.5x3.json
│   ├── sprop-3x4x3.json
│   ├── sprop-4x3x3.json
│   ├── sprop-5.1x3.5x3.json
│   └── sprop-5.1x3.7x3-r30.json
├── quad
│   ├── 270Supra.bin
│   ├── 270Supra.json
│   ├── propeater-5.bin
│   ├── propeater-5.json
│   ├── skydart350.bin
│   ├── skydart350.json
│   ├── vtx-slayer-one-3.bin
│   ├── vtx-slayer-one-3.json
│   ├── vtx-slayer-one-4.bin
│   └── vtx-slayer-one-4.json
└── vtx
    ├── 25mW-analog-vtx.json
    ├── 25mW-hdzero-vtx.json
    └── cheap-25mW-analog-vtx.json
            

Each folder contains JSON files. Each JSON file defines one component.
Create a new JSON file in each folder. Reference the file names in a new quad config JSON file in the quad folder.
You can also copy an existing configuration and edit it. Give a unique name to each component. Use these names in the new quad config.
Set the buildIn property to false. Otherwise, you cannot hot reload the config during a race.

Press F6 during a local race to write the current configuration to disk.
Press F7 during a local race to load the configuration from disk.

Custom quad configs work only during local races. They do not work in multiplayer modes. This prevents unfair advantages.

You cannot modify built-in configurations. The simulator ignores changes to these files.

During the first start of pr0p with a new configuration, the EEPROM file (.bin) for that quad config is created with betaflight defaults.
Configure the EEPROM or copy one of the other EEPROMs.

configuration parameter reference

This reference describes the configuration files of the quadcopter simulator.
The configuration directory contains five types of configuration files: battery, motor, propeller, quad, and VTX.
Each configuration file uses the JSON format.
The quad configuration references the other configuration types by the name field.

common parameters
Name Description
version The version number of the configuration format. The simulator checks this number for compatibility with the current version.
name The display name of the configuration. The quad configuration uses this name to reference the other components.
fileName The file name of the configuration without the .json extension. The simulator uses this name to locate the file.
buildIn A boolean value. The value true means that the configuration is built into the simulator. The value false means that the user has added the configuration.
description A text description of the configuration. This text has no effect on the simulation.
mass The mass of the component in kilograms. The total mass of the quadcopter is the sum of the frame mass, four motor masses, four propeller masses, and the battery mass.
battery
Name Description
maxVoltageSag The maximum voltage sag of the battery in volts. The simulator uses this value to calculate the voltage drop under load. A high value makes the voltage drop faster.
batCellCount The number of cells in the battery pack. The simulator multiplies this number by 4.2 volts to calculate the charged battery voltage.
batCapacityCharged The capacity of the charged battery in milliamp hours. This value can be higher or lower than the rated capacity.
batCapacity The rated capacity of the battery in milliamp hours.
mass The mass of the battery in kilograms.
motor
Name Description
motorKV The KV rating of the motor in revolutions per minute per volt. The simulator uses this value to calculate the motor speed.
motorR The resistance of the motor windings and all other components in ohms. This is typically higher than just the motor winding resistance. The simulator uses this value to calculate the current and the electrical losses.
motorI0 The idle current of the motor in amperes. The idle current is the current without a load.
motorRth The thermal resistance in degrees Celsius per watt. The simulator uses this value to calculate the temperature rise.
motorCth The thermal heat capacity in joules per degree Celsius. The simulator uses this value to calculate the temperature change.
motorMaxT The maximum motor temperature in degrees Celsius. The motor windings short out at this temperature.
motorImbalance The vibration amplitude of the motor on each axis. The value x is the amplitude on the x-axis, y on the y-axis, and z on the z-axis. The simulator applies the same imbalance to all four motors.
mass The mass of one motor in kilograms.
propeller
Name Description
bladeCount The number of blades on the propeller.
propMaxRpm The maximum speed of the propeller in revolutions per minute. The simulator clamps the propeller speed to this value.
propAudioPitch The audio pitch factor of the propeller. The simulator uses this value to adjust the pitch of the propeller sound.
propAFactor The quadratic thrust coefficient of the propeller. The simulator uses this value to calculate the thrust curve. A high value produces more thrust at high RPM.
propTorqueFactor The torque factor of the propeller. The simulator multiplies the propeller thrust by this factor to calculate the torque.
propInertia The rotational inertia of the propeller in kilogram square meters. The simulator uses this value to calculate the angular acceleration.
propThrustFactor A vector that defines the maximum thrust against the flight speed. The value x is the coefficient of the square of the speed, y the coefficient of the speed, and z the constant term.
propHarmonic1Amp The amplitude of the first harmonic of the propeller sound.
propHarmonic2Amp The amplitude of the second harmonic of the propeller sound.
mass The mass of one propeller in kilograms.
durability The durability of the propeller. A high value means that the propeller survives more impacts before it breaks.
quad
Name Description
frameDragArea A vector that defines the effective drag area of the frame on each axis in square meters. The values x, y, and z apply to the x-axis, y-axis, and z-axis.
frameDragConstant The drag constant of the frame. The simulator multiplies the drag force by this constant.
mass The mass of the frame only in kilograms.
invInertia A vector that defines the inverse inertia of the frame on each axis. The simulator flips the sign of the y-axis value internally to match the coordinate system.
gyroBaseNoiseAmp The amplitude of the base noise of the gyroscope. A high value produces a noisier gyroscope signal.
gyrobaseNoiseFreq The frequency of the base noise of the gyroscope in hertz.
frameHarmonic1Amp The amplitude of the first vibration harmonic of the frame. The value 0.0 disables this harmonic.
frameHarmonic1Freq The frequency of the first vibration harmonic of the frame in hertz.
frameHarmonic2Amp The amplitude of the second vibration harmonic of the frame. The value 0.0 disables this harmonic.
frameHarmonic2Freq The frequency of the second vibration harmonic of the frame in hertz.
minPropWashSpeed The flight speed in meters per second at which the prop wash effect starts.
maxPropWashSpeed The flight speed in meters per second at which the prop wash effect reaches its peak.
propWashAngleOfAttack The angle of attack of the prop wash. The value 0.0 means an angle of 180 degrees in the reverse thrust direction.
propWashFactor The multiplier for the final prop wash effect. A high value produces a stronger prop wash effect.
maxGroundEffectDist The maximum distance to the ground in meters at which the ground effect applies.
motor1Pos ... motor4Pos A vector that defines the position of each motor in meters. The simulator uses these positions to calculate the torque of each motor.
motor1Dir ... motor4Dir The rotation direction of each motor. The value 1.0 means clockwise rotation. The value -1.0 means counterclockwise rotation.
motorVariance A vector with four values that defines the KV variance of each motor. The simulator multiplies the base KV by each value. The value 1.0 means no variance.
motor The name of the motor configuration. The simulator loads this configuration from the motor directory.
propeller The name of the propeller configuration. The simulator loads this configuration from the propeller directory.
battery The name of the battery configuration. The simulator loads this configuration from the battery directory.
vtx The name of the VTX configuration. The simulator loads this configuration from the VTX directory.
soundMaxRpm The maximum RPM that the simulator uses to scale the sound. The sound plays at its maximum pitch at this RPM.
model The name of the 3D model of the quadcopter.
vtx
Name Description
type The type of the video transmitter. The value analog means an analog video transmitter. The value hdzero means an HDZero digital video transmitter.
noiseFloor The base noise level of the video signal. A high value produces more noise in the video picture.
noiseFactor The noise factor of the video transmitter. A high value produces a noisier video picture.
range The transmission range of the video transmitter in meters. The simulator uses this value to calculate the signal quality over distance.

Still got questions or feedback?

chat join Discord