F550/APM based Hexacopter build

Part 1 – BOM and frame

Having looked into building a quadcopter some time in the summer, I was put off by price. But after now seeing a couple in person and the amazing footage they can produce, I decided to give the world of multirotors a whirl!

I got the idea of a hexacopter into my head simply because if they have two more blades they must be 50% more awesome? Right?

I have not even started the build yet, but just researching and ordering the parts is making me think they are just 50% more money… We will have to wait for the end result on that one.

After a quick chat to some other multirotor guys on IRC, I picked up a cheap Hubsan X4 with some spare nectar points to practice my crashing. This was probably worth the money as flying a multirotor takes a little bit of getting used to after flying cheap helicopters.

This is what I have ordered so far for the build (Pretty much up to date):

Part Quantity Price (GPB each) Description
H550 V2 Frame 2 13.60 Hex frame (+1 spare of everything)
NTM Prop Drive 28-26 1000KV Motors 7 10.55 1000rpm/volt motors (+1 spare)
Turnigy plush 30A ESC 7 8.67 Hobbyking own brand ESC (+1 spare)
NTM Prop Drive 28 Series acc pack 7 1.25 Motor and prop mounts (+1 spare)
GWS 9×5 Propellers 10 2.50 3 CW and 3 CCW props (+ spare sets, you will need them!)
Sevo leads (10pk) 1 1.68 These look like extenders and the APM comes with connecting leads, so not sure why I got them!
HKPilot Mega 2.5 1 50.02 Ardupilot mega clone (remember to stick foam on the barometer!)
uBlox NEO-6 GPS 1 11.87 I already had a MAX-6 breakout, but finding the lead to plug it into the APM was hassle, plus this one has a battery backup.
Turnigy 9X transmitter/receiver 1 35.52 Very cheap, I fancied the 9XR but adding the TX and RX modules was getting expensive. Do that if you have the cash. LCD upgrade.
PolyMax 3.5mm connectors 2 1.21 Connect motors to ESC’s
HXT 4mm connectors 1 2.79 Connect battery to frame’s power distributor.
Turnigy 5000mAh 4S 25C Lipo 2 23.52 Should last just under 10mins without load.
HKPilot power module 1 11.59 Seems a bit steep for a 5v PSU, plus we are going to demolish that 90A current limit at peak. But oh well…
Lipo low voltage alarm 1 1.37 Cheap and better than a forced landing (crash)
HKPilot mounting box 1 3.78 At 3.78 it beats 3D printing one.
Prop balancer 1 0.93 Someone said this was a good idea. at 93p who cares!
Telemetry Kit 1 19.79 Will be handy to find the thing + debug if (when) it crashes
Lipo Charger 1 15.17 This would be about £100 knowing my local hobby shop…
Lithium Polymer Charge Pack 1 2.18
Turnigy Pure-Silicone Wire 10AWG 2 2.06 Black and red
Anti-Vibration foam 1 0.97 This was great for mounting the APM (used 4x 10x10mm squares). Can also be stuffed in anti vibration bulbs to stiffen them up.
Rhino 2620mAh 3S Transmitter Lipoly 1 10.56
Crappy landing gear 1 14.90 Dont buy this. Please. Get something better.
Gimbal 1 30.99 Basic gimbal with motors.
EvvGC Gimbal Controller 1 18.36 This is fairly good. Takes a bit of tweaking and tuning but its pretty open for hacking!
GoPro Hero 3 Silver 1 199.00 For the money I feel the software on this is horribly unreliable. My first camera had a black band accross the video (perhaps due to vibration) but they replaced it. Good customer service I must say.
FPV Tx/Rx 1 32.99
3.5″ LCD 1 11.82
Eco FPV goggles 1 12.40 + Deluxe set. Makes a fair poor mans setup.
MinimOSD 1 9.36 Some people seem to blow these up a lot (one guy has “blown up” 7.. lol). Just watch what you are doing. The main problem I had was the 5 pin connector this came with going onto the 6 pins.. Seems simple but I had Green connected to “GRN” and that was apparently wrong… <3 China

 

Now there are a few things on here I could probably do without… And I have ended up spending way more money than I first planned.

Reason 1 behind this is the shipping worked out to be about £45 with SCS Express (who suck by the way)
Reason 2 is SCS Express were then kind enough to invoice me a few days later to pay some VAT (HK post usually just try their luck). So fair enough, I paid. But they have also slapped a stupid charge on top of that… Their english is awful and I spent about 2 hours deciding if the “VAT Invoice” was spam or not due to their shoddy formatting.

It would have been nice for hobbyking to be a bit more upfront about these charges. After reading on the forum it looks like the common thing to do is tell HK that you do NOT want to use SCS-Express when you order. Lesson learned.

My H550 frame came from hobbykings UK warehouse which worked out okay, despite having to deal with the dreaded parcelfarce and royal fail.

My other frame was from ebay, which i ordered first as hobbyking were out of stock at the time.

Here it is assembled:

11252651323_f73a2651c4_b[1]

 

Hopefully SCS-Express will pull their act together and I will have the rest of the bits by the end of the week. Stay tuned for the rest of the build!

Part 2 – Build

My box of hobbyking bits finally turned up and I got straight to work putting the hex together. Stage 1 was to solder the ESC’s to the power distribution board. I actually ended up flashing these with the BlHeli firmware (as they have an SiLabs chip). The H550 power distribution board is also a nightmare for the magnetometer (compass) thanks to the crazy magnetic field. This can be overcome by mounting the ardupilot a bit further away (like on some foam). It worth ordering some nice flexy 10AWG wire for the battery input too.

My initial idea of fixing the motors to the frame as shown below turned out to be pretty bad. One of the motors came loose, started throwing itself around and ended up breaking a prop. I picked up some M3x8 screws and mounted the motors directly to the arms in the end.

First Flight

After calibrating the ESC’s, accelerometer, compass and some extensive testing, it was time for the maiden flight.

The first flight was pretty successful. At the start I had the pitch controls backwards which threw me off. I landed and set that straight then had a pretty good flight! Altitude hold was a bit jerky (looked like it may have been oscillating a bit) and the GPS loiter was about the same.

First crash

My third flight was also the first flight I decided not to film. Things were going according to plan (with the GPS mode still a bit jerky) until I switched to return to land mode. At this point the copter threw itself forwards and broke a prop under the stress. Its safe to say even on a hex when a prop goes out you can still hit the ground pretty hard 🙁

Note the motors and broken arms stuck in the ground at the back.

So not the end of the world. I have now decided to ditch slow fly props and get something with a bit more beef joining the propeller to the hub. Back to hobbyking for some more bits.

Rebuild

While I waited for some more bits to arrive to repair and upgrade the hex. I went ahead and flashed the Turnigy Plush 30A SiLabs ESC’s with BlHeli using the instructions here. I also added the backlight and flashed ER9X onto my Turnigy 9X controller.

Vibration from the motors was probably to blame for the oscillation before, so I used the top PCB of my spare frame and some anti vibration bulbs to create a vibration isolated platform to mount the APM and bits to. On this I mounted a fresh foam block to get it away from the PDB’s magnetic field and suspended the APM case on 4x 1/4 inch square pads of orange latex foam. This seemed to really help, along with a new 5hz gps, to keep the copter more stable.

Also strapped on you will now find a telemetry transmitter, FPV transmitter, some really flimsy landing gear, LED strip and a gimbal.

First flight with GoPro

I treated the hex to a GoPro Hero 3 Silver camera. The footage from this is really nice however the firmware seems to be a little flaky. It has locked up a fair few times now transferring files and charging, requiring a battery pull to reset.

I locked off the gimbal level with some cable ties whilst I waited for its EvvGC controller to arrive from dealextreme. (note the silly gopro strap seemed rubbish and very sloppy, cable ties ftw)

EvvGC Gimbal Controller

My EvvGC 1.3 board turned up from dx.com, I am pretty happy with the service and there seems to be a few good deals on there. Thumbs up!

You currently have to use a 3v USB-TTL converter to flash the firmware onto the board, the PD values can then be tuned over USB. I played about with editing the firmware so the offset angle of the camera from the horizon is directly proportional to the RC input. This makes it a bit easier to control using a pot.

You need to set up eclipse (following instructions in the EvvGC github repo) and gcc to compile the code here. (if you just want to flash my hex file, download the repo as a ZIP and its in Firmware/Release.

The gimbal/camera/controller setup does seem to have a bit of a random twitch now again, like it forgets which way is up and just throws a tantrum. With some more tuning this *seems* to have stopped.

FPV Setup

To follow soon… RxTx from here: http://www.ebay.co.uk/itm/161057429739

11894395456_121e6e870e_b

Wireless SSDV images from a canon camera using RTTY on CHDK

CHDK (canon hackers development kit) is a temporary firmware hack that allows you to run custom code and commands on canon compact digital cameras. It is often used on high altitude balloon flights to run an intervalometer to take a photo every x number of seconds. The scripts are written in LUA or uBasic, with LUA seeming to be the preferred language. You can take this one step further and use CHDK it to log data such as CCD temperature like Mark Ireland (S_Mark) from Stratodean.

8712108150_3d21d765b0_b

Now the above is pretty neat, but up until starting this project I really underestimated the power of a camera running CHDK! In the article below I will be using a Canon PowerShot A530 to broadcast photographs over a Radiometrix NTX2 FSK radio module, in a similar way Dave Akerman does on his Raspbbery Pi payloads.

8744577917_5038e11e1d_b

SSDV (Slow Scan Digital Video) is a packetised digital form of SSTV (Slow Scan TeleVision). It can be used to transmit small images along with the regular telemetry transmitted by a payload during flight. Any digital mode that can carry text or data can be used, although the current implementation is limited to 8-bit RTTY (Radio TeleTYpe).

This is a vast improvement over simply sending the JPEG data as it supports forward error correction in the (likley) event that some bits are scrambled in the receiving process. It also supports integration into the UKHAS distributed listener platform, a group of enthusiasts who tune their HAM radios and SDR’s into balloons and upload the data to a central server.

ssdvfldigi

RTTY was originally used on teleprinters in the form of Baudot (5 bit). An RTTY transmitter broadcasts a continuous carrier which shifts up and down in frequency depending on the bit being sent. This produces the MARK (upper) and SPACE (lower) tones. You can see these two tones in the waterfall above). This is known as FSK (frequency shift keying). In this case we will not be using Baudot, instead we will be using 8 bit ASCII with one start and one stop bit to send a byte of SSDV data at a time.

On the CHDK wiki I started to read up on how toggling one of the cameras LEDs can be used to dump the firmware of a camera over serial. So I started off trying to produce RTTY by toggling an LED on and off. Whilst the code behind this worked, the timing was very inconsistent and I struggled to get anything above 33 bits per second. Not ideal for sending images! I figured there must be an alternative.

The camera has an ARM processor and runs VxWorks as an operating system, A popular OS for embedded devices ranging from mobile phones to the Mars Curiosity Rover. Using the cameras UART connections it is possible to access the VxWorks event shell and issue basic commands to the camera. The UART connections on the A530 are located under the display and require some fiddly soldering to the unpopulated chip footprint to connect! (Red wire below is the Tx) The UART’s default settings are 115200 baud 8N1.

Image from CHDK wiki

Upon experimenting with the UART connected to PuTTY running on my PC, using a USB to TTL converter. I found that the Printf command seemed suitable for writing text to the port. The Printf command is a native call and must be registered by calling SystemEventInit in the VxWorks shell before using it.

To call a native VxWorks function from LUA you must enable native calls in the CHDK menu (ALT, menu, misc, enable lua native calls [check]). Commands can then be executed using event_proc as below.

call_event_proc(“SystemEventInit”)

call_event_proc(‘Printf’,’Script Started’)

To make the UART suitable for RTTY the baud rate will need to be dropped to something a little more sensible, in my testing both 50 baud and 600 baud worked well, however 300 baud seemed to drop characters. Reyalp on the CHDK wiki helped me out by showing me how ioctl() can be used to change the UART settings, and finding the memory addresses for it along with the function codes for some of the commands from VxWorks.

fd=call_func_ptr(0xffec8b34,”/tyCo/0″,0,0) –fptr_open (Opens the UART on fd)
print(“fd:”,fd) –fd>0 if the UART was opened successfuly
status=call_func_ptr(0xffec8630,fd,4,600) –fptr_ioctl(4=FIOBAUDRATE,600=baud)
status=call_func_ptr(0xffec8630,fd,3,0) –FIOSETOPTIONS,3=OPT_RAW,0=OFF (Stops VxWorks messing with null bytes and line returns)
print(“status:”,status) –0 probably means success
call_func_ptr(0xffec84f0,fd) –Closes down fd

The 0xffec8630 function address points to ioctl on the a530, this will probably vary from camera to camera and can be found in stubs_entry.s for your camera in the CHDK source. The function codes for the various icotl commands in VxWorks can then be looked up here [backup: ioLib].

Initially I had a lot of trouble with VxWorks messing with some bytes I was sending to the UART, such as 0x00, and 0x0D being automatically followed by a 0x0A (need to check this). This can be overcome by setting the OPT_RAW option in  FIOSETOPTIONS as above.

I found that printing a whole binary file in one go as a single string did not work, so I use a for loop to print each byte in a string to the UART, rtty being the string name to print below. (note in LUA strings start at character position 1)

for d=1,string.len(rtty),1 do
        call_event_proc(‘Printf’,’%c’,string.byte(rtty,d))
end

Now from this point I could encode a JPEG image to SSDV using Phil Heron’s [fsphil] C based encoder running on a Linux PC. Copyy the files to the SD card,and then read them out to the UART and have dl-fldigi decode them perfectly. The next step is where the real fun started, compiling the C based SSDV encoder into the source of CHDK…

 

With some more advice from Reyalp at CHDK, Phil and I had a go at setting up the environment required to build CHDK, with myself working on Windows and Phil working on Linux. After a couple of days of Phil installing various bits of Linux software such as GCC, and myself trying to download one of the thousands of CHDK source trunks that would actually build, we managed to succeed at about the same time (For some reason the windows GUI decided to auto-update and started working from that point…). Phil had a go at implementing the C code from his SSDV encoder into the source and we had a semi-working encoder after just one evening! It took a few more revisions of the firmware as we tested different ways of calling the functions and addressing memory.

CHDK build with SSDV for a530 ONLY!

NOTE: I have built the firmware for every platform supported so to download a binary, scroll down…

You can use CHDK-Shell GUI under windows to compile the patched trunk for your camera. Or if you are a Linux super genius you can build it using GCC. For windows head to the page linked above. Read it ALL! Download the latest FULL program, run it, enable online mode, let it update, restart. Keep doing the above and eventually you will be up to date enough for it to automatically download the most up to date trunk for you to use.

Change the trunk in CHDK_Shell GUI to the trunk we just patched:selectingtrunk

 

CHDK_Shell should restart and you can tick off your cameras firmware on the list then click “compile selected”select camera and build

Unzip the binaries found in chdk\trunk\trunk3040_PATCHED\trunk\bin (or wherever) to your SD card and boot CHDK, its that easy!

I have had a go at building for every platform available so if you are feeling lazy, give one of these a go. TRUNK3039_SSDV BINARIES DOWNLOAD (Thanks to Dom for hosting the files!)

The first step to encode a JPEG image from LUA is to open the file and read it into memory (JPEG string).

fh=io.open(“A/DCIM/101CANON/filename.jpg”)
jpeg=fh:read(‘*all’)
fh:close()

We now have to create a new encoder object which we can feed the JPEG file into (specifying the callsign as CALL and imageID as 0).

s = ssdvenc.new(“CALL”, 0)

Now we feed the JPEG file (held in the variable we set earlier) into our SSDV encoder object above.

ssdvenc.feed(s,jpeg)

Now we need to enter a loop to make the object encode each packet, checking if the encoding is complete each time so we can jump out of the loop.

i=1 –packet encoder counter
rtty = “” –initialize output string
repeat –start loop
print(“Packet “,i,” encoding”)

–print encoder status message to screen
r, packet = ssdvenc.read(s)

–Read the output packet from the encoder, r being encoder status and packet being 1 SSDV packet.
if r == SSDV_OK then
–If we have data, then do something with it
rtty = rtty .. packet –concatenate new packet onto the end of output stream
i=i+1 –increment packet counter
end
until r ~= SSDV_OK –keep trying to get new packets until the encoder reaches EOF
ssdvenc.close(s) –Close the encoder

So now we have SSDV data in the rtty string. All we have to do is loop through each byte in the string and print it out the the UART

for d=1,string.len(rtty),1 do –loop through each byte
call_event_proc(‘Printf’,’%c’,string.byte(rtty,d))

–print byte to UART as a byte
end

You *should* now have 600 baud SSDV flowing out of your hardware uart and into your ntx2. With a suitable voltage divider you can set the shift to 600Hz and have this decoding in dl-fldigi and uploading to the web!

Whilst Phil was compiling the new source, I worked on integrating the transmitter into the camera. The battery bay worked out to be the perfect size, with space for an SMA connector in the battery door!

The now out of action battery bay is not a problem, as I wanted to build a 4 cell battery holder to power the camera anyway. This will probably be a 3d printed addition to snap on to the back of the camera or on to the side. As I wanted to demo this at the UKHAS 2013 conference I have added 2 AA holders to the side of the camera just with hot glue for power.

9689914800_0b162f1818_b9689913390_b20bf77351_b9686678691_28c7ea5b6b_b

Demo video of the camera in testing.

People have showed a lot of interest in the project and with a few more tweaks to the code I will be ready to launch it in the next couple of months!

The only thing preventing the camera becoming an entire self contained tracker is the lack of positioning data. I am hoping to be able to get hold of a new canon camera with GPS for geo tagging and send back position reports. I very much doubt canon will have used any specialist GPS chips in the camera to allow it to work above 12km (to comply with US regulations that prevent you using a commercial GPS to build your own cruise missile). I guess the only way to find out is to rip one open! Chances are that whatever GPS module they have used will output serial NMEA data, so a uBlox chip (works to 50km) could quite easily be patched in.

Stay tuned for updates!

CHEAPO7 flight 17/08/2013

I wanted to test the new cheapo4 board at altitude to see how well it worked, but to comply with the <2m rule I could not use a standard 100g balloon (http://randomsolutions.co.uk now stocks a 100g that complies with this rule, which I look forward to testing soon).

After picking up some 36″ party balloons from ebay and testing their burst diameter. I discovered they burst at about 1.2m, well within the limit. The new cheapo4 board was assembled and tested a few days before the flight, and again the night before the flight and worked fine. However once the balloon was filled and the payload attached it refused to get a GPS lock! After hours of moving things around, making sure the battery was out of the way and breaking out the ublox tx pin. I found that it was reporting back 0 satellites with the odd 1 popping up now and again. Not good.

With some more tweaking and still no luck we gave up, but determined to still launch something I pulled out an old cheapo3 board. This too refused to get a fix for some time but eventually came to life. We attached it to the already filled balloon and promptly launched it.

We began the chase , but after what seemed to be no time at all the balloon’s ascent rate started to drop. I thought this could have just been it struggling to break through a layer of cloud but after reaching a grand 813m altitude it started to descend again at about 1.5m/s.

A little disappointing we headed to the landing site and recovered the payload, which was sitting in the middle of a soaking wet corn field (easy recovery none the less).

9592861580_10585d80b3_b 9592864290_8e5f3b975e_b

cheapo7 path cheapo7alt

The cheapo4 tracker seems to have come back to life today, I have no idea what the problem was.. Just hope it doesn’t happen again!

I will certainly try this type of balloon again as I have a few left. It probably just leaked through the neck as I only tied it off with one cable tie. Next time I will consider just sealing the balloon with a conventional knot.

CHEAPO6 foil pico – it floated!

Left this write up a little late… But this was my first successful float! Using a cheapo R3 board powered from a cheap ebay boost regulator. These things are designed for > 0.8v input and 5v regulated output. It turns out by changing a resistor value you can modify them for 3.3v output. These things are not very efficient so only lasted about 8-10 hours.

We filled the 36″ foil balloon carefully using 1.5g of solder to measure the free lift. Which proved to be just about perfect (thanks Leo!). The tracker performed fine (still concerned about the GPS bug before, even though it did not reach 12km) and the balloon floated at a steady 3.7km for 10 hours before the batteries died over the north sea.

cheapo6 path

I have been working on a new tracker PCB which should be smaller, lighter and last longer. Stay tuned for updates!

CHEAPO5 + MONTY1 Charity Flight

 

This was a charity flight by Matt Downs to raise money for the Cats Protection League and Essex Air Ambulance. I offered to help out with launching and chasing with Matt and flew a cheapo R3 board as backup. Matt’s tracker worked perfectly and got some great stills from the gopro camera. However cheapo hit a bug at about 12km altitude and started giving incorrect GPS coordinates. The current theory is that the 808 camera I (stupidly) attached to the tracker in an effort to catch the burst, caused interference with the GPS. This caused the GPS to reset, taking it out of flight mode and defaulting back into pedestrian mode. 9430521810_2611f6c2b7_o

We were in the paper!

9333841577_1e80b2ebe6_b

Filling the 1600g balloon.

9336651882_9632383fae_b

Letting it up.

9336647466_32275a69e1_b

Running with the payload to launch.

 

9333403309_da715451e4_b

Easy recovery! Trailed out along the pavement.

 

CHEAPO4 foil pico flight – 07/07/2013

After the disappointing signal reports from cheapo3 I decided to investigate the cause of this. The most efficient, fast and cost effective way of doing this was obviously to just build up a new board and launch it. This also gave me a chance to play around with foil balloons which seem far more suited than small latex for this sort of payload.

I made the 1/4 wave antenna using cat5 cable instead of telephone cable this time around and it seemed to make all the difference! Had lots of great signal reports and a fair few trackers. The software had also been updated with some power saving code dropping the current down to 50mA, and a distance from launch site calculation added. The tracker complete with batteries and foam box weighed in at about 40g.

9227232414_76321d8544_z

I aimed for a fairly low ascent, but by just measuring this by eye in quite a confined space (my garage) it was probably a little on the overfilled side. I cannot imagine having to fill one of these outdoors!

Instead of using a plastic tube for filling I simply opened the valve using a drinking straw then filled the 36″ qualatex balloon using the filler nozzle on a disposable 50 helium canister.

I filled 2 small latex balloons to use as wind indicators and to test for tree clearance. Just as well as the first one got stuck!

DCIM100MEDIA

Launch video:

Unfortunately the balloon did not enter a float despite its fairly slow ascent rate. At about 5400m the balloon started to leak gas. This looked like it was leveling off for a float. But then started to descend at about 1.1m/s.

cheapo4 path

As the balloon descended I tried to decide if I should go to recover. My inverter went missing and I doubt my old laptop would have lasted long enough to be worthwhile. I sat there and watched as the balloon crossed the River Thames and bounced along between 100-200m altitude as it rode thermals over the town.

cheapo4 land path

CHEAPO4 bobs

We lost contact with the payload at about 60m altitude over Bexleyheath golf club. Just then Steve (G0TDJ) stepped in to save the day! With his mate Ken at the wheel, they drove down to the golf club to take a look around. After a few minutes with nothing seen, one of the golfers pointed them in the direction of the A2 (eek!). Luckily it seems that the balloon was blown to the side of the road by the traffic and up onto the fence.

Steve caught a passer by just in the nick of time to pass the balloon over the fence to him after convincing him that the payload was NOT in fact a bomb and he did NOT need to call the police! A close shave!

As you can see below the payload had landed directly below the tracked position. I can only presume the balloon floated further on and was blown back down the road, or the wind was directed downwards due to the shape of the trees.

cheapo4land1

So all in all a successful flight. The new antenna is tried and tested. I have some experience with launching foils. The HC49 RFM22B showed slightly less drift than usual, I will be interested to investigate that one further.

Comparison of RFM22B’s (Standard HABsupplies on top, alibaba board on the bottom)

9230778518_e999da0fc5_k

Thanks again to all those who helped track, and an even bigger thanks to Steve and Ken for going out to recover! CHEAPO5 to follow sooner than you may think 🙂

 

Cheapo3 flight – 14/06/2013

Last week I launched a test flight of the new cheapo boards to test how they performed against the old ones. Sadly the results were disappointing with a very weak RF output.

We aimed for a low ascent rate (1.2m/s, which we came very close to!) and released it out to sea.
After the balloon had traveled a couple of miles I noticed the signal was much weaker than anticipated, after eventually losing the signal altogether after about 25 miles.
Luckilly G8KNN (Cambridge), jijdaar(NL) and a few others jumped in to save the day, and managed to track the thing all the way up, and most of the way down (to about 5km).

Sadly the payload did not make it into Europe, however I am glad to have had the chance to test the new boards before relying on them for a much more expensive flight.

UPDATE: On the 30th June 2013 I had a phone call from a woman on the island of Borkum (Germany) who said she had found the (badly damaged) payload in the sea!

I would have loved to have seen some photos of the payload, but unfortunately she did no have access to the internet. After spending about 15 days in the north sea I expect the tracker would have been damaged beyond repair, so I said not to worry about sending it back.

You can see in the (badly edited) image below quite how far the payload drifted from its tracked landing location.

cheapo3recovered

I believe the problem was down to the antenna being made from cheap single core telephone cable (which I thought would be extremely similar to cat5, which works well). I will launch another board in the next few weeks with either a cat5 or a coax antenna and see if there is an improvement. In hope to be able to source a small step up regulator board to allow future flights to run from just one lithium AA cell

 

CHEAPO R3 boards

The new CHEAPO boards are here! I have soldered one up and all seems to be working perfectly! Here is a quick write up on the results.

IMAG1165

New board compared to old, looks much neater!

IMAG1193

Main components of CHEAPO3

IMAG1195 IMAG1197

Weight of CHEAPO3 with and without batteries

IMAG1201

Micro SD card installed (2GB seems like overkill for text logging!)

IMAG1202

Current consumption of board whilst acquiring GPS fix, writing to SD card and transmitting = 110.9mA. This will drop when the tracker gets a GPS fix and if the SD card is removed for long duration flights. I think I will have a go at optimizing the code and look into the power saving modes of the uBlox NEO-6

I am very happy with these boards and look forward to testing one in the air. Currently planning a possible pico launch on the 14/06/2013 (PM)

uBlox UBX ACK code in Python

In order to use the uBlox chip in a high altitude balloon, it must be set to flight mode to enable its use up to 50,000m altitude.

This mode is set by issuing a UBX command over the serial port, then checking its acknowledgement (ACK) packet response. There are great examples on UKHAS of how to do this on an Arduino, However my Pi payload code is all in Python, a language I am still getting to grips with.

It turns out it was relatively straightforward to translate line by line, also improving my understanding of how the code actually worked instead of just blindly copying/pasting blocks of example code. I encountered a slight problem when checking the ACK response packet from the GPS against a expected response as the expected response was stored as an integer value, and the actual reply was stored as a character!

My code can be found on GitHub

2013-05-15-192850_1184x624_scrot