# Hardware ## Pinout ![[Pasted image 20240229144513.png]] ![[Pasted image 20240229144518.png]] # Software 1. compile the correct firmware and flash it to the flight controller 2. Setup the correct airframe and calibrate the controller 3. import the last px4-fmuv5 config files and check the correct settings 4. check every peripheral independently. 1. Optical flow 2. pwm outputs (virt swash and servos) 3. rc 4. i2c --> angle sensor 5. telem 1 --> mavlink router 6. telem 2 --> micrortps bridge 7. USB --> flashing, debugging, etc. ## Virtual Swashplate Calibration Requirements to fulfill before starting the calibration routine: - Make sure that the motors turn in the correct direction, else swap 2 ESC-Motor cables - Do this calibration routine with a battery and do not use a power supply. The power supply would limit the current and thus interfere with the swashplate modulation, falsifying all results. - Wear a bike helmet for protection if you do the manual calibration 1. Set the PARAM1 Tuning channel to a nice continuous potentiometer type knob on your RC: ![[Pasted image 20240304172822.png]] 2. Prepare Parameters to do the calibration routine: 1. Set all `MC_*` parameters to have feedforward only control: Meaning force saving PID values to 0 for all axes (roll, pitch and yaw) and setting the FF parameter to 0.15: ![[Pasted image 20240304173415.png]] 2. Set the drone to ACRO mode 3. Calibrate every virtual swashplate individually (upper and lower, explained for the upper swashplate with ID=0). Repeat for ASR012_VS_EN values for: upper:1, lower: 2, both: 3 1. Enable only the upper swashplate under Q->ASR012->ASR012_VS_EN=1 2. Apply the RC_TO_PARAM option for the Upper Swash Offset parameter (ASR012_0_OFFSET)![[Pasted image 20240304172646.png]] 3. Wear the bike helmet 4. Hold drone in your hand and pitch forward. Turn the knob until the pitch/roll directions you feel correspond to what you command with the stick. 5. Reset RC-To-Param: Tools->Clear All RC to Param