Quadcopter update

I’ve been a bit slack on my updates, so here’s a couple in a row.
I got some time to fly the quad copter on the Melbourne Cup weekend, while I was at Apollo Bay. There wasn’t much of a window between the weather to fly the quad. I’d been playing with the settings on the controller and I had calibrated the ESCs. The result was a cascading build-up of oscillation. It was messy. At one point I tried to keep it flying hoping it would calm down. It was not a good plan, the quad completely inverted and smashed into the grass. I managed to land it two out of three times, but by then there were a few people coming over to look. I wasn’t comfortable flying around without adequate control of the quad, so back into the box it went.

I’ve been doing some research, and it looks like I’ve set the ‘I’ values to high in the PID loop. I’ll set them lower for the next run, which will be tethered to the ground to reduce the risk of damage. I’m going through too many propellers.

Quadcopter Update

Well, I’ve learnt the difference between ‘Acro’ mode and ‘Self Level’, and it only cost me one propeller.

This afternoon after work, the kids and I took the quadcopter to the local oval. It started out as a lot of fun, but I hadn’t realised that you can change the mode by stick input on the controller. Somehow I managed to knock it from Self Level mode (I need all the help I can get at the moment – I’m up to almost 6 minutes of flight time), into ‘Acro’ mode. I’m assuming ‘Acro’ is an abbreviation for Acrobatic, because it got very exciting after that. If you are expecting the quad to self level when you center the sticks, it takes a moment to realise that it isn’t happening. You don’t have a lot of moments available.

Here is how the construction has progressed. I’ve completed a bunch, and learnt that I have more to go. It’s flyable now (or it was before this afternoon’s adventure), but there is lots of room for improvement.

Successes:

Failures:

  • Install video cam
  • Install video TX

i’m not 100% sure what has gone wrong here. I wired the camera and the TX together using the supplied wiring harness and powered it up. The video TX blew and managed to ignite the heatshrink. I suspect its taken out the camera too. My best guesses are faulty wiring or faulty board. Without better diagnostic equipment, there isn’t much I can do about it. I’ll have to order replacements when funds allow.

To do:

  • Replace the rear props with some red ones. Its hard to maintain orientation with the yellow front and white rear. There isnt enough contrast. Also, I broke the white one. 🙂
  • Re-mount the KK2 and re-level it. It tore off two of four pieces of mounting tape in the impact.
  • ESC Calibration (electronic speed controllers)
  • Instal SimonK firmware on ESCs, I’m leaving this until I have a rainy day
  • build (anti)vibration isolation platform

Password storage in .net

Password storage is a pet peeve of mine. I’ve worked with systems that use:

  • bidirectional encryption for the passwords (you can convert the password into gibberish, and then back to readable text),
  • MD5 hashing (you can convert the string to gibberish, but not back. You test the password by hashing the password that the user is trying to log in with and comparing it to the hash in the database.), and
  • clear text storage. (This is the worst plan ever).

They each have their own security flaws. Bidirectional encryption can be converted to clear text, which means that if someone steals the user list, they can discover all the passwords. Likewise, you can build a dictionary of known passwords and MD5 hashes and use that to look up the password that made a hash. And storing a password in clear text is pretty much the same as just giving out your user’s passwords.

I’m currently working on a software application that uses the BCrypt hashing algorithm to store passwords. BCrypt is available for .net and other languages, and is very easy to use and implement. The BCrypt library produces a salted hash, and stores the salt and the hash together. This systems means that even if you had a dictionary of hashes, you would need to rehash your entire dictionary for each salt. As each salt is unique, this is going to take a long time. The algorithm is intentionally slow, but configurable. By default it runs about ten iterations, but can be adjusted higher. The trade off is between security and hardware. In theory, as the hardware gets better you can increase the number of iterations, and keep it difficult to compute. The estimated execution time for the default configuration is 0.3 seconds per hash.

So, to summarise, BCrypt is:

  • a one way hash (you cant reverse the password out);
  • uniquely salted, making pre computed dictionary attacks much less useful;
  • adaptive, so it can handle future changes in available compute power; and
  • easy to implement.

So people, hash your passwords!

More information at DerekSlager.com.

Jeri Elsworth is being awesome. Again.

Jeri Elsworth is awesome. She makes things that would make most makers balk and give up before they even start. From building race car chassis, to home semiconductor experiments (Want to make your own transistors kids? I know you do!), she will have a go. Sometimes she wins, and sometimes not, but she always takes the time to document it so we can all learn.

Her new venture is an amazing set of 720p (per eye) Augmented reality/Virtual reality glasses. The team is, Jeri on hardware, Rick Johnson (game development guru) on software, and Toby the cat (roll unknown).

Sure, I’m going to be poor for a while, but I’m going to be one excited geek when they arrive next September!

You can check out the detail on the Kickstarter page or on the company web site.

Quadcopter update

Ohkay…

I had a lovely sunday watching the Bathurst 1000 and building the quadcopter, with the assistance of my daughter.

As it stands so far we have:

Still to go:

Quadcopter

Hobby King should come with a drug warning. It starts out safely enough, a couple of servos for an arduino project, a drive motor for something else. Next thing you know you’ve found out that you can fly aeroplanes and strange copters with video goggles on, seeing what’s in front of the plane. It’s like crack for geeks.

After watching one of Flite test’s youtube clips, I really wanted to have a go. But I have glasses, due to astigmatism, so buying the headset would also require custom lens inserts. It starts to look pretty expensive about then. That’s when I found this video, which shows how to setup a usable (not pretty) home made system. It looks cheap enough to try without breaking the bank, and it can be made to fit over my glasses. If I decide to go further with the hobby then its possible to hook up multiple goggles. So, this could become the guest headset.

I’ve managed to get hold of the lens and the screen, but you can’t buy the nice hotwire cut EPO foam mount anymore [edit: its back in stock!].