KI-DrohneFrankfurt UAS
Start › Hardware

Drohnenkonfiguration

Der verifizierte Stand des Flight Controllers: Ports, Parameter, Kamerapfade.

Originaltitel im Repository: Flight-controller configuration

This document records stable topology and configuration rules. It is not the source of truth for live parameter values. Before hardware or flight work, inspect the newest file under params/ and its matching capture under state/.

Hardware topology

Component Connection Protocol
Flywoo GOKU GN745 AIO Developer USB MAVLink, usually /dev/serial/by-id/...
Raspberry Pi companion FC UART4 ↔ Pi /dev/serial0 MAVLink2, 115200 baud
MicoAir MTF-01P FC UART5 MAVLink1, 115200 baud
Forward MicoAir MT-15 FC UART3, physical T3 used as RX with SERIAL3_OPTIONS=8 MAVLink/APM, 115200 baud, forward rangefinder instance 2
IMX500 camera Pi CSI Picamera2/libcamera
Payload servo Pi BCM12 Direct GPIO; not a flight-controller servo output

The Pi UART wiring is:

Pi pin 8  / GPIO14 / TXD -> FC R4
Pi pin 10 / GPIO15 / RXD <- FC T4
Pi pin 6  / GND           -> FC GND

The reviewed FlywooF745 firmware has five MAVLink channels. For this topology, disable unused UART1 so USB, UART2, UART3, UART4 and UART5 receive those five channels. Enabling an additional earlier UART can silently exclude UART5 from MAVLink processing even when SERIAL5_PROTOCOL=1. MAVn_OPTIONS follows the allocated MAVLink instance order, so review its mapping whenever serial protocol assignments change. Dated repair records contain the applied values.

Confirm power capacity and the exact board revision before relying on any wiring description. Dated state captures record what was observed, not a guarantee that the physical build is unchanged.

Arming checks

ArduCopter 4.7 replaced ARMING_CHECK with the inverse ARMING_SKIPCHK bitmask. ARMING_SKIPCHK=0 means no configurable pre-arm checks are skipped; every set bit skips its corresponding check category.

Never arm, fly, or run the motor utility unless the live value is exactly 0 and every reported PreArm: or Arm: failure has been resolved. Restoring the checks does not itself prove the airframe, camera, payload, surroundings, or failsafes safe.

Reference: ArduPilot pre-arm safety checks.

Geofence

FENCE_ENABLE is independent of arming checks. Enabling it only activates the configured fence types and breach action; it does not create a useful indoor boundary or provide collision avoidance.

Before using a fence indoors, define and test an appropriate boundary, localization source, and recovery action. Do not blindly enable historical 100 m altitude or 300 m radius settings.

Sensors

The MTF-01P provides downward range and optical flow. Historical captures used FLOW_TYPE=5, RNGFND1_TYPE=10, and downward orientation, but transport data alone does not validate mounting, calibration, floor texture, lighting, EKF quality, or altitude hold.

The forward MT-15 must remain distinct from the downward sensor. Verify its physical UART, regulated power, outgoing MAVLink sensor ID/orientation, and firmware support before writing SERIALx, RNGFND2, proximity, or avoidance parameters. One forward beam is not full obstacle avoidance.

The old analog VTX connector has TX3 and video connections but no RX3. After the user's data-wire swap on 9 September, the MT-15 signal was verified on physical T3: SERIAL3_OPTIONS=8 swaps USART3's RX/TX pin functions so T3 receives it. Normal options 0 received no bytes. Keep the software pin mapping consistent with the actual wiring; the ordinary unswapped topology would put MT-15 TX on RX3 and MT-15 RX on TX3. Video pins are not UART pins.

The verified receive configuration is SERIAL3_PROTOCOL=1, SERIAL3_BAUD=115, SERIAL3_OPTIONS=8, RNGFND2_TYPE=10, RNGFND2_ORIENT=0, RNGFND2_MIN=0.1, and RNGFND2_MAX=15 (metres). Keep the existing five-channel allocation and private sensor channel. The FC publishes forward readings as instance ID1, orientation0, separately from downward ID0, orientation25. See the integration and persistence verification.

Sensor-to-FC data reception is verified; the sensor's command-receive wire was not traced or tested. Verify common ground and regulated 5 V rather than relying on old wire colours. The MT-15 firmware tested on 2026-09-07 saves sensor ID1 but emits native MAVLink ID0; the pinned ArduPilot backend separates incoming readings by orientation. The configured 0.1 m minimum remains conservative; native packets advertising 2 cm are not an accuracy or blind-zone calibration.

See sensor recording and wiring. The reviewed ArduCopter 4.7 EKF correction, comparison evidence, and SITL acceptance result are in the no-GPS Loiter review.

Capture the live configuration

drone-config-sync reads the complete indexed MAVLink parameter set through the Pi. It does not send PARAM_SET, change mode, arm, or drive an actuator.

SSH_CONFIG=/dev/null PI_HOST=seb@seb-is-pm.tail59e6a4.ts.net \
  uv run drone-config-sync

The command writes:

params/flywoo-f745-live-YYYY-MM-DD.param
state/YYYY-MM-DD/drone-config.json

It retries missing indexes, rejects duplicate names/indexes, and verifies the parameter-file checksum. To commit exactly the generated pair from a clean worktree and push the current branch:

SSH_CONFIG=/dev/null PI_HOST=seb@seb-is-pm.tail59e6a4.ts.net \
  uv run drone-config-sync --publish

Git credentials remain on the developer machine and are not copied to the Pi.

For direct USB inspection and MAVProxy troubleshooting, see Developer machine connection.

Diese Seite wird aus dem Repository erzeugt.Quelle: docs/DRONE_CONFIGURATION.md