Setting up a HobbyKing MultiWii Lite V1.0 Flight Controller

My new MultiWii Lite V1.0 Flight Controller from HobbyKing arrived today. I hooked it up and tested it with MultiWiiConf 2.1. It worked fine, but the sensor orientation was all over the place.

So I loaded multiwii 2.1. Initially I defined the gyro as MPU6050 (combined gyro & acc). This also worked fine, but the orientation was still wrong.

To fix this, I added a new board definition to def.h:

#if defined(HKMW)
#define MPU6050
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}

Then I added the board definition to config.h

#define HKMW

This fixed the sensor orientation, and the board is now working fine.

Look forward to seeing how it flies.

Posted in Arduino, Flying | Leave a comment

Evolution of processing power

I came across a mind-blowing fact yesterday, which I wanted to note for future reference.

The GeForce GTX-690, which is a high end graphics card (possibly the fastest graphics card at the moment), has a maximum processing output of 5600 gigaflops. This is a card that we use to play games, with delicious graphics. It costs around $1000 (£700).

At the turn of the century, a mere 12 years ago, the world’s fastest supercomputer (ASCI Red at the Sandia National Laboratories) had a maximum output of 2379 gigaflops.

That’s what happened in 12 years.

Posted in Hardware | Leave a comment

New Arduino Multiwii flight controllers from

I’ve been using Multiwii flight controllers for a couple of years now, first as Arduino boards & separate sensors, then as Crius Multiwii boards with onboard sensors.

HobbyKing have recently launched their own Multiwii Arduino board. This is based on an ATMega 328P, just like the Crius boards. They come with an on board MPU6050, which is a combined 3 axis gyro & 3 axis accelerometer.

This means the board can be flown in acro mode and in self-level mode.

What is really outstanding about this board is the price – only $26, including an FTDI breakout board. That’s pretty cheap.

I’ve just ordered one of these to try out, so will hopefully post a review in 4-6 weeks.


Posted in Arduino, Flying, Multicopters, Radio Control | Leave a comment

PHP and JavaScript charting libraries

A recent project I worked on required some charts to be rendered. I carried out an extensive review of the available charting libraries, both client side and server side.

My favourite server side PHP library by a long way is pChart. Easy to use, highly configurable, and generates very pretty charts out of the box.

For client side, I found two that I really liked. Google Chart Tools and HighCharts. Google Chart Tools is free and very easy to use. HighCharts is commercial, requires a little bit more work, but is a lot more flexible, and produces (imho) much prettier charts.


Posted in GUI | Leave a comment

PDF generation in PHP

When I’ve needed to generate PDFs in the past, I’ve usually used TCPDF, which is a very popular PHP PDF library. It’s actively developed, and has a thriving community.

On a recent project, I had a requirement to generate PDF versions of existing pages, with minor format changes. I tried out a number of PDF generators that render from HTML & CSS, with varying degrees of success. The best one I found, which does a pretty good job, is DomPDF. It has pretty good CSS 2 support, and requires minimal tweaks to the HTML to produce a clean PDF.

Posted in Uncategorized | Tagged | Leave a comment

Copper catalysed acetone oxidation

I recently came across a video of copper catalysed acetone oxidation. I thought it looked really neat, so I tried it.

What you do is get a glass tumbler, and put a small amount of acetone at the bottom (a few ml is enough). You then suspend a piece of copper wire from a stick so that it hangs a couple of cm above the acetone surface. Before lowering the copper into the glass, you heat it to read heat with a blow torch.

Copper catalysed acetone oxidation

The copper continues to glow for around 20 minutes. This is because the hot copper acts as a catalyst, allowing acetone to oxidise on its surface. Beautiful waves of colour flicker across the surface as it glows.

A few tips to get this working well:

1. Use thin, multi-strand wire, wrapped in a flat spiral. This provides a large surface area, allowing the reaction to continue.

2. Leave the acetone to sit for a few minutes before lowering the wire. This allows the glass to become saturated with vapour.

3. When you heat the wire, do so a long way away from the acetone (duh!)

Posted in Uncategorized | Leave a comment

The best Linux desktop ever

I’ve previously ranted about the sorry state of the Linux desktop, with Gnome 3 and its bizarre UI, Ubuntu’s Unity with it’s irritating “must change the way everything works” attitude, and KDE 4 with its over the top styling and silly animations.

The last time I had an out-of-the-box desktop environment that I thought was great was with Ubuntu 10.04, which had taken Gnome 2 to a very smooth, usable desktop.

Sadly this did not last, and as far as I am concerned, the current versions of Ubuntu (including Kubuntu and yes, even you Xubuntu) are all a step backwards.

Today I tried something new, Mint 13, also known as Maya. For the first time in a long time, I am genuinely excited about this. The out-of-the-box desktop is great. Installation is as easy as any Ubuntu version. It all looks great, and everything works without tweaking.

There are no silly gimmicks, no unnecessary panels/ribbons/buttons/widgets, just a lovely, clean, easy to understand, easy to use desktop.

The GUI is clean, complete, and seamless. It doesn’t look like the illegitimate offspring of 100 different GUIs (I’m looking at you, XFCE). This is because the amazing Mint developers took the last good desktop, Gnome 2, and forked it to make Mate. Ubuntu – study Mate carefully, this is where you should have gone.

If you’re looking for a new desktop OS, I would recommend giving Mint 13 a try.

Posted in Uncategorized | Leave a comment

Calibrating ESC range

This post is about calibrating ESC throttle ranges. This is an important part of setting up a multicopter, as it insures that the ESCs all respond the same way to the Flight Controller.

To calibrate an ESC, follow this procedure:

1. Unplug everything from your receiver (Rx).

2. Plug the ESC into the receiver Throttle channel.

3. Turn on your transmitter (Tx), and move the throttle stick to the top.

4. Power up your ESC with a motor attached (but without a prop!)

5. The ESC will beep a few times, then stop. How many times, and for how long, depends on the make and model.That means it has set the Throttle Max value.

6. After the ESC has stopped beeping, move your throttle on your Tx to zero. The ESC will then beep again, confirming that it has set the Throttle Min value.

7. Repeat this procedure for all your ESCs.

8. To make the procedure quicker, you can make up a harness connecting all the ESCs in parallel. This can be done either with servo extension leads, or with strip board and pin headers. This is well worth doing, as it makes the process much quicker, and sets the same range on all ESCs.

Posted in Uncategorized | Leave a comment

Flying Car

I’ve been building and flying multicopters a while now. I thought it would be fun to build a flying car, with both car and multicopter controlled via the same transmitter. This is the result.

Flying Car from TS00 on Vimeo.

Flying Car Maiden Flight from TS00 on Vimeo.

Posted in Hardware | Leave a comment

Human Birdwing Hoax

The Internets are abuzz with news of an amazing new form of flight, the first ever human bird-like flight. It certainly looks convincing at first glance; there’s a website, a youtube profile, a facebook profile, and what looks like a genuine video:

The clever thing about this hoax is that they say all the right things – they mention using Turnigy motors, large 5000mAh LiPo batteries, an Android phone for control, a Wiimote for the accelerometer etc. They even show their acceleration measuring software in action. They also go as far as building a motors box, which drives a pair of carbon arms, onto which the wings are mounted.

From a technical viewpoint, it looks like a longshot but definitely plausible.

But then you watch the video, and it all falls apart. There is clear fakery there. If you look closely at the takeoff, between 35 and 42 seconds, and watch the guy’s legs, you cam see that there is no way this is real.

Once you start looking, there are lots of other problems. Why is the camera so far away from the takeoff? Why do the support guys run away, rather than run behind? Why are there car tyre tracks following the flightpath? Why do the wings not look loaded, instead flapping around?

Verdict: this is definitely a hoax.

Posted in Uncategorized | Leave a comment