Friday 27 November 2020

How to find stuff on my YouTube channel

 Search for a specific video (Only on a computer)

Playlists of related videos (Playlist Tab)

Find my email address (About Tab - Only on a computer)

Read the description

Sunday 25 October 2020

RC, FPV and FCB terms

FPV - First Person View. Flying while watching an onboard video transmission.

VTx VRx - Video transmitter and video receiver used for FPV.

FCB - Flight Control Board (eg. Matek F405-Wing)

MCU - Microcontroller Unit (Main processor chip of FCB eg. STM32F405)

IMU - Inertial Measurement Unit (Gyro and Accelerometer chip eg. MPU 6000)

Baro - Barometer Altitude sensor (eg. BMP280)

Magnetometer - Electronic Compass (eg QMC5883)

DFU - Direct Firmware Upload (Processor Mode which allows firmware upload)

MSP - Multiwii Serial Protocol. Communication protocol used by INAV and FCBs. MSP came from Multiwii software, which was derived from the Nintendo Wii Game Controller. 

Serial Port - Pins or pads on FCBs for connecting external devices. Serial means all channel signals use the same wire. 

UART - Universal Asynchronous Receiver Transmitter Serial port. Pins or pads where UART devices (GPS, RC receivers, camera controls) connect to the FCB. Pins labelled - Ground Voltage RX TX. RX from the device connects to TX on the UART

I2C or I squared C - Inter Integrated Circuit Serial port. Pins or pads where I2C devices (compass, OLED screen) connect to the FCB. Pins labelled - Ground Voltage SDA SCL

SPI - Serial Peripheral Interface. Connection interface for onboard devices like SD card reader and barometer

ADC - Analog to Digital converter. FCB component that converts a varying voltage input to a digital output. Used for displaying battery voltage, current, analog airspeed sensor and analog RSSI values.

Soft Serial - Extra Serial port enabled in software, by repurposing spare UARTs pins. Eg Smart Port telemetry connection to an unused TX pin.

Vbat - Flight battery Voltage. May be filtered on some FCBs to reduce video interference

OSD - On Screen Display

GNSS - Global Navigation Satellite System (Commonly called GPS, but GPS only refers to the US satellite system. Other GNSS systems include Galileo, GLONASS)

OLED - Organic Light Emitting Diode used in OLED data display screens and some FPV goggles

RSSI - Received Signal Strength Indicator. A number representing the strength of an RC signal at the receiver.

LQ - Link Quality. A number representing the strength and quality of an RC signal.

LFR - Lost Frame Rate % - Percentage of lost frames in an RC Signal

PWM - Pulse Width Modulation. Basic RC signal protocol which uses an individual wire for each channel signal. Used for connecting servos to a receiver or receiver to FCB.

PPM or CPPM - Pulse Position Modulation. Serial RC protocol. Used for connecting a receiver to FCB, or RF module to a transmitter. All channel signals on one wire

SBUS - FrSKY and Futaba Serial RC protocol. Used for connecting a receiver to FCB, or RF module to a transmitter. All channel signals on one wire. 

S-Port - FrSKY Smart Port Telemetry system. Extra socket found on FrSky receivers to connect telemetry sensors.

F-Port - FrSKY SBUS and SPort combined. RC and telemetry signals on one wire.

F-Bus - F-Port version 2

Tandem (TD) - FrSKY RC system which uses 2.4GHz and 900MHz RF simultaneously

iBUS - FlySKY Serial RC protocol. All channel signals on one wire.

CRSF - Crossfire. Team Black Sheep long range RC protocol. Similar to FPort.

R9 - FrSKY Long range RC 900MHz protocol 

ExpressLRS (ELRS) - Open Source, Long range, low latency RC system. 2.4GHz or 900MHz versions. Uses the CRSF protocol.

ESC - Electronic Speed Controller

BEC - Battery eliminator circuit. Confusing term for a voltage regulator found on ESCs and FCBs. BECs reduce and smooth out the battery voltage for use by lower voltage devices. Eg. 9V or 5V for FPV gear, 5, 6 or 7.2V for servos. 

Friday 3 July 2020

Invalid lines in OpenTX Telemetry log files

This message is very irritating when you're wanting to view a telemetry log file in OpenTX Companion.

Fortunately the fix is not too difficult.
The problem most likely is that the log file contains a column of values that are not relevant for your chosen radio.

For example, with my Taranis X9 Lite and Archer M+ receiver connected to a Matek F405 Wing board and all telemetry being logged, the file includes a column of nonsense values for SF. However there is no switch F on the X9-Lite.

OpenTX log files are in csv format, or comma separated values, and can be opened in any spreadsheet
program such as Excel in Windows or Numbers in Mac OS.

Open the log file in a spreadsheet program and look for the offending column and delete it. 

Then resave or export the file as CSV again.

Then the log file should open correctly using OpenTX Companion, and you should be able to display the GPS track in Google Earth.

SUBSCRIBE iNav Rover Mission
SUBSCRIBE iNav Rover Mission

Wednesday 24 June 2020

INAV Waypoint Mission Notes

Using Mission Control in the iNav configurator

First waypoint needs to be closer than 100m to the arming or home position. 

This default distance of 100m (10000cm) can be changed in the CLI.

set nav_wp_safe_distance = 10000 (0 - 65000)

Can't arm if it's too far away. May be a safety feature so you dont load the wrong mission.

Default Alt and Speed for all waypoints can be preset using the little gear icon. 

Note that Waypoint Speed is not used for fixed wing and rover missions (only used for multi rotors)

Fixed Wing and Rover both use Cruise Throttle to set the speed for missions. Cruise Throttle must be set high enough for safe RTH and Pos Hold flying.

Waypoint height is in cm (above the home altitude)
5000cm = 50m

If you dont tick "RTH at end of the mission" the plane will loiter at the last waypoint using Pos Hold and Alt Hold.

Rovers need RTH and Landing ticked to stop when home position is reached.

Saving the mission

Save file (Saves the mission on to your computer or phone for later use)

Save Mission to FC (Temporarily saves mission to the FC. Mission is deleted when the FC is powered down)

Save Eeprom Mission (Saved to the FC until it is overwritten by the next Save Eeprom mission command)

Activating the mission

Before arming:
Stick command - Pitch UP and Roll RIGHT to make the mission available for this flight.

In the air:
Turn WP switch on while flying to activate the mission.
Turn WP switch off to end the mission and return to normal iNav control

Satellite view instead of drawn maps

Click on the little gear icon in iNav Configurator, top right, to change map providers.

Choose Bing Maps and enter your personal API key, then restart iNav Configurator and that's all.

OK, how do you get an API key? Quite easy really.

Just enter iNav as the application, nothing else required.

Friday 12 June 2020

Calculate maximum flight time

If you know your average cruise current you can estimate maximum flight time from any battery.

Assuming you only want to use 80% of the battery capacity the equation is:

Battery mAH divided by Cruise Current Amps multiplied by 0.048 = Flight Time Minutes

Example using 2200mAH Lipo and 3Amp cruise current 

2200mAH / 3A X 0.048 = 35min

Note that battery cell count is not required for the calculation

Saturday 2 May 2020

INAV Basics (pre version 3) - FAQs, Firmware and Configuration

This information is correct up to INAV V2.6
FAQs and common problems 

Which firmware target to flash?
Printed on the bottom of most Matek boards or on the product page

Servo throws are too small in stabilised modes?
Increase FF values in PID Tuning page

Not holding altitude in Angle Mode?
Increase Pitch Degrees in Configuration Page (or Mechanics tab of the PID page for INAV 3, 4 and 5)

Flying too slow in Altitude Hold and RTH modes?
Increase Cruise Throttle value in Advanced Tuning page

Will failsafe work if signal is lost?
Turn off the transmitter and check that the little parachute turns red in the INAV configurator

GPS not working?
Switch Rx and Tx connections

Servo reversed?
Select reverse for that servo in the INAV configurator Outputs page

Stabilisation reversed?
Invert the Channel in your transmitter.
Check that the board is facing the right way. Arrow pointing forward.

How to use Autotrim?
Fly in Manual Mode, activate Autotrim and fly level for 2 seconds, keep autotrim on, land and disarm. Repeat whenever you need to retrim.

How to use Autotune?
Fly in Acro Mode, activate Autotune and fly around for a few minutes making full deflection roll and pitch changes. Turn Autotune off in the air. Land and disarm. Save the new PIFFs by pulling both sticks down and out.

Stick Commands don't work?
May be prevented by a Throttle Cut switch or lack of Yaw channel on a flying wing.
Elevator, Aileron, Throttle and Rudder channels must be active but the board disarmed.

Introduction to INAVFlight for fixed wing

INAVFlight is Open Source firmware for flight control boards, which enables GPS navigation for planes and flying wings, as well as multi rotors.

It is an independent project developed by hobbyists and hosted on Github. The developers are not paid, they do this purely as a hobby. So that means any changes happen because a developer feels like it, or enough users have asked and a developer agrees or has the time to write the code.

INAV is quite amazing, powerful, confusing, messy and hard to understand initially, but really worth making the effort to learn.

Before connecting a flight control board 

First concept to understand is that INAV cannot work well with a plane that is out of trim.
Centre of Gravity, Aileron and Elevator throws, and trims must be sorted first without using the transmitter trims and rates. Adjust the pushrod lengths and connection holes as much as possible so the plane is easily controllable and correctly trimmed for level flight.

INAV Configurator 

This is the computer program used to load and configure INAV firmware on your flight control board.

Go to INAV configurator releases on Github, scroll down to the Assets list to see the latest release. Download and install the version that suits your computer system.

Note that this is not the INAV Firmware just the INAV Configurator.

USB drivers

Before you can connect a flight control board (FCB) to your computer you may need to install the correct USB drivers.

Links to the required drivers can be found on the INAV Configurator front page.

Download and install the relevant USB driver for your computer.

Open INAV configurator and connect your board via USB. Be careful with the delicate USB socket on your board. I usually add some epoxy glue around the base of the socket.

Select the correct port for your board. It should show up in the list  when the board is plugged in. This shows the port used on my iMac.

Now click Connect.

If the INAV firmware version and INAV configurator version are compatible then this is what you will see.

Otherwise you will get a message about what needs to be updated. You may need to update to a more recent INAV configurator or flash the board with more recent firmware.

Flashing new firmware to the flight control board

To flash new firmware the board needs to be in DFU mode. Matek boards, and most others, have a boot button. Hold down the boot button and reconnect the USB cable, then release the boot button. DFU should show in the port window. 

Or just type DFU in the CLI while plugged in.

Now click on Firmware Flasher.

Select the correct target for your board. The target may be written on the bottom of your board or on the product page.

Dont just guess, the target names are not always obvious. For example the Matek F405-Wing board needs the MATEKF405SE target.

Select the firmware version from the list

Click Load Firmware (Online).
Or Load Firmware (Offline) if you have the firmware file saved locally.

Click Flash Firmware
If all is working you will see the progress bar start moving. Once it's done the board will be updated and ready to configure.

If not you may need to try a more recent computer or ask for help on the INAV forums. I cant flash firmware with my 9yo MacBook but my 3yo iMac works fine.

Model setup in your transmitter

Another very important concept to understand is that you don't use any mixing in your transmitter, all the mixing work is handled by INAV and the flight control board. All you need is 100% weight on the first 4 channels for the sticks, and whatever mode switches you need. This model setup can be used for all INAV craft including airplanes, flying wings and multi rotors.

Here is my setup
Ch1 100 Ail
Ch2 100 Ele
Ch3 100 Thr
Ch4 100 Rud
Ch5 Nothing / Arm (2 pos switch)
Ch6 Nothing / Angle (2 pos switch)
Ch7 Nothing / Cruise / Position Hold  (3 pos switch)
Ch8 Nothing / Manual / RTH (3 pos switch)
Ch9 Nothing / Auto tune (2 pos switch)
Ch10 Nothing / OSD 1 / OSD 2 (left slider)

INAV Wiki on GitHub - Must read

This is where all the setup guides and tips are. It is the starting point for understanding how to setup INAV.

If you start asking basic questions on any INAV forum you will most likely be told to go back and read the INAV Wiki

Do yourself a favour and read the Fixed Wing Guide thoroughly, re-read relevant sections, and keep coming back. All the answers are here, including recommendations for flight control boards and GPS units.

Here are the sections you should study closely

Fixed Wing Guide Bookmark this page, you will come back here regularly

INAV Flight Modes This page describes all the non GPS modes.

iNav Navigation Modes These are all the GPS enabled navigation modes

Setting up Failsafe for RTH This shows how to setup the most important feature of INAV - Return to Home when RC signal is lost.

INAV CLI variables This shows all the internal workings of iNav. Something to study when you are more advanced in your INAV journey.

Also check out these excellent guides from the INAV Fixed Wing Facebook Group (scroll down to the pdfs)

Flight Control Board setup in INAV Configurator - Finally!

There is a fair bit to go through here so watch this video first, then I will explain the important bits. The configurator layout may be slightly different now but all the relevant sections are there.

Important - Click Save and Reboot at the bottom of the page to store any changes.

Setup Page
Board animation moves as you move the real board.
Heading, Pitch and Roll show the current angle of the board. 

Calibration Page
Every new board and new firmware requires this accelerometer calibration routine to be completed.
Compass calibration is only for quads. Connecting a compass or magnetometer is not recommended for planes. GPS can provide direction information.

Mixer  Page  
This is where any mixing happens, never in your transmitter
Choose Airplane in the Platform Configuration
Choose the correct Mixer Preset for your plane or wing. Note that default elevon mixing is 50% aileron 50% elevator.
Add new mixer lines for other functions like camera pan, flaps etc.

Outputs Page
Turn on - Enable Motor and servo output
Turn on - Stop motors on low throttle
This is where you can reverse any servos that are moving in the wrong direction, not in the transmitter.
Range and midpoints for each servo can be adjusted here if needed.

If you need to change Aileron and Elevator Rates use the Manual rates in the PID tuning page.

Presets Page
I prefer not to use any of these presets. Some of them are wrong and most likely won't suit your setup.

Ports Page
This is where you tell the board where you will connect the receiver and GPS. Also other devices like Smart Audio VTx control, Runcam camera control etc.

Configuration Page
Most settings will be already selected according to your board. Don't change anything unless you know what you are doing.

Setting that can be changed.

Board alignment
Pitch Degrees - If the plane doesn't fly level in Angle Mode this is where you make changes. I usually need about +3.0 degrees. Note this has nothing to do with Altitude Hold which is a GPS mode. This is to get the plane flying level just using the orientation of the board.
Yaw degrees - This is where you tell INAV if you mounted the board sideways (90 degrees) or backwards (180 degrees)

Receiver Mode
Select your Receiver Mode and Serial Receiver Provider. 

Turn on GPS for Navigation and Telemetry
GPS protocol should be pre-entered, but check your GPS product page for the correct protocol.

Other Features
"Stop Motors on low throttle" and "Enable Motor and servo outputs" will already be selected if you turned them on in the Outputs page
Analog RSSI - only enable if you are using a receiver with analog RSSI wire connection to the board  (eg L9R)
Turn OSD on - for OSD in your goggles
Permanent Airmode and Launch Mode are optional. I prefer to leave them off.

Failsafe Page
Select RTH

PID Tuning  Page 

PID Gains Tab (or PIFF Gains for fixed wing)
FeedForward or FF is the only value you need to change at this stage. P and I have much less effect on planes compared to quads. 

FF determines how much of your stick movement is forwarded on to the control surfaces when you are in any mode apart from Manual.

Increase FF if your servo throws are too small in Acro or Angle Modes. 

I like to increase (or decrease) FF until the throws in Acro Mode are about 80% of the throws in Manual Mode. That ensures you have adequate control from the sticks with some servo range left for stabilisation.

Autotune Mode can also be used to set P, I and FF values for your plane but I prefer to set them manually.

PIFFs for planes with a Rudder
If your plane has a rudder make sure your rudder throws are quite small, I recommend no more than 10º. Reduce mechanical throws or reduce Manual Yaw Rate to ensure the rudder doesn't overreact in RTH and POS Hold Modes. 

In ACRO mode Yaw is stabilised. This means the rudder will actively stop the plane turning unless you input some rudder stick. If you want to just bank and yank for turns, turn off yaw stabilisation by reducing Yaw P and I to zero, or select RC Yaw instead of Stabilised Yaw in the Mixer page.

Rates and Expo Tab
Maximum rotation rates are probably the most important number to get right for PIFF tuning. You need to determine the maximum Roll rate, Pitch rate and Yaw rate for your plane (in degrees per second) and enter them here. INAV needs to know these rotation rates for accurate stabilisation calculations. 

Note that we are talking about aircraft rotation rates here, not the usual control surface rates (or weights)

Fly your plane in Manual Mode and record how long it takes to do a full roll and a full loop (at a speed that allows loops and rolls). Divide 360 by the number of seconds. If a roll takes 2 seconds then the rate is 360 / 2 = 180 degrees/sec. 

It is important to set your maximum rotation rates slightly below the plane's performance, and definitely not higher. The number to enter should be about 10% lower.

Roll = 180, Pitch = 120 are good rates for my Ranger 1600, but all planes are different.

Yaw rate is difficult to determine but I use about 60. Ignore Yaw values if you dont have a rudder.

Roll Expo and Pitch Expo are the same as RC Expo in the Receiver page, and relates to all modes other than Manual.

According to the INAV Fixed Wing Guide Max ROLL angle and Max PITCH angle can be increased to 60 for sharper turns in any of the Flight Modes.

Manual ROLL rate, Manual PITCH rate, Manual YAW rate - This is where you can reduce control surface throws if you can't change pushrod connections. 

Filters and Mechanics 
Can be left alone

Advanced Tuning Page
Ignore Multirotor settings

RTH and Landing Settings
Choose a RTH altitude mode, I prefer "At Least, linear descent". Full explanation in the WIKI
Change RTH altitude from 1000 (10m) to something like 5000 (50m)
Change Land after RTH to "Never"

Fixed Wing Navigation Settings
These are the settings for GPS controlled flight modes. Think of them as Autopilot settings.

Cruise Throttle 
This is the throttle setting used for Altitude Hold and RTH flights. The default setting of 1400 is just below half throttle. Increase this value if it is too slow for safe cruising speed. Decrease if it's unnecessarily fast.

It's best not to change the other values at this stage.

Receiver Page
Check that channels are working as expected in this page.
Roll, Pitch, Yaw and Throttle graphs should increase when you push your transmitter sticks up and to the right.
If they decrease you need to reverse that channel on your transmitter. This ensures any stabilisation will be in the correct direction.
Also adjust the channel end points on your transmitter so that Roll Pitch and Yaw graphs go from minimum 1000 to maximum 2000. My Taranis requires end points to be adjusted to -97 and +97.

Manual RC Expo can be reduced here if you want. Default Manual Expo is 70 which is probably more that you are used to.

Select your RSSI channel if you have RSSI configured on a channel.

Modes Page
Here is where you setup all your mode channels and switch position

Commonly used Flight modes.

Air - Not really a mode but a modifier of other modes. Keeps stabilisation working when throttle is low. Best to turn on permanently if you use Presets and your aircraft is hard to glide or land without stabilisation.

Not required if you increase FF for more control in stabilised modes.

AIR shows as the mode in your goggles OSD rather than the actual mode, which is why I turn AIR mode off. NAV 2.6 will fix this bug.

Angle - self levelling, automatically enabled in all the GPS modes. Useful for checking board alignment, especially pitch degrees,  because it relies on board alignment and correct trim for level flight.

Acro or Rate - This is the default mode, always active when no other mode is selected. Stabilised but not self levelling. I use this mode most of the time for general cruising around.

Manual - No stabilisation, full control. Expo 70% and Rate 100% set by default in iNav. Useful to trim the plane and take to control if the board is faulty. Note that Manual is a mode like any other and has to be assigned to a switch position. 

Servo Autotrim - Attempts to set the servo subtrims for level flight in Manual mode during the first 2 seconds after being activated. Use this instead of transmitter trims and whenever needed to retrim the plane. 

Fly in Manual Mode, activate Autotrim and fly level for 2 seconds, keep Autotrim on, land and disarm to save the new subtrims. 

Autotune - Attempts to tune the P, I values for good stabilisation and FF values to give good stick control. 

Fly in Acro Mode, activate Autotune and fly around for a few minutes making full deflection roll and pitch changes. Turn Autotune off in the air. Land and disarm. Save the new PIFFs by pulling both sticks down and out.

Nav Launch - launch assist mode which delays motor spinup until acceleration from the throw is detected, then provides stabilised 5 sec climb out, then switches to whatever other mode is selected. eg. Nav Launch and RTH are a useful combination.

My GPS modes

Nav Cruise - Maintains current altitude and heading. 

Position Hold - Circles around the position at a set radius, 50m by default. Since INAV 2.5 it also holds Altitude as well.

Return to Home - Returns to the arm point then circles at a set height, 50m radius and 10m altitude by default. Must change this if 10m is too low in your area. I usually use 50m altitude.

Adjustments Page
Ignore this one

GPS Page
Check GPS function here. If the Total Messages number is counting up then your GPS is correctly connected. If not, make sure the GPS is getting power and try switching the GPS Tx and Rx connections. Satellite numbers will start showing up after a few minutes as long as you are outside or near a window.

OSD Page
This is where you can configure The OSD to your liking. Add, remove and position items on the screen where you want them.

CLI - Command Line Interface

Your entire setup can be seen by typing DUMP in the command entry space. 

Or type DIFF to see just what has been changed. 

You can save and share all this as a text file. Click Save to file.

All that text can be re-pasted into the "Write your command here" section for quick and easy setup of a new board.

There are many more commands and setup items available via the CLI than appear in the Configurator pages.

The Fixed Wing Wiki recommends a few extra settings that are not included in the previous pages. They need to be entered via the CLI.

Here are the extra setup commands I always add

 set max_angle_inclination_rll = 600

 set max_angle_inclination_pit = 600

(Increases the maximum pitch and roll angles to 60º for stabilised modes)

 set small_angle = 180

(Allows the board to be armed at any angle)

 set failsafe_throttle_low_delay = 0

(Prevents failsafe due to low throttle)

 set inav_reset_home = FIRST_ARM

(Keeps the first arm position as home if the board disarms)

 set nav_fw_allow_manual_thr_increase = ON

(Allows manual throttle above the cruise throttle setting) 

INAV groups and videos for more information