Friday, August 2, 2024

Inav for Rovers on F4 Controllers

 I spent a lot of time trying to get a rover to work with F4 flight controllers (FC).  I thought it might be helpful to others to summarize some of my learnings:

  • Inav rover software for F4 controllers often does not have all the features of Inav.  There is also no documentation of what features are not operable.  
    • I could not get S.port (smartport) to work on Kakute F4 or Omni F4.  It is shown in the flight controller documentation for Betaflight, but I could not get it to work.
    • The small OLED displays kind of work but the information displayed has no documentation and is often garbled.  
    • Adding bluetooth via bluetooth modules is supposed to work but I could not get it working on any F4 controller.
  • The FC software or the configurator will sometimes change parameters with no warning.  The first step in fixing a missing or inoperable GPS or magnetometer is to check the basic settings, the port configuration, and maybe change the setting to "auto" and force the FC to rediscover the sensor and reconfigure it.
  • If you want a high level of functionality in your rover and less debugging hassle, upgrade to an F7/H7 FC.  My Kakute F7 could do proper telemetry via S.port with no trouble.  The Kakute F4 could not.
  • Document your wiring
    • Which UART is assigned to which function
    • How are the GPS, mag, etc wired to the FC
    • Establish one ground connection point and attach all sensors, FC, servos, ESC, battery to that one point.
    • Don't count on the FC 5V supply to power the steering servo.  Use the ESC 5 volt supply.
    • Sometimes the FC 5 volt supply relies solely on the battery, so an external 5V from a BEC will not work if it is connected to a 5V pin on the FC.
  • Arming is a hassle with Inav independent of FC.  I found that it would only work when I flipped the arming switch AND held the left stick down and to the right.
  • 10 series GPS work way better than 8 series.  My Beitan M8N finds 4 to 5 satellites when partially obscured.  My 10 series GPS finds 7 or 8 satellites in the same position.
Hope this helps.

Friday, September 22, 2023

INAV versus Ardupilot for Rover

I started making drones around 2011 when it was new and unregulated.  You bought a bunch of items from Hobbyking and China, read a bunch of stuff online, then experimented until your drone flew.  There were only a few expensive ready to fly drones from 3DR and DJI.

Fast forward to today and drones are highly regulated, intensely disliked by the public, and split into a few categories: racing, camera, industrial..  I have given up on drones but am still interested in autonomous vehicles, so I decided to build rovers.

My first rover is a converted Tamiya Grasshopper.  I used a Kakute F7 flight controller, GPS/compass, small OLED status display, Radiomaster TX and RX, and replaced the speed control in the Grasshopper.  

I tried it first with Ardupilot software, which I used in drones since 2011.  Wiring was a pain as I tried to keep the body of the car and add the rover functionality, which was a mistake.  With a smaller flight controller, a tight space, and a rover setup, I needed to add a separate board to allow me to change connections easily and debug.  This is the green board with the spaghetti of wires on the right side.

Ardupilot kept getting updated, and I had trouble getting it to work in rover mode, so I thought I would try Inav.  Here is what I learned:

Ardupilot

  • Complex but allows for much customization.  Hundreds of parameters to set and outputs to monitor.  My previous experience helped me.
  • Great documentation - you can look almost anything up.  Fair amount of videos available too.
  • Good community - lots of help available
  • Much easier to debug - logs available, status info on mission planner screens and onboard OLED
  • Limitations if you don't use an up to date Pixhawk controller.  For example, the newest software for Kakute F7 deleted the OLED screen support.

Inav

  • Simple and little support for customization.  It looks easy to get a quadcopter working but rovers are an afterthought and sometimes you need to set something up in a different way.
  • Poor documentation - most of the useful information is in Youtube videos and it is frustrating to listen to 10 minutes of video to find out how to fix one simple error message at times.
  • Good community - not a lot of people but they are helpful.  However, the community seems to be spread out over Reddit, Github, and Discord.
  • Difficult to debug - logs only available if you pull out the SD card and read it, poor status info on mission planner screens and onboard OLED
  • Lots of support for different affordable flight controllers.
If I had to do it over again, I would stick with Ardupilot.  However, it is more challenging to try and make Inav work, so stay tuned for more info.

Saturday, June 17, 2017

DJI Phantom 3 Versus Custom Built Camera Drone

Anyone reading this blog (does anyone read this blog?) would know that I have built quite a few camera drones - SK450, SK450 Deadcat, S500, S500 Hexacopter.  Most of them used commercial frames, APM or Pixhawk controller, and Gopro or similar cameras.  They all worked, some of the time, and I enjoyed building them.

But I was tempted by a very low price on a DJI refurbished Phantom 3 Standard and bought it.  What was it like getting a pre-assembled and integrated drone working?  In short, very good.

I will not do a full review but just highlight the big differences between a home built drone and the DJI.

Debugging - no debugging needed, just follow the instructions, watch a few Youtube videos, update the firmware and it was ready to fly.  Contrast that with hours and hours trying to get a DIY drone working well.

Features - The DJI has more features than my homebuilts, although I could add more.  Specifically, the DJI came out of the box with failsafes, FPV, full camera control from the ground, auto takeoff and land, as well as full OSD (on screen display).

Flying - I guess DJI has a lot of experience with people crashing their drones and complaining.  The Phantom is easier to fly and has a beginner mode to keep you safe.  The auto takeoff and land also prevent a lot of crashes.

Camera - The DJI camera is pretty good, maybe not quite as good as the Gopro Hero line, but acceptable.

Accessories - Good and bad things here.  Accessories like carrying cases, landing gear extensions, and props are readily available at reasonable prices.  DJI batteries are proprietary and expensive.

So all in all a very good experience with DJI Phantom 3 Standard for about $300 USD.  If you are more into flying and photography than building and debugging, I definitely recommend it.

Sunday, February 28, 2016

Quadrysteria Mini Mamba Review


Mini Mamba (Final Version)

A while back, I bought a 250 racer style kit from Quadrysteria called the Mini Mamba.  It is high quality in general, with Sunnysky motors, true carbon fiber frame, SimonK ESCs, etc.  The kit included the frame, motors, ESC, integrated BEC/power distribution card, and instructions.

I initially elected to use a Mobius FPV system, spare mini-APM controller, and Lemon DSMX receiver to complete the build.  I started trying to use the instructions, which are well written, but not very useful.  Unfortunately, there are no pictures and you are left wondering which plate is the top, what is the front, exactly what standoff is required etc.  Fortunately, there are video instructions here, and they show you exactly what to do.

In the initial build, I ran into a few problems, some of my own making.

  1. The mini APM may have been defective, it did not consistently stabilize the unit.
  2. The integrated power board from the kit was defective.  It did not supply proper 5V for the receiver and APM.  I had to replace it with a power distribution board and use one of the ESC BECs.
  3. The wiring for the mini-APM and rest of the electronics was not reliable, probably due to the crummy wiring supplied with the mini APM.  The ESC BEC was probably not the best choice as well.
The Mamba flew, but not well, I did crash it badly enough that I had to repair it.  One of the advantages of the Mamba is that will usually just break the props and/or the nylon bolts that hold the motor mounts to the carbon fiber arms, and this is easy to repair.  Previous quads tended to break arms, props, and frame plates, necessitating major repairs that takes hours and hours.

Based on this experience,  I stripped it down and rebuilt it with an Orange receiver that I had used before, a separate BEC, and a Hobbyking mini APM and Hobbyking GPS.  The wiring was much more straightforward as the Hobbyking units came with better cables and I was using a separate BEC. It takes some work to figure out where to stick the ESCs, cabling, BEC between the top and bottom plates.
Side view
Performance is much better but there is still a lot of tuning required as it is very sensitive to pitch and roll, but very insensitive to throttle.  Some other pictures are shown below.
Arm assembly which is set up for easy repair after crashes
Mobius FPV setup with integrated mount and transmitter.  This will be reviewed in future.

Thursday, January 14, 2016

Converting the Eachine Racer 250 to APM Controller

A while back I wrote about buying the Eachine Racer 250, which used a CC3d controller.  Well I got tired of trying to figure out this controller and decided to switch the controller over to an APM.  I used the Hobbyking Micro APM, but you can get the same hardware from Banggood.

This started out easily enough, but there were a few hurdles along the way.

Step 1 Disassemble the Eachine

Take the top deck and battery alignment plates off as shown in the figure 1.  Be careful when removing the power connector for the 5.8 GHz video transmitter as it can be easily damaged.  Use an old coffee cup to store the parts while you work on the rest of the project.

Figure 1

Step 2 Mount the Micro APM


The Micro APM will easily go into the CC3D mounting standoffs as shown in figure 2.  Note that you will have to remove one standoff that supports the battery alignment plate as it blocks the USB port.  Figure 3 shows the APM mounted from the top
Figure 2
Figure 3

Step 4 Wire Up the APM

Here is where it gets a little tricky.  The servo wiring from the APM to the receiver is done as per normal.  The Ardupilot.com website shows how it needs to be done.  This is easy.

Next, you need to supply power to the APM so you will need to make up a cable that goes from the Eachine 5V and ground power pads (green arrow Figure 4) to the power input connector of your APM (magenta arrow, Figure 4). You will need a 6 pin connector to attach to the APM.

Then, we come to the tricky part.  The connections to the motor speed controls are shown by the red arrow in Figure 4.  You have to make a new cable here.  The motor numbering IS NOT THE SAME for APM and CC3D.  The cable will need to be set up as follows:

APM            Eachine
5V                5V
Gnd              Gnd
Motor 1        Motor 2
Motor 2        Motor 4
Motor 3        Motor 1
Motor 4        Motor 3
Figure 4

Step 5 Reaasemble the Eachine

Now you can reassemble the battery alignment plate, top deck, and secure any loose wires.  You are ready to fly again after the usual ESC calibration, radio, compass, gyro calibration are done.

Figure 5 Reassembled Eachine Racer 250



Saturday, December 26, 2015

Hexacopter First Flight

I managed to get the Hexacopter to fly after a few flips on takeoff.  It turns out that the motor configuration and wiring for a Pixhawk is not intuitive or well documented.


  1. You have to search through DIYdrones forums to find the information here.
  2. Connect motors 1 to 4 to Pixhawk inputs 1 to 4, same as a quadcopter.
  3. Connect motor 7 to Pixhawk input 5
  4. Connect motor 8 to input 6
Bingo!

Tuesday, December 15, 2015

Quad to Hex

I decided to go further and build a hexacopter.  I was able to use my existing 550 quadcopter parts and purchase an inexpensive hex frame from Banggood.com, two more motors, two more ESCs, and use some extra landing gear parts.  Here is what I have so far: