XCOM 2 – Tips/comments

Resistance Network – expand quickly!

After losing and winning and really enjoying the game, here are a few hard-won tips that might help you.

There are times when XCOM 2 feels more like a board game and less like a computer game. I think that is probably how they designed the strategic part of the game and it works. But unlike a traditional board game, they don’t disclose the rules or the trade-offs at the start. This means you don’t really appreciate how your early-game choices impact the late game until your second or third play-through. This is ultimately why it is beneficial to play through in Easy mode first. Frankly, they should have called that “Normal” and called Veteran mode “Advanced” or something because it feels to me like there are advanced rules being used in Veteran that Easy doesn’t have. For example, almost all missions in Veteran have a time limit, while on Easy mode many don’t.

Resistance Communications – must have building ASAP and it must be expanded. Don’t do anything else until this is built. Why? Because without it you can’t assault the Advent facilities in those far-flung regions and those missions are the best way to slow down the advance of the Avatar project. It is the same as expanding your satellite network in the prior game.

Expand the resistance network when you can – there are benefits (ala Risk) to owning an entire continent that make it worth your time to complete an area and you need to be able to assault whatever facilities or crashed UFOs show up in those regions.

After Comms, I think the Guerrilla Tactics School build should be next on your list. It lets you have a 5th or 6th trooper on missions. I recommend building this before the required Proving Grounds so that means you also need to get a power boost somewhere early (hopefully you’ll get one off the strategic map).

When the game alerts you to a Red mission (Retaliation, UFO down, etc.) you MUST take and complete that mission or suffer a serious setback – you lose that region of resistance contact AND any region it is connected with. That can lose the game for you because the time and Intel costs required to re-establish contact is killer.

The guerrilla missions are also pretty much required because the benefits of winning are usually big (like setting back the Advent calendar or Retaliation event by 2 weeks.) Don’t worry about the mission difficulty either – pick the one with the best benefit.

Upgraded weapons are nice, but upgraded armor seems even better. Weapons are overall pretty powerful at the start and more defense benefits you early more than increased weapon damage. If you can, use the Black Market to increase the research rate of the armor project. But watch out at that Black Market – those Intel points are required to expand your resistance network and they aren’t always easy to find. And like in previous games, you really only want to sell items you know you don’t need. If you aren’t sure, hold onto them.

XCOM 2 – notice the Hit percentage calculations on the lower left and remember to expand the tray to see what is making the shot easy or hard.

New “racing quad” build

I’ve decided to build a smaller, lighter, but still FPV-capable quadcopter.  The previous quad I built is great for holding a heavy camera and getting long (>20 minutes) flight times, but because it is so heavy (>1kg) it isn’t good for fast flying and it is not very resilient to a crash.  For this next build, I’m going to try to keep the quad as light as possible (under 500g) but still have decent flying time and support for FPV.

Tarot TL250A

I’ve started with a Tarot TL250A frame. The 250 in this case means it has a roughly 250mm (about 10″) frame width when assembled. I chose this frame primarily because it was the right size, it is made of high-quality 2.1mm carbon fiber, and includes a power distribution board (aka PDB) that integrates a PCB into the lower frame. This PCB allows you to easily take the main battery input (that yellow connector) and distribute power to the speed controllers. This is a big deal for quads because otherwise you have to build some kind of wiring bus to get power out and it can often end up being a mess of wires or connectors and either add weight or reduce reliability. The last thing you need when flying is to lower power because one of the connectors into a 5-wire nut connector lost contact.  On the other hand, this setup can complicate things because it means soldering the ESCs directly to a frame that is already challenging to assemble. This board also has some traces to run data or power for FPV systems and flight controllers, but this seems like less of a feature because those cables aren’t hard to hookup now and it feels like a lot of extra soldering.

AIR Hero 32
AIR Hero 32

For the flight controller I initially purchased a $10 OpenPilot CC3D clone board.  The CC3D runs OpenPilot software and is quite popular.  This software is something I am very familiar with as it is similar to the ArduPilor code in my previous quad. However, after studying and reading a bit more, I got concerned that the $10 clone boards might be unreliable.  I started looking at alternatives and I had always wanted to try out the MultiWii – a flight controller based (historically) on components that were used in Nintendo Wii remotes.  I settled on a new MultiWii controller made specifically for these smaller quads that don’t need a GPS or a barometer called the PARIS Sirius Air Hero 32.  This tiny board comes in a metal case (nice protection in a crash), is super light, and is fully configurable like all other MultiWii boards.  It should be perfect for flying this type of small quad.

Rotorgeeks 30A ESC
Rotorgeeks 30A ESC

For the electronic speed controller (ESC), I selected the highly recommended Rotorgeeks 30A.  These controllers are higher-capacity than needed for my setup, but I was worried that the little 12A might be too small if I decided to go with an aggressive prop/motor combination and Rotorgeeks doesn’t sell 20A anymore as the difference in weight and price was too small to matter.  These particular ESCs are already flashed with a special FW designed to work best with multirotors.

A small divergence – traditional ESCs are designed for model airplanes and as such have features that are optimal for planes and suboptimal for multirotors.  For example, the default FW is designed to shut down the motor on low battery in order to allow the plain to keep power to the servos and glide to the ground as best as possible.  This makes sense for an airplane, but is a disaster for a multirotor – having a motor go out is an instant crash.  It was always possible (with some work) to change the traditional ESC, but there were a limited things you could change.  This new special FW is called BLHeli and allows for most parameters to be easily reprogrammed from a PC connected to a special USB-based programmer running an easy to use Windows application.  That’s a welcome first for ESCs and another demonstration of how a part of the RC hobby business which as been unchanged for a decade and now suddenly gets a huge productivity boost.
For the motors I selected the DYS 1806 primarily because they were very light and yet super powerful. Even though I knew they were small I was surprised to see how small they really were – they are about the width of a quarter. I sure hope they can keep up.  If not, I’ll switch to something else. But others have had good luck with this DYS series so I hope it works out. They were certainly budget-priced at less than $10 each.

For my next post I will show some build progress.

Video: 808 #16 Test

I finally got out with the new video camera and was able to take some quick video.  Here is how it looks:

Test #1

Test #2

The buffeting in the second video is caused by the mounting solution. The 10mph winds don’t help, but I’m going to develop a more rigid mount and see how that works.

The camera is an 808 #16 which means it can shoot 1280×720 at 30fps and outputs a .AVI file in H.264/AVC1.  You can also output a .MOV file.  It includes cables to output live analog video which means I can use it for a first-person view solution at some point in the future if I want.  At 17g this little camera is pretty much perfect for using on an RC aircraft.  I selected the D lens option which gives it a 120 degree field of view.  It is slightly fish-eye but I like that for the view from the quadcopter.  I purchased it off eBay for $44 (shipping from China included.)

Video: View from the quad

I taped the little 480p key chain camera to the underside of my quadcopter and flew it around the playground at my daughter’s school.  Because the camera is so light, I used masking tape to help eliminate vibration but it didn’t work all that well.  Next time I’m going to hang it from a short piece of string in hopes that this work more effectively.

What is missing from this video is the crash afterwards.  I lost sight of the quad behind some trees and it hit one, then fell about 8 feet straight into the hard dirt.  It broke off one of the arms, the sonar boom, and flung the camera about 10 feet from the crash site.  I was able to repair it by cutting the arm short about and inch and a half and it flies OK again.

Quadcopter Build

OK here we go – I’ve completed my Quadcopter MK1 and I’m finally ready to show the build log.

I started with the frame using the Turnigy Talon v2 frame from HobbyKing.  This frame is made of carbon fiber and looks pretty cool.  I got all the parts out of the (surprisingly small) box and made sure I had everything.  I think this frame has included parts for a KK2 flight controller board (which I won’t be using) so I had a couple of extra nylon spacers I didn’t need.  You might need to be creative in adding a custom platform for your electronics as I have done.

I started by assembling the arms and it is here where you might need a hint if you haven’t read some of the forum posts about this frame.  From what I can tell, they’ve accidentally machined the motor mounting hole countersinks into the wrong side of the mounting plate.  Luckily this isn’t a big deal if you know about it.  If you don’t, I can just imagine the frustration you’ll have trying to mount the motors with screws that are likely too short without the countersink.  As you can see in this picture, you assemble the motor mount with the countersunk screws facing down which is the opposite of the instructions.  The only downside (if there is one) to this orientation is that the screws that tighten the mount to the arm are on the underside and a tiny bit more difficult to tighten.  Note the very tiny screw hole in the top.  This is for a set (or grub) screw.  I used a small screw I had leftover from a hard drive I disassembled and was surprised to learn that the threads on this hole are very easy to strip.  Be gentle!  I saw that one person drilled a hole into the arm for the screw to fit in, and now I know why.

I should also mention that I used Loctite Blue on every screw.  Or at least I tried to – I forgot some and of course those are the ones that loosened or fell out while on my initial test flights.  Now I have it on all of them I hope!

After all the arms were done, I assembled the center platform.  This is the time when you should attach your battery straps (if you are using such.)  I didn’t and had the worst time later getting the traps in place.

At this point I attached the motors and determined the length of the power wires.  I decided to run the wires inside the frame arms but this made the assembly more painful than it needed to be.  For your first quad, I recommend not doing anything fancy and instead just attach the wires to the outside with zip ties.  The aesthetics are good, but repairs are a pain.  I also attached the ESCs to the motors at this point and ensured I had the motors turning the right direction.  I printed out the page from the Arducopter wiki and had it with me to ensure I got it right.  I also labeled each arm with a label maker to ensure I put them in the right place.  However, I found it most useful to take a metallic Sharpie and write the motor number on each motor.  I did the same with the props making it easy to get the right props on the right motor.  It was at this point that I attached power to each of the ESC leads and programmed them to be correct for a quadcopter (using this rcgroups post.)  It is really important to make sure you get these programmed correctly because they are different than the default programming for an airplane.

I created wiring harness using the leads from the ESCs and some push-in connectors designed for home electrical.  While it is working, I’m not sure this is the cleanest or best solution.  I had to tin the ends of the wires about 3/4″ in order to make them stiff enough to push into the connector.  You’ll want a connector with at least 5 wires – one for each ESC plus one to go to the main battery.

I tested each ESC and motor by connecting them all to my battery but only connecting one at a time to my radio receiver.  I wanted to ensure that each motor and ESC combo were still working great after being put into the lower portion of the platform.

I next spent an evening balancing a set of props.  This was surprisingly easy – each one needed just a little bit of clear tape on one side to balance them.  I also labeled each prop with a number using my metallic Sharpie to match the motor it is designed for.  I chose 2 red props for the front two of the model and 2 black props for the rear two.  I thought this would make it easy to see the forward orientation during flight but while it is helpful on the ground it is not easy to see while flying.  You might want to select white props (if you can find them) or use some other way to determine the “front” of your quad.

I created a platform for my Arducopter based on a cheap plastic bowl I got at a $1 store with locking clips.  It might not be the prettiest, but it holds the components safely and provides a reasonable amount of vibration dampening for the Arducopter.  I threaded the leads for the ESCs and for the radio receiver through the lid of the bowl making this the base of my flight controller platform.  I attached the GPS unit to the bowl itself, allowing it to be above the flight controller by a good 8 or 9 cm to avoid any radio interference.  Speaking of radios, I attached the radio receiver antenna to the frame arms to get the desired 90 degree angle, however as you can see from the picture I don’t know that this hanging approach is the best design.  There is a plus in that the way the radio hangs out the aircraft does show the front of the aircraft during flight.

I took a moment then to bring the copter to my PC and plug it in to the Mission Planner to program the Arducopter and to get it working right with my radio.  I also updated my Turnigy 9XR to Open9X and it took me a couple of hours to get all the settings right and to my liking.  It was surprisingly hard to keep the names (rudder, throttle, elevator, aileron) straight with the channel numbers given that all of them are programmable and reversible.  I could create a whole post to describe how to get a programmable radio to work right with a Quad.

At this point I charged up the batteries and started her up.  Right away something was wrong – the sound of the props was off and it would not fly.  It took me a little while to figure it out, but one of my props was upside down.  Sheesh.  I was in such a hurry to get it going I completely missed my markings and everything.  Well, with that fixed, things went much better.  I went through the Autotrim feature a few times because the wind kept messing me up, but eventually I got it dialed in pretty good.  Here is a video showing a very good flight using Altitude Hold until I ran out of battery power.

Syma X1

I thought I’d share a little detail on the Syma X1 quadcopter I picked up as a practice tool and toy from Amazon.  There are 3 models you can choose from but they are all the same except for the vacuum formed canopy.  You can choose from a UFO, a spaceship, or a bee. It is almost purely aesthetics that separates them.  One surprising difference is that Amazon often has different prices for each one (although only by a dollar or two.)  It seems that the bee model is always a little higher priced than the spaceship, with the UFO floating in between the two on a daily basis.  Strange, but there you go.

What do you get for your (approximately) $36?  Well, here is a pic of all the things in the box.  There is a LiPo battery with a USB charging cable, the controller, a manual, spare props, and of course the copter itself.  The manual is pretty challenging.  It is not just that it appears to have been the result of a liberal use of Google Translate, it is that it is missing a couple of extremely key elements.  As you can see if you read the comments on Amazon, the first issue is that the manual doesn’t tell you that immediately after inserting the battery you must put the copter on a level surface.  The gyros only calibrate on initial power up and if you’re holding the thing in your hand (as I and many others have done) it gets a bad idea of what level is and the result is a copter that can’t fly straight.  Second, the transmitter and the copter sync to one another on power up and timeout if you don’t manage to get them both turned on within a second or two of each other.  This results in a bit of a frantic shuffling as you insert the battery in the copter, quickly set if on level ground, then flip on the controller power so it can sync.  However, once you’ve done it a few times you realize that you have more time than you feared and it really isn’t that hard.

The controller takes 4 AA batteries that from all reports will last a long time.  It makes sense, the controller itself is pretty simple and doesn’t draw more than about 5V to power its radio and small set of chips.  The copter battery is a single cell LiPo which yields 350mAh at 3.7V and has an integrated JST-style connector.  It is good enough for about 8 minutes of flying per charge and takes about an hour to charge between flights.  The USB charger is a very simple device that relies on the battery itself to stop charging.  Don’t use this USB charger with other batteries as it will happily keep charging them until they catch on fire.  Like all LiPo batteries, you have to know how to use them safely.  As it is, I have charged this battery a dozen times and never did it get the slightest bit warm and has cut off on its own every time.  I would still watch it carefully though and certainly not leave it charging overnight.

The flight controller on this little toy is overall very well done.  The picture here is hard to see, but it has a simple pair of dual N-channel MOSFETs as speed controllers (the part that transfers digital throttle commands into variable current to the motors), a 2.4GHz radio module (that’s the big silver part plus the A7105 chip to its left), what is described as a 6-axis gyro chip, and what looks like a custom chip that Syma is using to handle the real flight control duties.  I don’t know what this part is, but the firmware in it seems overall pretty good.  Most people have good luck getting the thing to hover easily indoors (no wind) and enjoy reasonable control in most conditions.

How is this to fly?  It’s a great deal of fun.  The controller can operate in Low or High modes which pretty much translates into “less sensitive control” and “more sensitive control”.  It also has a built-in trick which will flip the copter in any direction automatically (this is the strangely titled “Eversion” feature which seems to be a casualty of faulty translating).  Push the right shoulder button, then pull the right stick in any direction and the copter will roll in that direction.  It needs about 2 cubic feet of space to do the trick but because it has altered its momentum you don’t want to do that too close to the ground or people.  Regaining control after the flip is pretty easy so its a safe maneuver in most environments.  I did notice that it was a bear to control in high winds.  Most of that came from the wind resistance of the plastic canopy.  When I removed it I noticed it was much easier to fly.  The canopy also created a surprising effect.  When wind comes at the copter from below (not uncommon when near a building) the canopy acts like a sail allowing the copter to gain tremendous altitude quickly.  In fact, I had it floating at nearly zero throttle more than once with a decent wind gusting up from below.

One great feature of the copter is its weight.  Ready to take off, the thing weighs in just under 70g.  That is super light.  No wonder it can do flips and zip around with easy.  It also means that when you crash you aren’t really likely to hurt it.  I have gotten into the habit of going to zero throttle any time I lose control and even though it has hit the pavement after falling for over 10 feet the device has never been damaged.  It is good to remember Newton’s second law in these situations and that a light copter keeps the force in a crash to a minimum.  I can’t imagine what crashing a 1kg copter is like, but it can’t be pretty.

I have to confess that this is my second X1.  The first one sailed away over my house and was lost.  I sure wish I had some idea where it went, but while I saw it tumble from the sky I was never able to recover it.  I consider it a learning experience – don’t let the thing get too far away or too high.  I also have experienced some strange control interference in a couple of occasions.  99% of the time the device has crisp response, but more than once I found myself wondering why the stick didn’t seem to control the device.  I think this is most likely caused by the relatively weak transmitter in the controller, but it is hard to tell.

I also have to tell the story of how I tested its ability to be a submarine.  I was flying around the back yard and it got too much sideways momentum while I was landing and it slid right into the swimming pool  flipping over onto its back.  At first I figured I had gotten lucky because it was floating on the surface, the canopy acting as a boat.  But as I went to grab it I accidentally pushed the throttle on the controller with my other hand and much to my surprise the submerged props happily drove the little copter right under the water where it sank to the bottom about 4 feet down.  I was frustrated and ran for my pool net.  As I fished it out, I was surprised to see that the little red LED continued to operate and all the way to the surface and even after I shook it to get most of the water off.  I quickly removed the battery and set it on my table to dry.  I was hopeful it would survive and lo and behold, it did! I’ve flown it several times since then with no adverse effects from the dunking.  Now that’s robust design!

Overall, I highly recommend this little toy.  If there is a downside it is that the 8 minutes of flying time goes by too quickly making me wish for more batteries or a faster charge.  I’ve ordered some extra batteries which will help.  However, my next step is to mount a tiny keychain video camera to the copter and fly it around recording to see how that will work.  Check back soon!

Quadcopter: Radio components

In researching the requirements for a quadcopter I found that I needed a real RC hobby radio.  I’ve looked into these in the past and was always daunted by the price of the radios  used traditionally such as those by Futaba and Airtronics.  But, given that I was going to be really getting into these copters I decided to go ahead and spring for a good one.  I started looking around at what others have used and ran across several.  First, the ones I mentioned are still in use, but they’ve moved away from the 75MHz band and analog signaling they have used for years and instead started using 2.4GHz.  And not just that, they now sport spread spectrum, frequency hopping, and digital signals which all adds up to a highly reliable radio solution with tremendous range.  Even the most basic radios have a range of 1.5Km which I find totally amazing.

With that knowledge in mind, I started looking at the various options. There is a good 8-channel setup from Futaba, and the same from Airtronics. Lots of people like Spektrum and Hitec as well and generally they are pretty similar in terms of feature set. They all come in at about $300 and include features such as multi-model memory, touch-screen displays with telemetry, and SD-card slots. But then I stumbled across what is almost an open source radio.  The Turnigy 9XR is an Arduino-based radio using low-cost parts shared with cell phones that are really inexpensive.  This results in a radio platform that costs $50 and takes a JR-style TX/RX module (those are the pieces that actually do the broadcasting and reception.)  It doesn’t have a touch-screen display, but otherwise it is pretty similar in terms of features as the $300 models.  This is the 3rd generation model and others find it works great.  Given its Arduino roots and the ability to run an open source open9x firmware stack, I decided I had to give it a try. And hey, if it doesn’t work out, I can always switch to another brand and re-use the RX/TX module.

I purchased the Turnigy 9XR from hobbyking.com and the Frsky DJT transmitter and V8FR-II receiver for a total of $90.  I’ll let everybody know how it works.

Photo Quadcopter Project

As I said in my previous post, I’m going to chronicle my quadcopter build.  I’ve never done this before so I expect to make some mistakes.  Hopefully I can learn from others and keep those to a minimum while learning lots of things along the way.

The first quad I’ve decided to build is going to be focused on photography.  I’m looking for still and video pictures taken from the perspective of the quad.  I want to try to keep the weight below 1000g total and I think this will do it.  Here is the quad I’ve designed so far and what I’ve purchased:

Frame: Turnigy Talon v2, Carbon Fiber, 550mm, 280g, $50
Why: I wanted a decent size frame to maximize stability.  I’m not interested in aerobatics with this quad, so a big frame is the way to go.  I also wanted to minimize the weight of the frame.  I’ve read the stories of many others making frames from aluminum, wood, etc. and finding they were just too heavy.  Hopefully this will do the trick.
Where: I purchased this frame from hobbyking because they had a great price for a carbon fiber frame ($50) and because I was ordering some other items from them at the same time.

APM 2.5+ ModuleFlight Controller: ArduPilot Mega 2.5+ with , 21g, $180
Why: Ultimately I want a craft that can handle autonomous flight.  While I’m sure I’ll have fun manually controlling the copter I am most interested in building a drone.  I’m looking for a device that can fly itself and take photos/video.  In Jan 2013, this is the controller to use if you’re interested in that.  While there are other controllers that are cheaper, I don’t think any of them possessed the software and community that this does.  The ArduPilot Mega contains an ATMEGA2560 Arduino Mega.  It also includes a ton of useful modules including a 3-axis gyro, accelerometer, high resolution altimeter, magnetometer (aka digital compass), and an off-board Mediatek GPS.  There is an option to deliver telemetry data via an XBee radio module to a laptop but I didn’t choose to buy that yet. I figure that if I want it later, I can always order it as an add-on ($40).
Where: I ordered this from the source – 3drobotics.com.  There is a way to order it for less if you’re willing to do more work in terms of soldering and buying the connectors yourself – rctimer.com has one for $140.

Flight Controller-add on: LV-MaxSonar-EZ0, 4.3g, $30.
Why: I decided to add on the sonar module after reading about how you can use it to let the craft land itself.  The ArduPilot contains an altimeter that allows it to detect its height, however that device is unusable below 10 feet.  In order to fly and land safely a sonar module is used to get accurate height data and allow ‘nap of the earth’ style flight.  That said, I also read plenty of posts about these things not working right all the time.  It seems the device can be noisy in that its data feed contains some bad data while flying over uneven terrain like grass (versus smooth pavement.)  We’ll see!
Where: I got this when I purchased the flight controller from 3drobotics.com.

Motor: 4 x NTM 28-30A 750kv / 140w, 67g each, $15 each
Why:  I wanted motors that were proven but could be had for a reasonable price.  After the props, these parts are the ones that are most likely to break in a crash.  And while I hope I can keep that to a minimum, I know this is going to crash.  I picked these after reading some people being happy with them and using a tool to determine if 4 750kv motors would provide enough lift.  I want to have room to spare in case I wan to put on a relatively heavy camera.
Where: I ordered these from hobbyking.com while ordering most of the other parts.  Luckily these parts were in the US warehouse in Seattle meaning I could keep the shipping costs down (shipping from China is more expensive than I expected.)  I ordered 6 in order to have a couple as backups.  I also ordered the accessory kit which includes the prop adapter (a collet to hold the propeller in place) and mounting brackets and screws.  I don’t have data on the weight of these parts unfortunately.

Electronic Speed Controller: 4x Turnigy Plush 25A, 22g each, $13 each
Why: An RC aircraft requires a speed controller per motor that allows the flight controller to change the speed of the propeller when it needs to.  The idea is simple, but apparently these little controllers are the source of much frustration.  They can overheat and fail and when they do, a quadcopter is going to crash.  While a fixed wing aircraft can glide down if the speed controller fails, a quadcopter can’t, obviously.  The prevailing wisdom is to place these controllers out on the arm of the quad away from the heat-generating devices like the battery and flight controller.  I see that many people like to ensure they are being hit by the propwash in order to cool them.  There is one interesting feature to these little controllers I didn’t expect, and that is because of what they do already they include a regulated voltage output (in this case, 5V 2A) that can be used to power something else (that’s the little plug in the photo.)  For fixed-wing aircraft this is normally a server to control the flaps or rudder, but on a quadcopter this isn’t that useful.  I’m not sure if I’ll use this feature or not.
Where: I ordered these from hobbyking.com but they had to come from China.  They were highly rated by the enthusiast community and also really cheap at $13 from hobbyking so I ordered 5 in order to have a spare.  Even when I factored in the shipping cost, these units were still about 3/4 what you could buy domestically for similar quality.

SlowFly PropsPropeller: Slow Fly 10×4.5 ABS propellers, $0.77 ea
Why: Supposedly these propellers are strong plastic designed for use on electric motors. Of all the things on my quadcopter design this is the one area where I can’t tell much about strength versus weight versus balance in terms of value.  I do know that I will be balancing them when they arrive but given how cheap they are I might also get some locally at a hobby shop rather than order them online in the future.  Obviously the quadcopter needs 4 and I ordered a set of black and a set of red (with extras) so that I can see the orientation of the quad by putting 2 red in front and 2 black in back.
Where: I ordered these with the other parts from hobbyking.com.

Battery: Turnigy nano-tech 2200mah 3S1P LiPo, 187g, $19
Why: I read good things about these batteries and  the run time some are getting from a single 3 cell battery.  I also learned to purchase the nano-tech variety due to the limited swelling during use.  According to one report, a traditional lithium ion batteries can increase in size by 15% due to heat during discharge.  I’m not sure if I will use one battery or two during flight so I ordered 3 while I figure that up.
Where: I ordered these from hobbyking.com because it was in the US warehouse.  If it had not been, I would have been looking for a local source.

My Quadcopter

AeroQuad Cyclone

AeroQuad CycloneI went to the Houston Mini-Maker Faire in January 2013 and for some reason seeing all the Star Wars droid replicas, electric cars, and 3D printers made me want to do something with the Arduino and/or Raspberry Pi I had sitting in my desk drawer.  I was charmed by the 3D printers but I honestly couldn’t figure out why I should build one.  But it was while looking at that hobby project that I found all the work being done on quadcopters and I found myself more interested in that than printing.  And then I happened to see a Nova special titled Rise of the Drones that captured my imagination in a big way.

I’ve always been a fan of RC planes having had them since I was a kid.  I’ve had several in my life including a gasoline powered control line model that was more scary than it was fun and a great park flyer that I still have.  And while I like them I’ve also had trouble with the speed and how fast it can get out of control.  RC helicopters on the other hand, were always more interesting to me but suffered from being more expensive and harder to fly.  At least that is how it used to be.  With modern micro-controllers, digital cameras, and cheap parts like accelerometers and gyros (thanks to the Wii, Sony Move, etc.) this has gotten a lot safer, easier, and opened up a whole new world of possibilities.

APM Planner

I have to admit, it got me dreaming of an autonomous copter flying around the area taking photos and providing a live video feed of its flight as it goes.  All that is possible, but I’m going to take a more measured approach and ease into it.  Sort of.

I know that I want an Arduino-based flight controller.  I like Arduino because it is a powerful modern micro-controller that is relatively easy to code to.  It is designed from the ground up as a real-time control system and that seems perfect for a helicopter.  After checking into it, there are several options that seem very viable.

One that holds great appeal is the MultiWiiCopter.  This project option combines a very inexpensive Arduino board with the insides of a Wii Motion Plus controller.  The Wii component is a very cheap way to get a set of gyros and acceleromters connected to your Arduino.  You can build one for about $50 which will act as the perfect platform for an RC-controlled quad as long as your comfortable soldering the parts (or you can order a board with all the pieces assembled for $93).  However, it isn’t really designed for autonomous flight.  You can add on a GPS/compass and other things but that isn’t what it was designed for.  I might get one of these at some point in order to learn how it works compared to others.

APM 2.5+ Module
APM 2.5+ Flight Controller

The project I ultimately decided to make is based on a project named ArduPilot.  Specifically designed for quadcopters now, ArduCopter is a robust solution with lots of enthusiast assistance in the form of blogs/forums/etc.  It also comes in a great physical package with all the components and easy-to use connectors.  With that in mind, I’ll create another post with all the details of what I have purchased so far, why (at least what my thinking was) and how it is going.

Configuring wview for Ubuntu 12.04

I had a number of challenges getting wview 5.20.1 setup with Ubuntu 12.04 Desktop 32-bit and figured I’d share them in case it helps others.

My setup involves one that is probably similar to many who have a local system collecting the data from your weather station and uploading it to a hosting provider.  I happen to own the server as well, but the concepts will be the same.  Some of the items below are for getting my particular brand of weather station (a very inexpensive Oregon Scientific WMR100N).  I’ve tried to mark them so you’ll know if you should do something different for your station.

My setup was pristine in that I was also creating the Ubuntu desktop system from scratch at the same time.  If you’re doing something similar, these steps should make sense.

1. Install Ubuntu 12.04 LTS Desktop 32-bit.  I used the pendrive linux solution and found it worked exactly as advertised.
2. Updated all packages (>300).  I started this in the background while performing some of the other steps.  I happened to use the GUI at this point but you could do the same from the command line by doing:

sudo apt-get update
sudo apt-get upgrade

3. Add the apt package locations per wview manual to /etc/apt/sources.list.  I guessed that Ubuntu 12 versions (known as precise penguin) existed, but they didn’t.  It turned out this worked anyway as the package repository points penguin requests back to natty (the version of wview that does exist.)  Open the file for editing:

sudo vi /etc/apt/sources.list

…and add the following lines to the bottom of the file…

## wview packages
deb http://www.wviewweather.com/apt/precise precise main
deb-src http://www.wviewweather.com/apt/precise precise main

4. Create user group weather, and put the logged on user into that group.

sudo addgroup weather
sudo addgroup [username] weather

5. At this point I had to create a udev rule for weather station, my WMR100 which connects via USB in a unique manner.  You have to be able to tell wview what device it uses and I think it’s easy to create a udev rule and make it friendly to find.  So open a new rules file like this:

sudo vi /etc/udev/rules.d/10-weather-station.rules

…and put this into the file…

# udev rule to find the WMR100 and add link and proper permissions

ACTION!=”add|change”, GOTO=”station_end”
SUBSYSTEM==”usb”, ATTR{idProduct}==”ca01”, MODE=”0666”, NAME=”oswmr100”, GROUP=”weather”, SYMLINK+=”wmr100”


What this does, is it looks for an add or a change from the USB subsytem and if it finds the product ID of the WMR100 (that <code>ca01</code> part) it creates the friendly name, puts it into the weather group (although I’m not sure this is entirely needed now that I think about it), gives everybody read permissions, and creates a couple of names.  After creating this file, you should plug in your station and verify that the oswmr100 and wmr100 devices show up in /dev and that they have the right permissions and group.

6. Update the apt respository and install wview.  If the command you executed earlier to update the entire system is still running (and it might be, there are over 300 updates after all) you’ll have to wait for that to finish before this will run.

sudo apt-get update
sudo apt-get install wview

Note, this automatically installs apache2, php5, sqlite3 as prerequisites.  If I had to guess I’d say that you could get away without apache and php if you know for a fact you’ll never use the web gui for either configuration or display.  I liked the fact that I can use the web gui for configuration and a quick status update whenever I’m not sure what is going on.

7. For some reason, with wview version 5.20.1 and Ubuntu 12.04 mod-php5 is not loaded.  Perhaps this is because of something new in Ubuntu 12.04, but in any case, do that now.

sudo apt-get install libapache2-mod-php5

8. At this point, I decided to reboot and let all those updates take effect.

9. Unique to Ubuntu, which lacks a root account by default, you need to configure SSH correctly so that the wview SSH upload feature works correctly.  This means temporarily enabling the root account, setting up ssh to your target system, then disabling it.  Thanks to simonstl on the wview forums for this.

First, generate keys for your logged in user account. Select the defaults for all the questions, including leaving the passphrase blank. This could be a security hole, but it is required if you want programs (like wview) to be able to connect
to an SSH server without having to use a passphrase.

ssh-keygen -t rsa

Next, copy the generated key to the target system and add it to the authorized_keys2 file for that account (belongs in ~/.ssh/authorized_keys2.)  If that system doesn’t have an authorized keys file yet, it is OK to just copy it in new like I am doing here.  Otherwise, copy the .pub file over to a temporary location and then cat it into the existing ~/.ssh/authorized_keys2 file as we do below for root.

scp .ssh/id_rsa.pub <sshuser>@<targetnode>:~/.ssh/authorized_keys2

Test that this worked by doing an SSH to the target node – you should not be prompted for a password.  If you are, something didn’t work right.

Finally, we can get on with doing the same for the root account. Strat by creating a root password:

sudo passwrd root

Login as root for the next steps.


CAREFUL: you are now root, lots of bad things can be done now accidentally.

Change to the root home directory and create the ssh keys. Again, select the defaults for all questions and especially leave the passphrase blank.

cd ~
ssh-keygen -t rsa

Copy the root ssh public key to the target node. Replace sshuser if your normal logon account, and targetnode with the name of the ssh/web server.

scp .ssh/id_rsa.pub [sshuser]@[targetnode]:~/.ssh/root-id_rsa.pub

Finally, connect to the target node and cat this new key alongside the existing key(s). I’m not going to show how to do that exactly because I don’t know what your exact setup is. However, it is something like:

cd ~/.ssh
cat authorized_keys2 root-id_rsa.pub > new-authorized_keys2
rm authorized_keys2
mv new-authorized_keys2 authorized_keys2

Back at the wview station, ssh into the node in order to prove your keys are working right. Again, if you’re prompted for a password something isn’t right.  Check the authorized_keys2 file to ensure it has the right keys in it (it is a text file.)

Finally, we exit out of root su mode, then disable the root password and return to normal Ubuntu operation.

sudo passwd -dl root

To check out the settings, connect to wview manager (web) and configure it. http://localhost/wviewmgmt/login.php

Remember, the default password is wview.  You should probably change that immediately.

I had to change ssh source directory to /var/wview/img as the default did not work on Ubuntu. That’s the SSH->Source File or Directory setting. Other than this, the setup is complete.