Reptile X4R 220 – maiden flight

Last week I’ve been finally able to put my new mini quad into the air. It’s based on Reptile XR4 220 frame. Looks like I’ve succeeded with my build this time, since there were no major problems. Few minor, yes, but no major.

My Reptile X4R 220 mini quad has following specification:

  • Motors: EMAX RS2205 2300KV
  • ESC: FVT LettleBee 20A
  • Propellers: DAL 5040
  • Flight controller: SPRacingF3 clone running INAV with asynchronous gyroscope and accelerometer. I’ve already written few words about async gyro updates here
  • Radio RC link: ***FrSky X4R-SB***
  • Camera: Runcam Swift
  • VTX: TS5823S 200mW
  • Matek PDB-XT60
  • Micro MinimOSD with MW-OSD 1.5

Here is short, uncut, video from maiden flight:

The only problem I’ve encountered, was with OSD. It stops overlaying data on aggressive maneuvers for a second and then OSD comes back again. Probably it’s because of voltage drop/noise. MAX7456 is extremely voltage quality sensitive. I will try to fix that with additional capacitor on 5V line this weekend.

Read More

Hands on: Piranha Multitool from Banggood

All RC enthusiasts know this algorithm:

  1. Build
  2. Fly
  3. Crash
  4. Repeat

Sometimes there is “buy” instead of “build”, but rest stays the same. What goes up must comes down and very often there is a need to fix/repair something on a airfield. Basic tools are a must when going flying! I’ve decided I carry too many of them and I must combine some of them into one multitool. So, I’ve purchased a Piranha Multitool from Banggood.

Piranha multitool from Banggood 1

One tool combines:

  • Pliers
  • Wrench
  • Knife
  • 2 screwdrivers

Piranha multitool wrench

Piranha multitool pliers

Whole tool makes a solid impression. It is made from steel and at a first glance it does not looks like it wants to fell apart after first usage. Pliers has a cutter and a safety switch and looks strong.

Wrench also feels solid, but there is no limiter, moving part can fell off. Not highly probable, but possible.

Piranha multitool from knife

Knife looks like the weakest element of whole set. It feels flimsy. I hope I’m wrong.

Conclusion? For ~$12 it looks and feels fine. Hope it will work fine too.

Read More

INAV header

INAV 1.2 RC1 has been released

After 3 month from previous release, INAV is preparing for a new version. INAV 1.2 will be quite massive, with a lot of new features and improvements. Full change list is available here. I will only describe the most important and “visible” changes.

  • Rates are no longer stored in arbitrary units like 0.4. Who knows what 0.4 means? How fast UAV should rotate when this rate is set? Is 0.8 twice as fast as 0.4? (The answer to that question is “No”) To solve this problem, INAV uses degrees per second [dps] to define maximum rotation speeds. INAV Configurator provides nice and simple user interface for that. The ones who uses CLI has to remember, that INAV stores rates in dps divided by 10. So, set roll_rate=72 means that roll rate equals 720dps. GitHub INAV Wiki has a page that describes how to convert INAV 1.1 rates to new system. Also, RC Rate setting, as obsolete, has been removed.
  • FP-PID has been rescaled to match LuxFloat and MWRewrite PID controllers. That means, if you have tuned drone in either Cleanflight or Betaflight, you can just use the same PID settings in INAV now, without a need to retune. That also means, that tunes from INAV 1.1 will not work in 1.2. This page or this Google Docs Spreadsheet can be used to convert INAV 1.1 PID to INAV 1.2
  • Just like latest Betaflight 3.0, INAV 1.2 has a feature that allows to limit angular acceleration. This might be very useful when tuning big and heavy frames with a lot of inertia. They are just not capable of angular acceleration that operator might require from them even with stick movements. If frame oscillates/shakes during stops, that means that it is unable to satisfy required acceleration/deceleration, Iterm winds up and as a result, frame overshoots target only to try to correct that fractions of a second later. To get rid of that effect rate_accel_limit_roll_pitch and rate_accel_limit_yaw CLI variables can be used. They represent maximum angular acceleration/deceleration in degress-per-second^2 [dps2] UAV operator can request. By default it is disabled for roll and pitch and set to 10000dps2 for yaw.
  • Improved MAGHOLD controller that results in much smoother yaw movements in RTH and WAYPOINT flight modes. New mag_hold_rate_limit setting limits yaw rotation rate MAGHOLD controller can request. Default of 90dps is enough for agile UAVs. For slow, cinematic, turns, value of 25dps generates good results. I already described this improvement here
  • Flaperon flight mode. Available only on fixed wing (not on flying wing) platforms. When enabled, both ailerons will be deployed down to act as flaps. Flaperon behavior is driven by 2 CLI variables:
    • flaperon_throw_offset determines how far ailerons will be deployed
    • flaperon_throw_inverted allows to invert aileron throw in Flaperon mode. Can be used to create spoilerons instead of flaperons
  • Greatly improved GPS performance
  • Maximum climb/descend rate in WAYPOINT mission flight mode is now limited by nav_max_climb_rate setting (in centimeters per second)
  • More precise expo curve resulting in smoother UAV behavior near sticks center positions
  • Greatly improved landing detection mechanism that can effectiveness detect landing and disarm motors in RTH mode
  • Just like Betaflight, INAV saves configuration (PIDs, rates, etc.) with Blackbox logs. Both Betaflight and INAV blackbox viewers can be used to get config from logs. Great for tuning, since log contains both flight data and configuration used to obtain this data
  • Turn assistant flight mode – when enabled, yaw movement will be done in parallel to ground plane, not UAV plane
  • Full stick range is now used in ANGLE and HORIZON flight modes
  • More data reported via LTM protocol
  • Initial MAVLink support. It is far from completed, but MAVLink enabled ground stations should be able to receive telemetry from INAV.
  • Support for nRF24L01 transceivers. Fly Naze32 with Syma radio? Now it will be doable
  • Multiple bugfixes and other improvements

Read More

How to dispose / utilize LiPo batteries

LiPo batteries that run RC hobby are potentially dangerous devices. When not handled properly they can ignite or even explode. And they do not live forever. Even the best battery, no matter how taken care off, loses capacity, swells and has to be disposed. When we combine both facts we face a problem: how to dispose old LiPo batteries if they can catch fire? It’s extremely hard to find a place that accepts them for utilization. Throwing out with garbage is not a good idea. Disposing with popular alkaline batteries might sound as a good idea, but it is not either. So, how to utilize old LiPos? This is quite easy…

  1. Build a LiPo discharge device using 24V halogen light bulb. No high-tech here, just a way to connect light bulb to a battery. 12W halogen is generally a good option for both 3S and 4S LiPos
  2. Put a battery inside ceramic pot with some sand (not flammable if thing go very very wrong for any reason), connect “discharge device” and let it do its job. Light bulb limits discharge current, so LiPo should discharge nicely without extra swelling or overheating Magical LiPo tree Continue reading “How to dispose / utilize LiPo batteries” »

Read More

INAV header

INAV 1.1 for Naze32 with working telemetry

As long as Naze32 / Flip32 are decent flight controllers for those who does not demand too much, they share very big flaw: low flash memory size. While even a year ago 128kB of flash was enough, times changed, and limited flash makes a problem for advanced flight controller software like INAV. Starting from INAV 1.1, STM32F1 flight controllers started to pay a penalty of disabled features. That time it was "only" telemetry providers other than LTM. Next time it might / will be more.

During last few weeks I've received few request to compile INAV 1.1 with enabled FrSky and/or SmartPort telemetry on Naze32 target. While I have nothing against doing that on request, I've decided it would be better to just prepare special version of INAV 1.1 for Naze32 users with all telemetry providers enabled. Link to ZIP file is at the bottom of this post.

  • This version has LTM, FrSky, SmartPort and HOTT telemetry enabled
  • To fit telemetry in limited flash memory, following features has been disabled:
    • OLED display support
    • DJI NAZA GPS module support

INAV 1.1 for Naze32 with telemetry enabed

Read More

3D Printed RunCam HD / Mobius camera mount for Reptile X4R 220

After I finished my new Reptile X4R 220 racing mini-quad, I've realized, that there is no way I will be able to mount my RunCam HD on it. Comparing to ZMR250, 220 frame is just small. On a top plate there is enough room to fit battery, RC and FPV antennas and all what is left is around 35mm in the front. Plus, with angled FPV camera, there just no place for RunCam HD/Mobius form factor cameras. So, some time with 123D Design and few hours of printing, and here we are: 25 degrees mount for RunCam HD and Mobius camera specially designed for Reptile X4R 220 frame

25deg Runcam HC and Mobius Camera mount for Reptile X4R 220

This mount has 25 degrees inclination, will fit both RunCam HD and Mobius (not sure about RunCam HD2…) and its base is only 42x32mm. So it can be installed on small frames like 220. But, it will also fit bigger. No problems here.

25deg Runcam HC and Mobius Camera mount for Reptile X4R 220

The best way to install it on a frame is to use either zip ties or double sided velcro straps. There is a slot for 20mm wide velcro straps. To make it better, use 3M Dual Lock between.

To securely install camera also use 3M Dual Lock and use a velcro strap too. That should keep everything in place just fine.

3D Printed 25deg Runcam HC and Mobius Camera mount for Reptile X4R 220

Read More

Flyinglemon AIR32 STM32F3 flight controller

It was a good week for flight controllers from Poland. Few days ago ROTORACER showed his RACEBASE FC, yesterday Flyinglemon showed his AIR32 STM32F3 board. Comparing to RACEBASE F3 it is maybe less advanced in terms of integration, but not always more is better.

flyinglemon-air32-flight-controller

AIR32 features:

  • integrated 5V step-down 600mA BEC compatible up to 6S
  • SPI connected MPU6000
  • 2 external UARTs
  • Spektrum Satellite connector
  • hardware FrSky S.BUS inverter
  • VBAT, RSSI, WS2812 LED output,
  • Boot tact switch

Board is supported by latest Betaflight 3.0 (still in RC phase) and special build of Betaflight 2.9.1.

Now, I'm waiting for a week of new F4 boards…

Read More

ROTORACER RACEBASE FC

Only a few days ago I’ve written, that new STM32 flight controllers are appearing every few weeks. Weekend goes, and here we go again, this time it’s a STM32F3 (STM32F303CCT6 ) based board from my Polish compatriots from ROTORACER called RACEBASE FC.

racebase f3

Main features:

  • SPI connected MPU6000 gyro (allows 8kHz update frequency)
  • 36x36mm form factor
  • integrated BEC allows 2S-4S battery direct connection* integrated power filter (LPF) for noiseless FPV setup
  • integrated MAX7456 based OSD with RSSI, battery level and PID tuning capabilities
  • 64Mbit flash
  • runs Betaflight

rotoracer racebase f3

Read More

Hands on: Reptile X4R 220 quadcopter frame

Last week, first parts for my new racing quadcopter started to arrive. One of them, was carbon fiber frame: Reptile X4R 220. Why this one? Like I stated many times: I'm cheap. Plus, I did not wanted to go with another ZMR250 build. This frame was easily available, within budget and good looking. So, few weeks later, here we are…

Reptile X4R 220 frame - parts

Specification:

  • 220mm motor-to-motor
  • Weight: 120g
  • 4mm carbon fiber arms
  • 2mm carbon fiber bottom plate
  • 1.5mm top plate
  • 35mm aluminium standoffs
  • adjustable camera mount (fits HS1117 and RunCam Swift)
  • integrated power distribution board (PDB) with 5V BEC

Reptile X4R 220 frame - arms and bottom plate

After 2 evenings with this frame, I'm almost finished with a build.

Pros:

  • overall quality is good
  • everything fits, no need to ream holes, sand or cut anything
  • more nuts and bolts than required

Reptile X4R 220 frame - arms

Cons:

  • top plate are rather thin. I would prefer 2mm top plate or maybe 2.5mm bottom plate too
  • power distribution board is an structural element of whole frame. If you want to use different PDB (I wanted to use Matek PDB-XT60) you might have a problem. Some improvisation will be required
  • In theory, each arm is kept in place by 3 M3 bolts. In theory… In practice, one of those bolts enters nylon standoff. Not metal nut, but nylon. So, instead of 3 bolts per arm, it is only 2.5 bolts or even less… too bad… Still, whole build is rigid enough…

Reptile X4R 220 frame - all things in place

Read More

INAV: unsynced gyro updates

Until recently, INAV concentrated on GPS and navigation support. Comparing to Betaflight, or even Cleanflight, its acro capabilities were rather limited. Flyable, but limited. Now we are trying to catch up. While upcoming INAV 1.2 will rather not change much in this topic, there are few experimental code versions that might greatly improve INAV acro capabilities. One of them is separation of gyroscope readouts from PID loop.

INAV and FP-PID with extensive floating point logic are rather slow. Looptime 2000us (500Hz update rate) is a limit for F1 targets and 1000us (1kHz mode) is barely reachable by most F3 targets. Version from mentioned above pull request separates gyroscope readouts and filtering from main PID loop. Thanks to that, gyro is updated much faster (up to 2.6kHz in case of F3 with I2C gyro). Faster gyro update means better signal signal quality, lower delay, better filtering and less aliasing. One the other hand, motors does not have to be updated that often. Not only they are unable to change rotation speed as fast as we can drive them, they are unable to notably change thrust as fast as we would like them to.
Let's do some math: what will the distance that tip of a 5" propeller running 12,000PRM will travel during 500us (2kHz update frequency)? About 40mm. More less 10% of a circuit. Not much distance to change generated thrust…

This might sound strange, but looks like it is working. Below is a short video of my 3S 250 quad running gyro loop at 2kHz and PID loop at 666Hz. Honestly? This quad never flew better! Please ignore my lame flying skills 🙂

If anybody would like to try asynchronous gyroscope on INAV, please drop me a message, I will compile and share this special version.

Read More