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.