Archive

Projects

Back in January this year, I wrote a neat little utility library for sending template emails. Tonight, it caught the attention of fellow developer Benjamin Howarth, famous for (among other things) his Umbraco mastery.

After a quick discussion, Ben decided to join me in maintaining the library and christened his membership in the project by adding a new ‘load from URL’ feature. And, a short while later, a package was available on Nuget. Not bad for around an hour’s work I thought!

To download and install the package easily via Nuget, bring up the Package Manager window within Visual Studio and type:

I created the initial version of the library with simplicity in mind: it’s not fancy, or complex. It was designed purely to provide a solution to developers who have to send templated emails in their projects.

Perhaps my favourite ‘feature’ of this library though isn’t really a feature at all, so much as it is actually a by-product of the way it has been designed: because it picks up template files from disk (or from a remote URL), you can easily allow your end-users to modify their own templates using your favourite rich-text editor. Pretty neat.

Please feed back!

I think it would be cool if we could get a little community of users together who could help drive the project forward with further suggestions. Head on over to the project hub at Codeplex to get involved, or download the latest version. And, if you decide to use the library, please, please, please – do rate it on Codeplex and/or drop me a note to let me know how you’re using it. It’s not a requirement, of course, but since we do this stuff for free in our spare time, we love to read feedback.

Thanks!

A few months ago, I mentioned that my friend and I were going to start building a UAV. It’s taken us a little while, but I’m pleased to report that over the previous bank holiday weekend we were able to take it out for our first test flight.

This test flight was the first step in our move towards building a fully automated UAV platform using a Netduino. This flight, however, is 100% manual, with no auto-pilot assistance. The objective is to get to grips with manual flight as we need to be able to launch and land the aircraft and take over in the event of an autopilot failure.

Now, bearing in mind that neither of us have any flight experience whatsoever, below is a video clip of some of the flights during the day. There are, as you might expect, several crashes and some very unsettling flight patterns, but don’t worry, as neither I nor anybody else involved have any aspirations to become a commercial pilot. :)


Lessons learned

As the pilot, I gleaned some useful insight into the flight characteristics of the platform. Here are my initial thoughts:

  • The stock rudder is way too small to have any authority, particularly with the upgraded brushless motor. It has a control surface of just 2.5cm x 10cm (approx.). In light wind, it was pretty much uncontrollable and at speed, no chance. We later modified the rudder to 6cm x 15cm and are looking forward to testing that out next weekend.
  • After the first crash, the tail completely detached from the body. It was way too brittle and broke in the only place we hadn’t reinforced with glass tape. After fixing, we ended up with a plane that was, well, a bit ‘warped’. That’s fine for our trainer, but in a future version before we integrate the UAV electronics we’ll probably need to embed some carbon-fibre rods throughout the body to improve the rigidity.
  • Ailerons would make the model much more responsive, so we’ve added those too (I’ll probably blog about the modifications in a separate post) and these will be tested next weekend.
  • We should have taken time to balance the centre of gravity properly. This might account for some of the more ‘wild’ elevator action seen in some of the clips.
  • Even when flying into a headwind, very little motor input is required in order to maintain stable flight. I think I only used 100% throttle maybe once, just to see how it reacted.

Those of you who have played Call of Duty: Black Ops, will join me in rejoicing the sound of a friendly yelling “UAV online!”, and likewise the sinking feeling you get in your stomach upon hearing the doomsday announcement of”Enemy UAV online!”.

I’ve always had somewhat of a fascination when it comes to anything that flies. I’ve had four model helicopters (I can’t fly any of them particularly well) but for me the joy was in building these things first, or taking them to bits when they (inevitably) crashed.

Multiplex EasyStar - our airframe

So it ought not to come as any surprise then that, while playing Black Ops a few weeks ago, my friend and I had a rare moment of mental synchronicity when we both declared: “let’s build one for real!”, and to hell with the fact neither of us had any real clue where to start. But that’s what teh interwebs are for!

Black Ops aside, there are a few distinct angles to this project which make for a really fun time:

  • Building the model: learning how to build a model plane and all necessary mini-skills that go with it
  • Hooking up the avionics: speed controllers, batteries and radio
  • Adding a micro controller and accompanying sensors for autopilot functionality
  • Building a wireless telemetry system and making the “ground station”: mixing physical computing with software systems to build a truly mobile

Project Goal

The plan is to build a radio-controlled model aeroplane that can autonomously navigate several way points and take detailed aerial imagery along the way, purely for recreational purposes. We’ll no doubt figure some way of making some sort of game, too. As a bonus, when we’ve figured out how to do that we’d like to add a live first-person video element to the project so that it’s possible to get a “in cockpit” view in real-time.

As with all crazy ideas, the key to success is planning and there’s been no shortage of that over the Christmas period. The UAV plan will be split into two phases:

  1. Build an aircraft, learn to fly it manually
  2. Equip the plane with an autopilot, build the ground station and voila.

Given that neither of us have any fixed-wing flying experience, we figured it necessary to enlist with a local flying club once we’ve built the plane so we learn the basics from the pro’s and join the British Model Flying Association (which also provide insurance!).

Kit List

After extensive forum research and oogling over product specifications, the final kit list is currently still in development but most of it is currently listed on our Wishpot wishlist. This list gets updated all the time as we substitute parts or buy each item. When the aircraft is finally built I will post the final kit list here.

Airframe and basic electronics

To build a successful aerial imaging platform, the key is having a stable airframe and a large cargo capacity. This therefore requires an aircraft which produces a lot of lift and is built more like a glider than a traditional plane: high-wing designs are in and we’re shooting for reliability over performance.

To this end, we settled on the Multiplex EasyStar Kit which was about £47. The kit includes the basic airframe, a standard motor and all moving parts (prop, servo linkages) but doesn’t include a speed controller, radio TX or RX or any servos.

Following forum advice, we won’t be flying the stock motor or propeller. Instead, we opted for a brushless motor upgrade kit (£79.99) which provides us with an Overlander battery, 30A electronic speed controller and a much more powerful motor with a slightly larger propeller.

Radio

For manual flying (and later, switching between manual/autopilot), we opted for a slightly more professional Futaba 6 channel system operating on 2.4GHz. It’s super light weight receiver (9.8 grams) is perfect, and being on the 2.4GHz spectrum means we won’t have to deal with pesky ‘crystals’ or interferrance from other modellers: it’s digital frequency control means our controller will always control our plane.

Power

On board power will be provided by 1 x Overlander Lithium-Polymer 2200mAh 3 cell battery, putting out 11.1V. This will be split between the ESC and the radio gear, though in time we might investigate running the radio off a dedicated smaller battery.

The fun part: telemtry and autopilot

Making anything do anything by itself isn’t exactly easy, especially if you want it to do it well. For the auto pilot, we’ve chosen to use the open-source Ardupilot project which is essentially a set of hardware shields for use with an Arduino, together with some open-source software.

What I’d like to look into doing though is porting the Arduino version of the software to C#, for running on the Netduino (an Arduino ‘clone’ running the .NET Micro Framework).

Essentially, the Ardupilot requires themorpiles and an inertial measurement unit (or, IMU, for short) and a GPS. Data from these sensors can optionally be transmitted via a separate on-board radio system to a ‘ground station’.

Our model’s sensors include:

  • XY+Z IR Horizon Sensors
  • An EM406 GPS module
  • Airspeed sensors
  • Barometric pressure sensor

Our telemetry system will beam data back to the ground station via long-range Xbee modules. More precisely, 2 x XBee Pro 50mW modules (Series 2.5 with RPSMA antennas) and a couple of interface boards. These modules have an approximate line-of-sight range of 1 mile in ideal conditions, more than enough for our purposes.

Where are we now?

At this time, the basic airframe has been constructed and most of the equipment needed to build a normal manual flyer aeroplane has arrived and been assembled, with exception to the radio at this point.

Next steps are to complete the installation of the radio and servos, construct the final power distribution harness and then go join the model flying club to learn how to fly. In the mean time, there’ll be some tinkering to do in my spare time to actually construct the Ardupilot autopilot and start adding the sensors. More on that lot to follow in future posts…

Have a great new year!

In this post, I will show you how to dismantle your Thomson SpeedTouch TG585 v7 router to allow connection of an external WiFi antenna. This is a very simple process requiring the removal of only four screws.

What you will need

  • 1 x Mini PCI U.FL to RP-SMA Pigtail Cable (~£1.50 each, I bought mine off eBay from this seller).
  • Set of needle-nose pliers
  • Set of mini Philips screwdrivers
  • … The external antenna you want to use! (I purchased this one for £13.99 from Maplin as it has a magnetic base, useful in my particular installation).

Step by step

1. Disconnect the power to your router, and unplug the power adapter from the mains supply.

2. Flip your router over, and remove the four plastic feet/pads from each of the four corners of the router.

3. Underneath the feet are four screws (one underneath each of the pads). Unscrew each one.

4. Lift the router off the table and gently give the base a tap – the grey top section should fall off. That’s the ‘lid’. If it doesn’t come off easily, gently prise it off with a flat head screwdriver; the operative word being gently. It’s not glued or wedged, it just might be a little tight.

5. Turn the unit over so you can see the main board.

Taking special care not to touch any of the solder points or components (especially any capacitors), ground yourself and then remove the antenna wire which is connected to the main board (connector circle below):

91edited

You might find a pair of needle nose pliers may help – but the clip is not particular tight or difficult to remove so just be wary of applying excessive force.

6. Now, unclip the existing ‘non-replaceable’ antenna by pinching the inside of the clip with pliers, while pulling the antenna. This will release the antenna and it should pull-out through the exterior of the case as follows:

93

7. Now, thread your new antenna pigtail cable through the case (where the old antenna used to go) so that the tiny clip is on the inside and the antenna connector (the larger connector) is on the outside. Connect the small end to the main board of the router in the same place you disconnected the old one from.

8. Pop the lid back in to place, turn the unit over and put the screws back in, followed by the sticky feet.

9. Now connect up your external antenna, and you’re all set.

Follow

Get every new post delivered to your Inbox.

Join 261 other followers