Tag Archives: FPV

TK102 Clone – GPS Tracker Setup Guide

As with most Chinese knockoff and clone devices, one can expect minor variations in hardware, numerous inconsistencies in software / firmware and a complete lack of documentation.  For a device where all commands must be issued over SMS text message, figuring out how the Xexun / ZY International TK102 / TK102B / TK102-II functions without a proper manual is difficult enough, but for my “clone,” the closest to which I’ve come to identifying as a Heacent HC06A board inside a TK102 shell, in which the formatting of the commands has inexplicably been altered, the task was a miserable one.


Mine resembles the “Hash Clone.” Click for the key and link to the source, the developer of an android app for these trackers.

That said, at $27.97, this type of hassle is almost expected, and for a fully functioning (once understood) GPS / GSM tracker, the lack of documentation does little to spoil the deal.

The Elusive list of Commands

For this device, the commands use “#” for padding/separations, rather than a space as on the official devices and many of the, er, “more official” clones.  The commands also vary slightly.  As with the original, all passwords must be numeric only, and six digits.  The default is “123456.”  Here is what I have gotten to work:


Function SMS Command SMS Response Notes
Initialization #begin#123456# begin ok resets password
Change Password #123456#123456#987654# password ok
Get IMEI #imei#123456# imei:123456789000015 15 digits
Set Timezone #timezone#123456#S0400# time ok S equals negative?
Set APN #apn#123456#epc.tmobile.com#user#pwd# apn ok user and pwd are optional
Set Server IP #adminip#123456# adminip ok IP and port (IP can be a url)
Remove IP #noadminip#123456# noadminip ok Limit 1 IP / Domain?
Admin Number #admin#123456#18001234567# admin ok need country prefix
Remove Number #noadmin#123456#18001234567# noadmin ok Can store 5 numbers
Admin SMS #adminsms#123456#18001234567# sms ok Can store 5 numbers?
Remove SMS #noadminsms#123456#18001234567# noadminsms ok
Check Status #check#123456# electricity:24.97% GPS:A gprs:open gsm :75 A= fix ; open=online
Google Maps link #smslink#123456# http://maps.google.com/?q=N41.000000,W87.000000
Auto Track #fix#030#004#123456# set fix ok interval (<20) # total (<255)
Auto Track-alt #fix#030s#004n#123456# set fix ok s: second, m: minute, h: hour
Stop Auto Track #nofix#123456# Cancel fix time ok!
Listen to Microphone #monitor#123456# monitor ok Call to listen to mic
Back to default mode #tracker#123456# tracker ok Switch back to normal mode

From the various sources I pieced this together from, I still couldn’t figure out the following issues:

  1. Admin phone number: Requires an international prefix (eg +1 for the US).  The example they list is for China (+86), which is formatted as 0086.  Unsure how many zeros should precede the “1” for US.  I’m also not sure a prefix is even needed unless you’re calling from out of the country.
  2. The “Auto Track” position updates don’t seem to be sent via SMS, only GPRS when a server is configured.  Not sure if that’s because I incorrectly whitelisted my number or if I never tried with GPRS disabled.
  3. I tried a bunch of free android apps; none worked with this clone; they don’t like the “#”s.  This app looks like it would work, but it is $10.  I’ll just use Tasker.
  4. The :Low Battery Alert” supposedly begins to alert at 3.7V and sends you SMS in 30m intervals thereafter. In my experience, “Low” is about 60%.
  5. Several commands I did not mention above or test, but which should work:


Function SMS Command SMS Response Notes
Geo-fence #stockade#123456#500#60#22. 312451#113.54376# stockade+geo-info radius#time#longitude#latitude
Disable Geo-fence #nostockade#123456#
Movement alert #move#123456# move+geo-info Must be still during setup
Disable Movement alert #nomove#123456# move ok
Overspeed alert #speed#123456#080# speed ok km/h; not less than 20km/h
Disable Overspeed alert #nospeed#123456#

For the Geo-Fencing, apparently there’s a way to either set a coordinate and diameter, or to use two coordinates, where the first defines the top left corner of the box making up the geo-fence, and the second is the coordinate of the bottom right corner.

Now, Make it Pretty…

Finally, here is how to get the GPRS / data connection set up using GPS-Trace.com

  1. Register at this website: http://gps-trace.com/
  2. Setup your GPS with the following configurations (remember to leave the GPS tracker outdoors with clear view of the sky):
    1. If you have not already set up your GPS password:
      1. Send SMS command: #begin#123456# (you should receive an SMS saying “begin ok”)
      2. Make a phone call to the SIM card you put in your GPS (you should receive info such as geographic coordinates);
    2. Send SMS command: #imei#123456# and save your IMEI for later.
    3. Send SMS command: #timezone#123456#S0300# (this is the setting for GMT -3, Brazilian time);
    4. Send SMS command: #adminip#123456#
      1. This is for setting the correct IP and port to work with gps-trace
  3. On gps-trace.com, considering you’ve already registered your account, you should now add a new unit – must use “Vehicle”
    1. Look for the “new unit” icon placed on the bottom right side of the screen
    2. Fill the “unit name” field with a name of your choice
    3. Fill in the phone number in international format (“+1” prefix for US)
    4. In “device type” choose “Heacent HC06A”
    5. Fill the IMEI field with your device’s IMEI number (15 digits)
    6. Fill the “password” field with your device’s password (default is 123456)

Now both the Auto Track and individual polling options (smslink and simply calling the device) should also result in a transmission to gps-trace with your coordinates mapped and timestamped.  Theoretically, the above method could be adopted with any online service, or hosted oneself with something like GPS-Gate.


The TK102B…or a not-so-identical clone.

Or Make it Yours

As an alternative to GPS-Trace Orange, I have actually found Traccar, and more specifically, the Traccar-Web UI modification to offer the best blend of features, simplicity and the ability to export data for use in google Earth or similar.  You can either create an account and use the free demo server each of these projects maintains, or download and host your own server, which is what I did.  This allowed me to watch the connection log as my tracker attempted to send data, make sure it was actually connected, and figure out which port it should use.  Traccar uses ports 5000-5100 based on the format of the data the GPS tracker sends, as each is formatted differently.  The HC06A / TK-102 clone, for example, sends a HEX string that converts to “#123456789000015##1#0000#AUT#01#31041001a4776d #8312.534700,W,4120.236900,N,0.00,0.00#060715#212609.000##”.  It’s sending the IMEI, lat/lon, date and time as well as some other stuff I couldn’t decipher.  If this is sent to Traccar on port 5016, it is able to correctly parse the data and display it on a map.


Traccar. The UI modification adds several additional features, including import/export.

So, to adapt the above instructions for GPS Trace Orange if you prefer to use Traccar instead, simply change the IP and Port to reflect this.  For the Traccar demo server, this would be:  #adminip#123456# or alternativly the UI-Mod server is #adminip#123456# #5016# .  You can also use your own server, such as #adminip#123456#innominatethoughts.com#5016#.  Using text for your domain does indeed work, rather than needing to use the IP, which is great if you’re using a dynamic IP with DDNS.  Whichever version of Traccar use, you’ll need to create an account, add a device, and use the IMEI as the “unique identifier.”

Category: Technology | Tags: , , , ,

Lessons in Long Range FPV

There’s a saying that good judgement comes from experience and experience comes from poor judgement.  After the total loss of my first FPV plane, I realized the necessity of including several layers of redundancies both to my ability to remain in control of the aircraft as well as being able to recover it in the event of a crash outside line-of-sight.  Here is what I settled on.

Control Improvements:

1. UHF LRS (Long Range control System)

I decided on Dragonlink’s 433MHz UHF transmitter to replace my shorter-ranged 2.4GHz FrSky system.


As one of the two direct contributors to Icarus’ loss, replacing the control link was something that should have been done from the start.  I can’t even say I wasn’t warned – this is common advice on RCGroups for folks transitioning to FPV flying and the longer range flights it often leads to.  Alternatively, I could have gone with EzUHF, OpenLRS, or Chainink.  All of these products perform within a similar envelope, but each has its own ecosystem of accessories.  This is something to keep in mind if an integrated OSD or antenna-tracker are in your future.

2. 1.3GHz Video

I switched from omnidirectional, circular-polarized 5.8GHz video to 1.3GHz.


The lower frequency provides greater range and object penetration.  I also bumped the VTX power up from 250mW to 600mW, which while not as effective as increasing antenna gain, should still make a noticeable improvement to range.  The VRX will now be a standalone unit, rather than a module integrated into my FatShark goggles, which makes it easier to use larger antennas.

3. Directional Antenna

I actually went back to linear polarization for the time being, mostly to cut costs.  Currently, I have a DIY “Inverted-Vee” antenna on the transmitter, mounted on the tail of the Skywalker.  I use a standard 6dBi dipole antenna on the receiver, with the option to switch to a ReadyMadeRC 8dBi patch antenna that is optimized for 1280MHz.


Using a directional antenna will more than double the video link’s range.  For flights that will remain within a 1mi radius, a directional antenna adds additional risk (flying outside the coverage pattern), but for flights that are well-planned and aim to cover a linear distance away from the launch point, they are ideal.

4. OSD with RTH

Of all the things I regret having on the Icarus, it was an autopilot.

1-28-2014 10-17-32 PM

The Cyclops Storm OSD integrates both basic autopilot (return to home) and pilot assist features (heading hold, stabilization) via a tiny AHRS (Attitude and heading reference system).  In addition, this data is passed through to an on screen display.  The Storm’s jack-of -all-trades simplicity won out over the endlessly-customizable and feature-rich, ArduPilot, which requires a separate OSD board and (to utilize its full potential) a laptop and wireless telemetry TX/RX to view and send commands to the autopilot in real-time.  Dragon’s own DOSD was also in the running, but its price exceeded both Storm and ArduPilot, while offering a feature set somewhere between the two.

5. Fixed Ground Station / FatShark 5.8GHz Relay

An added bonus to using separate video hardware from the 5.8GHz gear integrated into my goggles was that I could leave it – along with batteries, screen and DVR – on a tripod base station and relay the video to my goggles on 5.8GHz, leaving me free to walk around with no wires tethering me to anything.  In the winter months, this means that I can set everything up outside, launch the plane, and then retire to the warmth of my car to fly it. How novel.   More importantly, the RC receiver antenna will now remain in an optimal position at all times, rather than having its polarization left to the mercy of the way I held my controller.

Emergency Recovery:

1. Ground Recorder

I actually already had a DVR to record the wireless, standard-def flight footage as I view it in my goggles, but its importance should not be ignored.  Often, those last few seconds of picture can mean the difference between cluelessness and a well-defined search area.

2. GPS Tracker

It’s truly amazing what $40 can buy these days.  In this case, I am referring to the Chinese knock-off of the TK-102B cellular GPS tracker.

It may have the feel of a McDonald’s toy, software glitches that make some of the more advanced functions inoperable, and documentation that is better supplied by reverse-engineering, but it works.  Slap in a GSM SIM card (H20 wireless sells them for $3.33/mo with full AT&T coverage), send a cryptic command over SMS, and $0.20 later, you have the position of your plane in degrees, minutes and seconds.  I’m sure you can see how useful this is.

3. Lost Plane Finder Buzzer

Sometimes simple is best.  Even with GPS coordinates, it can be difficult to locate a crash site in dense wilderness.  I opted to solve this problem of the final 100m with a cheap HobbyKing buzzer that is activated with the plane’s failsafe.  On failsafe, the RX channel this buzzer is connected to is set to +100, which triggers the buzzer.  It serves a secondary purpose of detecting when there is even the briefest loss of control link – if the plane is anywhere nearby, it is clearly audible.  The only thing I didn’t do is give this buzzer its own battery.  This would be ideal, as in the event of a crash, the other electronics will likely continue to operate, depleting the main battery within the hour.

4. LEDs

In addition to increasing visibility, looking cool, and opening the door for night flying, the LEDs I have integrated into my Skywalker build were also included to assist with finding it in the dark.


These changes yield a vastly more reliable platform.  Rather than two separate points of failure, where either a video or a control link failure meant near-instant doom, the Skywalker has 4 layers of redundancy.  It has better RF links, an autopilot to keep it in the air when those fail (and bring it back home), a DVR, lights and a buzzer to locate it if it goes down, and the ultimate last line of defense: a GPS satellite tracking system to allow recovery when all else fails.  Further details on the Skywalker build are in the pipeline, along with – hopefully – some video to demonstrate the joys of FPV.

Category: Flying | Tags: , , , ,

Tale of the Icarus

Somewhere, be it high up in a tree or adrift in the waters of the great lakes, lay the proud remains of the Icarus.  This fine machine had barely the chance to experience to wonders of flight; to soar above grassy fields and rolling waves, and to dance between the clouds.  Barely time to stain its underside green from grass landings and see its journeys across the landscape reproduced in Google Earth from data stored in its on-board GPS logger.  The Icarus was a young plane.  And it died a young plane.  This is its story.


Icarus’ final flight into the sunset.

A Noble Birth

Icarus was the spoiled first-born child of a doting parent.  The plane’s construction was somewhat of a prolonged struggle between the desire to keep things simple for a first-time FPV build, and an urge to make things clean, sleek and fully functional.  By the time the Bixler 2 kit was modified and assembled according to the specifications I had planned to incorporate, it had taken on a rather unique profile, featuring a blunted nose to carry the GoPro below the field of view of the secondary flight camera, numerous additional carbon fiber rods to reinforce the airframe, and a seemingly well thought out distribution of electronics and antennas, complete with internal wiring through the hollow tail to keep the fuselage looking sleek and free of excess wires and tape.


Icarus: the Bixler 2 retooled and perfected for FPV.

In hindsight, it may have been better to put a little less effort into a first plane, as the loss of a lesser machine would have been a much lighter blow to take.  Nevertheless, the Icarus, named posthumously, was a marvel to behold, a joy to fly, and – all too soon – a devastating loss.

A Cacophony of Errors

From the start, this plane had some quirks.  It’s maiden flight occurred only after three failed hand-launches, leading me to suspect that while technique could be blamed to an extent, the power, wing loading, and stall speeds of this modified Bixler 2 were close to their limits, despite the upgrades.  Once in the air, though, things went smoothly the rest of the first day of flight tests.  The only other major issue was the fogging lens of the GoPro, which was later remedied with desiccant inserts.  The next day of flights went just as well, although in retrospect, this may have been the beginning of the serious errors that led to the loss of Icarus.

I had just moved to a new location, taking advantage of a long, paved stretch of seldom-traveled road leading to a wide clearing with visibility clear to the horizon 30 degrees to either side of where the road ended, and only a moderate amount of trees to worry about behind the launch spot.  Water was present about 1/2 mile to the East and West, but didn’t seem close enough to be a concern – and shouldn’t have been.  However, things went so well the first few flight, that by the second I was pushing several boundaries farther than was wise.  Flying with 2.4GHz FrSky control (with telemetry) and 5.8GHz video, I expected about a mile of range, and didn’t intend to test my luck even that far.  The video had been clear and free of interference or drop outs, and I was not getting any warning beeps from the telemetry – and so began the lulling to a false sense of security.  Without an autopilot or even an OSD with RTH or RTL (Return to Home / Launch), there was very little that could be done in the event of signal failure.  In fact, I don’t think I quite grasped at the time how vulnerable I was.


Things are going well… perhaps too well.

Other possible failures aside, the loss of reception from either of the two radios (control and video) meant almost certain doom.  A control loss would engage the simple failsafe mode, which was configured to (hopefully) hold the controls in such a way to make the plane execute a lazy circle in the sky while waiting to re-establish a signal.  There was also a fair amount of warning thanks to the FrSky telemetry-enabled receiver, which had three levels of beeps to indicate decreasing levels of signal strength: 1 (less than perfect reception). 2 (model is at far, but safe, range) and 3 (maximum range and imminent failsafe).  Video was a bit more tricky.  5.8GHz video provides maximum resolution at the price of transmission range and object penetration.  From my limited experience, it also features less of a gray-zone in terms of reception quality.  When the video begins to get static, it is likely that it will soon cut out completely.  Regardless, video was the weakest link in my design even if frequency was ignored.  If you can’t see, you can’t fly – at least not for very long.

The Fateful Flight

The lapses in judgement discussed above were probably enough to eventually doom poor Icarus.  I simply hurried its fate with the generous application of sheer stupidity.  After a day of flying, I found myself at home with a troubling realization: I still had two sets of fully charged batteries.  I had seen several videos of night flights with the same camera I was using, and while I was nowhere near ready to try that, I figured it wouldn’t hurt to take advantage of the last few hours of light, and test the highly-reputed Sony PZ0420 camera in the dimmer, evening skies.

The first flight went spectacularly.  It was still bright out, and I finally had the anti-fog inserts for the GoPro, meaning that the footage I was recording would finally be usable for video-making.  It was getting darker, but now we had a couple of bystanders waiting for an encore, and the sun was only just setting – there would be light for an hour still.  And then the ground station died.  It seems the batteries had been exhausted from earlier in the day, and there was no longer sufficient voltage to run the DVR.  This didn’t directly interfere with my ability to fly the plane, as I was using my FatShark goggles with its own battery.  However, the DVR signified a small but important insurance measure when it came to finding a lost plane.  By recording the footage the plane was transmitting back to me, it would provide a way to review the last seconds before a crash or loss of signal, yielding valuable clues as to where it may have ended up.  I decide to go ahead anyways.  For better or worse, it probably wouldn’t have made a difference in this case.

The first few minutes were uneventful.  I made some passes over my small audience, but then decided to gain some altitude to view the sunset.  At this point, I estimate I was about 1/2 mile out (ground distance), but as high as 1,000-2,500 feet AGL.  This was no higher than I’d been before, but for whatever reason, disaster chose to strike this time.  I was flying level, and began to experience a trace amount of static.  I turned away from the water, searching for my launch point.  For the first time, though, I was lost.  It didn’t matter – that realization came far too late.  With almost no warning, the video cut out completely.  I may have gotten a short glimpse of terrain a second or two later, but in little time, my ears were filled with telemetry warnings from the FrSky.  Within 20 seconds from the first static – and less than 10 seconds from losing the video completely – I had also lost radio control.  Whether it was just bad luck that both radios had maxed out their range at the same time, or if the plane was able to lose enough altitude in that 10-ish seconds to drop below line of sight, I’ll never know.  I angled my antennas in vain and held my transmitter into the air, but the effort was futile.  The plane was going down.  Just where the Icarus cratered in is still a mystery.  After hours of searching, first with transmitter and goggles on in hopes of picking up a signal, than with mere eyeballs and a prayer, I had to return empty-handed: Icarus was a total loss, GoPro and all.


Lonely ground station stands watch in vain hope of Icarus’ return.

NTSB Report: Pilot Error

I’ll save the NTSB their precious time in this investigation.  This was a classic case of pilot error, the reasons of which I discussed in length above, and have summarized below:

  1. Failure to set strict “personal minimums” on range and altitude before sortie
  2. Failure to test failsafe mode to determine its actual effect in flight
  3. Failure to test and fully understand the margin of safety provided by telemetry, and how much time/range remained after hearing the first warning beeps vs the second or third.
  4. Failure to test the range and characteristics of the 5.8GHz video system to to an extent sufficient to understand how much time existed between static and full signal loss.  Naive about “pushing through” the static.
  5. Never bow to the whims of bystanders.
  6. No DVR, No Fly.
  7. No RTH, No Fly (at least not beyond visual range).
  8. Spotter was not briefed to always be aware of where the plane was, and was not provided with binoculars.
  9. Underestimated the contrast / dynamic range issues associated with twilight lighting conditions.
  10. Did not fully understand the risk of flying near water at an altitude high enough that said water was well within gliding range.
  11. No plan for what to do in the seconds following signal loss – try to execute a slow climb with full throttle?  Glide in a circle?  Roll to expose a blocked antenna?
  12. Engineering flaws:
    1. Antenna blocked by battery – VTX was shielded by 5000mah of battery when plane was above the receiver rather than more lateral to it.
    2. No lost plane buzzer.
    3. Poor battery monitoring (no OSD – relied on audio and voltage buzzer).

Crash Reconstruction

As I already discussed, I have no video of the final moments.  As FPV crashes go, however, my situation is hardly unique.  In fact, it is quite common, regrettably.  The nice thing about this is that I can provide a pretty representative depiction of what likely happened in the final seconds of that doomed flight:

Telemetry beeps: A Warning Unheeded

A Glimpse of Imminent Doom


The Crash: What probably happened


Skywalker: A New Hope?

While the loss of the Icarus was truly tragic, its successor is already in the works.  In short, it will be a larger airframe with a much more redundant control setup, and several emergency recovery features based on the lessons learned with Icarus.  I’ll detail these in a later post, and hopefully have a video featuring some highlights captured with both Icarus and the yet-unnamed Skywalker up sometime this fall.

Category: Flying | Tags: , , , ,

Review: SD_Card_DVR

I was looking for a low cost Digital Video Recorder to save footage in real-time from the FPV camera on my Bixler 2.  I wanted decent video quality at 480p and a device that didn’t display a blue screen during signal loss, which often occurs when pushing range with wireless video.  Two commonly mentioned DVRs specifically for FPV include the FJ-DVR-SD4 from FPV Japan and the SD DVR from Hobbyking, costing $154.95 and $48.49, respectively.  The FPV Japan unit includes a screen to preview footage, but even still, both devices seem overpriced for the low-tech function they provide.  Recording input from a composite video source is very much 20th century.

Inputs: Audio and Video in and out; 12V power

Inputs: Audio and Video in and out; 12V power

Enter the SD_Card_DVR, a no-brand device made in china and sold at various outlets under different names, including Dx.com (Mini Digital DVR Video Recorder w/ SD Slot), Amazon (Mini Sd Card Motion Detection Digital Video Recorder) and eBay (1 CH Mini CCTV Camera Audio/Video SD Card DVR).  There is also a blue-cased unit that likely runs the same firmware but uses combined A/V jacks instead of composite and a MicroSD slot instead of a full size.  Price for either is a more palatable $30-40.  Unfortunately, there were no reviews of this particular DVR to be found, so I decided to roll the dice and report my findings.


A simple on-screen display offers options to toggle between English and Chinese (default is Chinese; it’s the top menu item), NTSC or PAL recording, Recording mode (continuous, motion detection or mixed), and resolution (VGA or QVGA).  Menus are brought up with the function button, navigated with the rocker switch, and selected by pressing the rocker switch in – this took some trial and error to figure out – naturally, the supplied chinglish manual was of no help.

Controls and SD card slot

Controls and SD card slot

Once recording starts, the time is displayed for a few seconds, then there is an audible toggle and the video returns to pass-through mode, sending the signal straight through to the outputs without any change in quality.  Recording is still occurring when this happens, but in the “background” – this also took some figuring out.  The advantage of this is that there is no input lag – a must for FPV flying.

In my testing, I did notice that this DVR is rather sensitive to input voltage.  Specifically, if the voltage gets much below 12V (below about 11.5V, or 30% capacity), it will cease recording – and will even stop passing through video to the outputs.  If powering this with a battery, I’d use a high capacity 3S lipo and try to keep it above 50% capacity, or use a 4S lipo with a 12v step down board.

In continuous recording mode, the DVR will break up the recordings into 30 minute sections.  Once the SD card fills up, it will automatically erase the oldest file and replace it with the current recording – not really needed for my current task, but absolutely mandatory for video surveillance purposes.


There are two recording settings:VGA or QVGA, both encoded in MJPG.  These settings can be further refined, but you must do so by placing a properly-formatted “system.txt” file on the SD card.  That file should contain only 7 characters, for example: F15V0S9, where F = Framerate (0-30; default 15), V = video system (default 0 for PAL .. change to 1 for NTSC), and  S = sensitivity (0-9; default 9).  On the next boot, the new settings will be loaded and you can then delete the file.

Interestingly, the default 480p settings had the framerate set at 15fps.  Long story short, it is best to keep it there.  While you can increase it up to 30, the bitrate remains the same, resulting in a lower quality recording from attempting to encode twice the data without an increase in file size.  I found no way to adjust the bitrate, other than switching between VGA and QVGA.  Below is the file info for the 3 settings I tested (click to expand):

VGA: 640x480 (30fps)

Type: AVI
Video: MJPG 640×480 30fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

File name : 2013-07-04 00-36-46-C.AVI
Format : AVI
File size : 446 MiB
Duration : 14mn 11s
Overall bit rate : 4388 Kbps
Writing application : ankarec

ID : 0
Format : JPEG
Codec ID : MJPG
Duration : 14mn 11s
Bit rate : 4254 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.462
Stream size : 432 MiB (97%)

ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 14mn 11s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 13.0 MiB (3%)
Interleave, duration : 500 ms (15.01 video frames)

VGA: 640x480 (15fps)

Type: AVI
Video: MJPG 640×480 15fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

File name : 2013-07-03 22-47-26-C.AVI
Format : AVI
File size : 492 MiB
Duration : 16mn 36s
Overall bit rate : 4144 Kbps
Writing application : ankarec

ID : 0
Format : JPEG
Codec ID : MJPG
Bit rate : 4013 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.871
Stream size : 477 MiB (97%)

ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 16mn 36s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 15.2 MiB (3%)
Interleave, duration : 500 ms (7.50 video frames)

320x240 (15fps)

Type: AVI
Video: MJPG 320×240 15fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

File name : 2013-07-03 23-25-20-Q-C.AVI
Format : AVI
File size : 163 MiB
Duration : 11mn 0s
Overall bit rate : 2071 Kbps
Writing application : ankarec

ID : 0
Format : JPEG
Codec ID : MJPG
Duration : 11mn 0s
Bit rate : 1940 Kbps
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 1.684
Stream size : 153 MiB (94%)

ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 11mn 0s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 10.1 MiB (6%)
Interleave, duration : 500 ms (7.50 video frames)

I uploaded a short recording to Youtube to exemplify the degraded quality when going from 15 to 30 fps:

Other features

Recording starts as soon as power is supplied to the device, and ends when it is disconnected.  There seems to be a capacitor inside that allows for a safe shutdown after power is removed and thereby avoiding file corruption.  The SD_Card_DVR handled both a generic-brand 8GB microSD card inside an adapter as well as a PNY 16GB SD card, both  formatted to FAT 32.

As I mentioned at the start, there is a blue version of this DVR that appears to be identical in all but the input connectors and microSD slot.  Unlike my unit, some enterprising merchant actually bothered to make a demo video for the blue one:



The SD_Card_DVR proved itself a worthy addition to my FPV gear, and has faithfully been recording flights ever since:

I’m satisfied with the features and quality (at 15fps) of this DVR.  It certainly works well enough to help me trace down my plane if it should crash out of view.  For $30, I don’t think it can be beat, and the continuous loop recording is a great feature that is often annoyingly absent on similar cheap DVRs.  For $10-20 more, however, I think the HobbyKing DVR might be a better bet if quality is a priority – I’d imagine its performance at 30fps is superior, and it has a remote.

Bixler 2 FPV Mods

The HobbyKing Bixler 2 is a EPO foam plane designed for both those new to RC aircraft, as well as more experienced pilots looking for a stable platform for First Person View flying.  The pusher-prop design allows the FPV and/or secondary flight camera to be positioned at the front of the airframe with an unobstructed forward view.  Not having to film through a spinning prop saves the footage from being ruined by the rolling-shutter distortion which classically affects the CMOS sensors used in most small cameras.

Because of its broad target audience, the Bixler 2 requires substantial modification to be used as a dedicated FPV platform.  The increases in gross weight due to larger batteries, cameras and electronics add a substantial amount of stress to the entire airframe, and particularly the wing loading. This stress is further exacerbated by the more powerful electric motor and longer propeller that are often needed to maintain acceptable performance with the increased weight and drag.

Click for the gallery

Click for the gallery


I referenced a number of forums and build logs when deciding how best to assemble and modify my Bixler 2 kit.  Among these were RCGroups and FPV Labs, each containing almost too much information on different people’s experiences with the Bixler and its various iterations.  My greatest inspiration came from a fellow blogger at bixler2fpv, whose overall design I chose to emulate.  Along the way, I did my best to capture pictures of the plane’s construction:

Click for the gallery

Click for the gallery

Below, I have summarized a list of the mods I made to my Bixler 2:

  • Permanently glued the wings on, allowing for removal of the bolts and tubes that spanned the fuselage and wasted space.
  • Reinforced wing spar to handle extra weight – guled 2 additional carbon fiber rods (4mm hollow and 2mm solid) inside the stock 6mm hollow rod with gorilla glue.
  • Relocated Elevator and Rudder servos to the rear – both to free up space in the main cargo area, as well as to shift more weight to the back and reduce the travel needed for the control linkages.
  • Also relocated the RC receiver to the rear, for weight & balance reasons as well as to distance it from possible interference by the VTX.
  • Moved the ESC and VTX outside the cargo bay and onto the top of the plane for better thermal management.
  • Replaced the stock motor mount with the SmallParts CNC mount, allowing for 9×6″ propellers vs the stock 6×4″ size prop.  Result: better cruise time.
  • Removed the nose to mount the GoPro via a wooden mount screwed and bolted into the front bulkhead.  GoPro attaches with velcro, and can be swapped out for the nosecone if desired (also velcroed).  A sock around the mount prevents dirt from getting into the velcro.  Foam between the wood mount and fuselage reduces vibration.
  • Hollowed out the fuselage by removing all obstructions between the canopy and tail, allowing for a single 3S 5000mAh lipo or 2x 2200mAh batteries in parallel.
  • Added packaging tape to the leading edge of the wing surfaces to prevent damage during hard landings.
  • Glued velcro along the bottom of the cargo bay to prevent batteries (also with velcro) from slipping and altering the aircraft’s COG in flight.
  • Rubber band to augment the weak canopy magnets.  This also serves the purpose of securing my VTX and microphone.

Flight Characteristics

The extra 600g in weight was immediately apparent during the maiden flight.  Hand launching was more difficult than with previous planes I have flown, and my first attempt ended up in the tall grass.  Having two people made things easier, and the next 3 launches were successful.  I’m hoping solo launches will be possible with additional practice.

Once airborne, the Bixler 2 lives up to its great reputation for stability and performance.  I was unable to provoke any nasty stall / spin characteristics, and climb performance was very reasonable – although nowhere near being capable of sustained vertical ascents.  Rolls were smooth and loops possible with enough speed – though not from level flight.

Slow flight performance was unsurprisingly less impressive than a lighter stock bixler would be capable of, although the flaps helped immensely.  I still found myself wanting to be able to slow down a bit more, but I think that will have to wait for a Skywalker or similar 2 meter wingspan airframe.  Top speed was measured by GPS at approximately 40mph.

Bench testing of the power vs thrust.

Bench testing of the power vs thrust.

The 1050kv Turnigy Park450 motor and 9×6 prop combo drew a maximum of 213 watts when I tested it on the bench, producing 860g of thrust.  In the air, I noticed flight times of about 20min with 4400-5000mAh of 3S lipo battery capacity at 60-80% average throttle.

Cruise efficiency at various power settings. Throttle reported as a percent of maximum amps consumed.

Cruise efficiency at various power settings, measured in grams of thrust per Watt. Throttle reported as a percent of maximum amps consumed.


Below is a near-comprehensive list of the parts used in my Bixler 2 build.  I re-used a motor and ESC already in my possession.  If you are building this from scratch, I suggest the NTM Prop Drive 2836 2200KV  if using the stock 6×4 prop (or the 35-36 1400KV with a larger 9×6 prop) and a beefier ESC to go with it.  Note that when buying motors you often need to buy an accessory mounting kit and often a spare shaft is a wise idea.  Nothing is worse than needing a $0.50 part and having to wait 3 weeks to get it from a warehouse in china.

Price qty Item
$44.85 1 Hobbyking Bixler 2 EPO 1500mm w/Optional Flaps (KIT)
$14.52 1 Turnigy Park450 Brushless Outrunner 1050kv
$17.95 1 smallpartscnc Bixler 2 Motor Mount
$12.19 1 TURNIGY Plush 25amp Speed Controller
$0.80 1 GWS EP Propeller (RD-1047 254x119mm) (6pcs/set)
$18.83 7 HXT900 9g / 1.6kg / .12sec Micro Servo
$4.43 1 Turnigy TGY-R5180MG 180 Degree Servo
$26.42 1 FrSky D8R-XP 2.4Ghz Receiver (w/telemetry)
$270.00 1 GoPro Hero2
$45.00 1 PZ0420 600TVL SONY SUPER HAD CCD Camera
$40.00 1 FatShark 250mW 5.8GHz Video Transmitter
$35.00 1 5.8GHz Circular Polarized spiroNet Antenna set
$3.17 1 FPV Fiberglass Pan-Tilt Camera Mount L-Size
$3.29 1 12v amplified mic
$2.99 1 L-C Power Filter for FPV A/V Systems
$24.19 1 ZIPPY Compact 5000mAh 3S 25C Lipo Pack
$17.98 2 ZIPPY Flightmax 2200mAh 3S1P 20C
$5.21 1 HobbyKing HKU5 5V/5A UBEC
$1.88 1 On Board Lipoly Low Voltage Alarm (2s~4s)
$6.75 2 2mm CF Rod, 24″
$8.98 1 4mm 40″ CF rod
$5.75 1 Gorilla Glue, 2oz
$21.36 1 Cat6 Molded Patch Cable, Grey (35′); Shileded pairs
$60.00 1 Estimated Shipping costs


Additional performance information:

Wingspan 1500mm
Material EPO
Length 963mm
Cabin space irregular
Wing Area 26.5 dm2
Wing loading 54.7g/dm2
Thrust 960g
Empty weight 900g
Maximum takeoff weight 1600g
Maximum useful load 700g
Power / Prop / Battery curves from eCalc.

Power / Prop / Battery curves from eCalc.

The video footage I captured showed no evidence of vibrations, though between the wind and my novice flying, it wasn’t a product I’d be in any hurry to publish.  I also learned why many fly with naked GoPros – ie. not using the protective case.  In addition to the weight savings, I suspect fogging of the lens may be the real motivator.  Due to substantial temperature changes with as little as a couple thousand feet of altitude, fogging is a real issue – and one that ruined my already lackluster video from the GoPro.  Fortunately, the PZ0420 camera which I used to actually fly the plane had no issue.  Future flights will see the use of newly-purchased anti-fog inserts inside the GoPro case, which should hopefully resolve the issue.

Category: Flying | Tags: , , , ,