Tuesday, January 12, 2016

Blackout Super Mini Hex Build Log

Prior to building or even buying a multi-rotor craft you need to learn something about the hobby.  There is a lot to know that could influence your purchase decisions.  This article covers some of my experiences along the way, hobby basics, skills necessary, and what you need to get started.
First thing is first, before you do anything what are your goals for your aircraft?  Do you want an aerial platform?  If so, then you need a top-notch camera platform.  You will need an aircraft with a long loiter time.  Stability is important, so you will need a gimbal mount for your camera and an aircraft large enough to carry everything.  Are you interested in autonomous flight?  With proper navigation systems and software it's possible to build an aircraft that fly's autonomously along a set of waypoints to a destination you specify.
I'm interested in a racing platform for my first multi-rotor and it's what I will be covering.  I need low latency video to fly so I don't hit anything, higher quality 1080p video suitable replaying aerials on my big screen, in flight electronics to help keep the aircraft stable in winds, electronics to help navigate since it's easy to get lost when flying out of view.  Of course, powerful motors since it's got to be fast.  What is fast?  About 100mph or 160kmh to be exact.  Following is my parts list for this project.

Parts List

Blackout Super Mini Hex Spider Multi-Rotor Aircraft
[1] Have not testing this yet but looking forward to trying.
[2] Tried imitations and they don't work as well.
[3] Clone purchased not to save cost but on the chance quality of the hardware will improve.  Had problems with hardware quality of boards made by Abusemark.
    Equipment Tried, Removed, and Why
    • GPS: Whitespy “house” uBlox 6M GPS.  GPS frequency is close to my video transmitter frequency.  I tried various filters to get this working and was unsuccessful.  Others have succeeded so I think I could find a better combination of filters, transmitter, antenna but I decided to pull the GPS.  It's pretty useless on a racing craft anyway since batteries limit range.
    • FC: Naze32 FunFly (Full Version)  I am giving up on a Naze32 hardware made by Abusemark.  I have had two and had strange problems that are difficult to diagnose.  I like the architecture but don't like the implementation.  **May 9, 2015 CORRECTION:  My problem turned out to be power not Abusemark's Naze32.  
    • FPV Camera:  Sony 960H CCD Effio-V 800TVL Ultra WDR Camera One would assume since this camera has higher resolution that it's better for flying but it's not.  The 600TVL model is older but better since it adjust contrast super quick.  For example, remove the lens cap and the camera adjusts the white balance almost instantaneously.  This is important if you fly into the sun momentarily and then turn into the shade.  3-4 seconds to readjust the white balance is unacceptable.  Also the contrast is much better, if you do face the sun then it's still possible to see objects in the background.  The sun does not overwhelm the camera.  The image processing is also super fast and does not skip.  Older is sometimes better.
    Ground Support
    • Spektrum DX8 DSMX Transmitter Mode 2 (amazon.com)
    • FPV RX: Fatshark Dominator v2 Headset System (getfpv.com) 
    • FPV RX Module: 1.3Ghz Fatshark Dom. Module (laserbgc.com)  1280mhz, 1320mhz, 1360mhz 
    • FPV Goggle Power: Fatshark 7.4v 2S Battery (getfpv.com)
    • iCharger 208B 350W (hobbyking.com) 
    • PRC350 Power Supply (progressiverc.com)
    • Parallel (6x) HXT 4mm Bullet Charge Cable (progressiverc.com)  
    • Liquid electrical tape
    • Du-Bro 499 Tru-Spin Prop Balancer
    • 3M double sided sticky tape
    • Antenna SMA Panel Mount: SMA male plug to SMA female jack (qty 3)
    • Bulkhead right angle RG316 10cm pigtail
    • SMA Male to Female Right Angle 90-Deg Adapter w/ Gold Plated Contacts (RF-M103-2 2 pack) 
    • Blue painters tape
    • 1/4” and 1/2’ heat shrink tubing
    • Heat gun (or use mini blow torch)
    • helping hands, clips holders 
    • Rosin paste
    • 12awg wire for power
    • 28awg rc trx\rx wires
    • USB ASP, programmer for ATMEGA328, miniOSD (Amazon.com) 
    • FTDI connector, USB programmer Naze32, (Amazon.com)
    • Servo Extension Lead Wire Cable (10ct)
    • Scale 6kg max (Amazon.com) 
    • Mobius Audi/Video Out Cable (ebay) 
    • Mini 3A DC-DC Converter Adj Step Down Power Supply Module ( qty 10)
    • Generic Break Away Right Angle Headers 0.1” 3x40 Pin Gold Plated (pack of 5) 
    • Lester Pocket Pack Solder 60/40 0.031 0.50 oz Tube 
    • RF coaxial coax adapter SMA female to SMA female bulkhead (pk of 2) 
    • 1/2 inch PET Expandable Braided Sleeving - 10ft - Black 
    • HXT 4mm Connectors (2 pairs) - Red 
    Features & Characteristics
    Aircraft weight w/3300mah bat, 1069g
    Flight Time: around 7 mins Hover: approx 40% throttle
    Sensors & Control
    Altimeter\Barometer (altitude from sea-level)
    Magnetometer (compass heading)
    Gyroscope\3-axis (accelleration in each dimension)
    Flight Controller w\GPS (assisted flight, position, altitude, navigate home) DVR x2; dvr 1, records 1080p flight video.  dvr2 records flight cam w/telemetry data

    Lesson Learned

    I will update these as I go along.  No particular order of importance.
    1. Not a project for a beginners.  Make sure you feel comfortable with soldering iron, working with electronics, flashing hardware, etc.  If you have these skills you should do well.  There are some ready to fly racing drones.  I would avoid these since your almost certainly going to crash when learning.  Building your own offers some advantages when it comes time to rebuild, you know what each and every wire does.  Starting with someone's finished product make make it difficult and expensive to service.  
    2. Carbon fiber is conductive.  Don't place bare PCB's or electrical conductors against carbon fiber bodies.  Makes sense since resistors are made from carbon but may not be immediately obvious.
    3. Different propellers for different directions.  On multirotors, half the motors spin in different directions (Clockwise or Counter-Clockwise) to balance rotation forces.  You need to order the right propellers depending on the spin direction.  You can't flip a propeller upside down.  Some propellers also fit better than others, even with the plastic adapters they ship.
    4. Propeller adaptors are made for different directions.  These are the metal pieces that bolt on top of the motor.  A shaft sicks out and the propeller fits on this shaft.  I'm using T-Motors and I noticed T-Motor makes prop adaptors for CW or CCW depending on your needs.  It's best to use the right adapter for the job since these parts are under a lot of forces.
    5. Don't believe everything you read.  Some people give bad advice like running 4S batteries on 3S rated gear.  If the manufacturer says 3S then your taking a chance if you run 4S.  Fires are no joke.
    6. Carbon fiber is super hard.  Steel screws don't snug well against carbon fiber since it's so hard.  You need washers and Blue Locktite (don't use Red) to keep screws tight under stresses of flight.
    7. 1.3ghz video signals interfere with GPS.  Bleed over from the video transmitter interferes with my GPS so I cannot get satellite lock.  1.3ghz for video was a good choice but it requires a couple of improvements to work with GPS on my small multirotor.  I'm purchasing a lower power 300mw transmitter and retiring my 800mw unit.  Next, I ordered a 1.4ghz low pass microwave filter.  I'm hopeful the two changes will reduce noise and allow my GPS to lock.
    8. RC transmitter.  My first choice for a transmitter was FrSky Taranus.  I did my research and I should have gone with this choice.  The Taranus offered a number of out of the box improvements like, module bay for moving to UHF.  My current transmitter supports UHF as a box you strap onto the transmitter, very clunky.  Next, Taranus offers more channels, it also offers RSSI which is received transmitter signal strength.  Taranus also provides options to encode and assign the RSSI to servo channel, really handy.  RSSI is like receive strength bars on cell phones and really handy for flying if your getting out of range.  My current radio does not support this so I need to purchase an extra electronic module (e.g., DORA) for RSSI.  Live and learn.  Once I get some flight time I may turn around and sell my current radio.  Not sure I want to commit to this technology.  Another cool thing about Taranus is transmitter code is open source.  How cool is that?  It would be fun to see if I can hack the transmitter code.  More on that later.   
    9. SMD soldering tip.  When soldering SMD components don't use flux.  Components are exceedingly tiny.  If you flux pads on both sides of a solder connection the solder will usually travel down the pin to the pad on the other side and build up a huge blob somewhere along the way.  When soldering one of these slathered flux joints it appeared like all my solder was disappearing but in fact it was building up in a big blob in the middle of a right angle connector that was very difficult to desolder.  I would avoid flux and tinning altogether with SMD.  An iron with a super small tip would be helpful but you can do the job with a normal tip if your careful.
    10. Transmitter ON!  Always turn transmitter on prior to applying power to any aircraft.  Make sure motors are Disarmed, assuming you have disarm assigned to a switch.  Make sure the throttle stick is in the low\off position.  I have seen the motors come on under Cleanflight when power is applied to the aircraft and the transmitter is off and when the transmitter is turned off while the aircraft is on.  I don't trust some of this flight controller software just yet.  I want to make sure it's receiving zero throttle and motor disable signals from the transmitter unless I'm ready to fly.
    11. Flight data handy.  Recording your telemetry video (flight video+OSD) is handy to diagnose crashes.  See if you can figure out what happened here,  VIDEO.
    12. Mini H Better First Build.  A hexcopter is cool but in retrospect a 250-300mm class mini-H type frame would be better for a few reasons, 1) much more agile.  Hex's have other advantages but they are not as agile and weigh more out of the gate.  2) everything is more expensive.  A hex has two more motors, two more ESC's, everything costs a little more.
    13. Nothing wrong with offshore purchase.  Almost every part of this aircraft is made in another country.  I have had few problems purchasing products overseas with the exception of longer shipping times than I would like.  Don't worry about purchasing something overseas.  Enjoy some savings yourself and buy something from China or another country directly.

    Aircraft Assembly

    A word of caution before I get started.  To build your own multirotor you must be comfortable with software, programming, and a soldering iron.  There are a number of people who have done this but this project is not a kit.  There are no step-by-step instruction manuals.  It's easy to buy the wrong parts or damage parts you do have.   If you don't have a few friends close by that have done this then plan on a month long project.  You will must also plan some time for project oversights, which turn into more parts you need, shipping delays, and stretch out your build. 
    Photo 1: parts, parts, and more parts.  All parts not shown
    So this is what you get when you get started, bags, and bags of parts.  The UPS, FedEX, and the PostOffice will think your starting your Christmas shopping early.  I recommend you keep a list so you check off parts you order and when they arrive.  If anything is missing you will need to work with vendors to track down your order or reship.  I know this seems like a pedantic detail but as you can see from the parts list this is a big project so your up-front organization will save you some time down the road.  A parts list is also useful if you want to write build log someday and share your experiences.
    Photo 2: airframe with signal wires
    I began my project by doing some rough assembly of the carbon fiber airframe.  It's a hexcopter so it has 6 arms with a motor on each arm.  The frame is assembled as a sequence of flat plates with breakaway plastic standoffs (like a computer but longer) bolted together.  Sandwiched between is custom PCB to carry current between major components and cut down on wire weight.  For example, Electronic Speed Controllers (ESC) mounted on each leg are soldered to large pads on the PCB located by each arm.

    "A hot flame jet erupted from the FET about the size of a pencil.  Let's just say, it got my attention."

    Photo 3: Blown Electronic Speed Controller
    A word of caution, carbon fiber aircraft models are the state of the art but keep in mind carbon fiber is conductive.  How conductive your model is depends upon where electrical contact is made, the type of carbon fiber, as well as resins and coating applied during manufacture.  I found an interesting video on Youtube of meter tests on various carbon fiber weaves.  Keep in mind, there are no resins or coatings on the weaves in the tests but it's good information to file away for the future.  In my case, I had an uninsulated ESC strapped the leg of the craft catch on fire at my desk during configuration of the flight controller.  A hot flame jet erupted from the FET about the size of a pencil.  Let's just say, it got my attention.  The burned out FET shown on the lower left in Photo 3.  I checked the ESC for wiring problems but found none.  One further research and reflection is likely due to either, 1) runing 4S batteries on 3S ESCs and motors, 2) or the carbon fiber frame.  I checked the frame resistance with my multimeter and results where all over the place.  Some spots showed resistance of a few ohms and many spots much higher.  Ether way, I have more ESC's on the way and i'm switching to 3S batteries for safety.  Points to note, carbon fiber is conductive.  Don't attach electrical gear directly to carbon fiber bodies.   If the documentation for your ESC's and motors say they support 3S stick with manufacturers recommendations.  Don't do what other knuckleheads on the Internet are doing.  I found lots of really bad advice in my search for information.

    Video Systems

    Photo 4: flight video system.  Not all components shown
    There are two discrete video systems supporting the aircraft.  The first system is used to fly the aircraft.  The second system is used to produce a better quality recording, 1080p to share with family and friends.  I will discuss the system used to fly the aircraft first.  In photo 4 you can see some components of the flight video system, Fatshark goggles, 1.3ghz video transmitter, the control module for configuring the video camera, and my power supply so I don't have to run on batteries inside the house for testing.
    Photo 5: Testing Fatsharks and Flight Camera
    Photo 5 shows a goofy looking guy with a circularly polarized antenna hanging out the side of his head, yup that's me.  Notice the photo is grainy.  It's a still image made from the flight video.  Generally, flight video systems don't produce the best quality images but their video is low latency and high contrast to show sticks and twigs, moss hanging from trees, or other debris that can obstruct your flight.  Following is a great video comparison why two cameras are necessary.  The video at this point is only the raw video feed and does not include any telemetry information from the flight controller.  The edges are also curled up since I replaced the stock lens with a 2.8mm wide-angle lens.  The 2.8mm lens provides a slightly larger angle of view for flying without too much distortion.  Of course, everyone in the house is curious what I'm building.  My girls liked the video system.  They discovered you can put on the Fatsharks and look at the back of your hair to see if your having a bad hair day.  They came up with ideas for other practical uses as well like mounting the camera on your back or shoulders to see who's checking you from behind while looking forward.  They are beginning to think like security people.
    Photo 6: Fry's electronics store
    Photo 6 is the Fry's electronics store.  If your ever missing a part.  Need a temperature controlled soldering station or a duel-trace oscilloscope perhaps?  Fry's is a the place to go.  I'm generally not disappointed when I need a part fast.  Unfortunately, I went to 2 Fry's stores and could not find a SMA female to SMA female through bulkhead connector.  I also looked in several hobby shops for more ESC's and nobody had what I needed.  The point being, some parts are even too nerdy for Silicon Valley.  Imagine Woz trying to assemble the first Apple computer part by part before the Internet.  Phew, no small task to get all the right parts I'm sure.

    Flight Controller 

    Photo 7: Naze32 Flight Controller
    The flight controller is the brains of the operation.  I'm using the Naze32, shown in Photo 7, but there are many others.  Like all components, you need to carefully consider your objectives when making choices and flight controllers are no exception.  The Naze32 is very sophisticated for it's size but it's not necessarily the most powerful.  I choose the Naze32 mostly because of it's small form factor, power consumption, and low cost.  The Naze32 cannot fly fully autonomously.  For example, it cannot guide the aircraft along a set of user defined waypoints to a destination.  Some controllers can do this.  Naze32 runs two flight controller software packages, Baseflight and Cleanflight.  I went with Cleanflight since there seems to be more support.  Cleanflight also offers some advanced features like a screen with sliders that allow manual control of the motors for bench testing.  Manual testing of the motors is useful to ensure soldering joins are secure and the motors are wired in proper direction.  Depending on your model and flight controller, your motors will rotate in different directions to better balance rotational forces.
    Photo 8: Naze32, GPS, OSD, and radio Receiver
    After setting up the flight controller, Photo 8, it's time to get the Ublox GPS setup.  Originally, I ran into some problems with the GPS and On Screen Display (OSD).  UARTS on the Naze32 are a limited resource.  If I plugged in the computer USB cable to configure the Naze32 at the same time the GPS and OSD is plugged in then the GPS and OSD power lights turn off.  The solution here is that you cannot configure all of them from the convenience of your USB cable or at least I couldn't figure out how to do it.  The Naze32 is configured from USB cable.  The OSD is configured via a FTDI connector.  The FTDI board connects between your computer and the OSD.  The FTDI board breaks out your USB cable connection into serial lines compatible with the OSD.  Like the flight controller, different software is available for the OSD.  Mochaboy RC has some great Youtube videos on the subject.  I ran into some difficulties flashing the OSD with KVOSD software.  I noticed on Mochaboy's video he was using version 1.0.5 of the Arduino compiler tool.  You will need to download the older Arduino version to compile KVOSD or you will receive compile errors.  On my OSD I'm planning to display the following flight data: GPS coordinates (for recovery), GPS direction to home (where aircraft disarmed before takeoff), magnetometer, barometric altitude, battery voltage and warnings.  There is a lot of information you can display but it's best to keep your screen uncluttered and display only the essentials.  More advanced flight controllers like the OpenPilot Revo allow telemetry data to be saved and replayed after the flight.  It's kind of a cool option if your trying to tune your aircraft.  The Revo is not much larger than the Naze32 and I considered it earlier on but availability was scarce.

    At this point I still don't have the hexcopter in the air.  However, because of the motor tests I'm confident I'm on the home stretch and my aircraft will fly.   Remaining work, I need to pull the ESC's off the aircraft arms.  Then rewrap heatshrink tubing over each ESC and zip tie them to the aircraft arms.  The heatshrink will insulate the electronics from the carbon fiber.  Remember don't mount uninsulated ESC's or wiring directly to carbon fiber.  I need to mount the Mobius 1080p camerafor sharing high quality movies with family and friends.   After basic assembly and rough configuration is complete I should be able to make the first flight.  I'm going to start small, do a hover test and fly a few meters off the ground.  Best to take it easy until the aircraft and batteries have been broken in.

    Ok, so what's all this got to do with security?  Nothing just yet.  But I figure the best way to understand aerial systems, software, and challenges is to build a multirotor.  In the future, I may look at radios, GPS, or perform a security review of opensource flight controller code.  It might also make a cool pentest platform by mounting my Wifi Pineapple aboard.  I'm not a pentester but I can see how others would be interested in an aerial pentesting platform for some work.  Another idea would be to mount my ADS-B receiver to the aircraft, pi in the sky.  More on the security angle at a later date, small steps, got to get this thing in the air first.  Remember use your security powers for good and have fun.  No bothering or spying on people.  I will post more in the future.

      March 26, 2015 Update
    Photo 9: Flight Camera (click to expand)
    Photo 9 is the view from the flight camera without the GPS information.  The aircraft is not actually flying (disarmed).  Still waiting for a few more parts but as you can see the avionics are working.  Thought some might want to see what the displays look like when your flying.  If you want to check out the open source OSD software that does the telemetry overlay see the project page, rush-osd-development.  The project page provides the full list of capabilities.
    March 26, 2015 Update
    Photo 10: Mostly finished aircraft
    Switch out the prop adapters, put on the props, and ready to fly.  I flew yesterday before sunset.  No videos since I pushed the wrong button on the camera nothing recorded.  The flight was really short, around 10 minutes.  I was surprised how smooth it flew for  the level of wind.  The flight controller works great and the aircraft was completely level.  I will post some video soon.
    Photo 11: Blackbox data recorder
    Also found some really cool software for a black box flight recorder.  Take a look at the following screen shot and video link.  It's not my aircraft but I thought it's an interesting, Photo 11 and video.  I don't think it's useful on my platform but it may be worthwhile for larger platforms.
    Video 1: MaidenFlight from Milton Smith on Vimeo
    Ok, the maiden flight video as promised, Video 1.  The good news is I got the aircraft up in the sky.  The bad news is I crashed a couple of times. Probably not very smart but I was flying in a 20+mph wind.  The pros fly in windy conditions all the time but noobs like me should wait for better weather.  Still the damage for the day was not too bad, a couple of props, a couple of bullets, some nylon standoffs, a few nylon bolts, and a few Molex connectors.  I can put Humpty Dumpty back together again but I'm definitely holding out for better conditions next time.  I'm sure I will get the hang of it.  I fly my Hubsan X4 pretty wells so I'm sure it's a matter of tuning and getting use to the aircraft  All in all, a fun day.  The lesson here if your a noob your going to crash but be smart and be safe.

    April 8, 2015 Update Received lower power FPV transmitter and 1.3GHz low pass microwave filter.  Hooked everything up, enabled GPS on the Naze32 board, a quick test confirms I now have satellite lock.  Previously, I was running a much higher power transmitter with no filter and it interfered with the GPS preventing satellite lock.  All better now.  Ready to use flight features like GPS hold and Return Home.  Although I'm not sure I trust those features.  I'm mostly interested in the OSD feature to help pilots find home.  The OSD displays an arrow in the display that always points to the spot where the motors where Armed (usually located near pilot).  When your flying around up high it's easy to get lost since terrain looks different higher up so it's handy to find your way back.  I also picked up a DORA module for RSSI support.  RSSI is Received Signal Strength Indicator.  Think 5 bars on your cell phone, RSSI is the same thing.  When flying a signal strength indicator is displayed in my Fatshark goggles by the OSD.  The percentage indicator provides me information how my transmitter signal is being received by the aircraft.  If you receive a weak strength indicator you can turn around and fly back closer to the transmitter or avoid the area if there is interference.  Due to the quirks around radio transmission and reception it's not 100% effective.  It's possible signal strength could go from 100% to 0% and radio loss before you can turn the aircraft around but it's helpful to prevent loosing an aircraft and a good overall safety measure.

    April 13, 2015 Update Not the maiden flight but I'm including it since it's more interesting to watch than my maiden flight.  In my case, building and software was easy part of the project but flying is a challenge.  Moving a craft in 3 dimensions is challenge.  Also configuring the equipment for best control is challenging and small changes in settings make a big different on aircraft control.  A few days ago I figured out how transmitter Expo settings work.  Expo is very similar to variable resolution mouse on a computer.  With Expo it's easy to create a center zone on the transmitter sticks for fine level control while making the edges of sticks more sensitive.  The Expo settings are great for precise maneuvers like coordinated turns and soft landings.  Video

    April 17, 2015 Update Apply nits to the parts list.  Latest flight video and crash for those interested.  Video

    April 24, 2015 Update All repaired from the crash.  Looks like the cause of the crash was either a hardware issue with the Naze32 controller or software issue with Cleanflight (version 1.8.1).  To attempt to minimize the software risk I am switching to a different package Baseflight.  Baseflight is a little less featured and been around longer.  The software is more mature and likely more reliable (my impression).  For now, no change to the flight controller board, Naze32.  Although I did discover there are Naze32 clone boards you can get like the Mullet.  Some claim the clone boards are better.

    May 4, 2015 Update I have flown a couple of times since installing Baseflight.  I noticed while flying "Disarmed" flashing in the compass heading area in my Fatsharks.  This is proof positive my problems are a result of a bad Naze32 flight controller board.  I ordered a Naze32 close, the Mullet32 by Armattan.  I'm purchasing the clone not for cost savings but it's an attempt at finding some better quality hardware.  Also I have been thinking of reflashing my SimonK BS ESC's with BLHeli and Oneshot125 w/active breaking (damping light).  The real motivator for me is watching the following video.


    I would really like to upgrade my motors to MN2208's, KISS 30A ESC's flashed w\BLHeli running 6S batteries.  At this point, I just want to get up in the air.  I feel like for every 1/2hr in the air I spend 2 weeks waiting for a FedEx or UPS truck.

    May 9th, 2015 Update I'm back up in the air.  I noticed after I watched the video's from my flight that the problem with "Disarmed" occurred again and it happened about the time the video glitches.  No crash this time.  Since I have changed the software twice, Cleanflight to Baseflight, as well as two different flight controllers.  This is not a software or hardware issue.  This must be a power issue.  Perhaps if I noticed the timing when the flight controller go flakey was timed with the glitchy video it would have occurred to me.  A couple of people on Reddit multi-rotor group mentioned power but I didn't believe it at the time.  I am hoping it's a bad battery and not a cracked wire or PCB.  I think it's the battery.  I remember watching the battery voltage fluctuate under load almost a volt.  My other batteries usually only vary about .1-.2 of a volt or so.  I think I will fly with the other batteries for awhile and see how it goes. I think this project could never be over.  There is always some cool hardware or software improvement to make.  However, I think this is a good time to close out this build log since I'm flying.  Of course, if I make some cool improvements, crashes, or otherwise I will post to my site but as a new post.  This was an incredibly fun project and the technology is amazing.  This is an entirely new security domain and highly relevant in the future.  Drones will be ubiquitous in the future.

    THIS BUILD LOG IS CLOSED, SUCCESS!  Click the "Projects" tag in the tag cloud for more information about my drone adventures.  My closing video.

    Share It!