DIY flight recorder for less than $50

Router, repeater (extender), GPS unit, antenna, tablet, FPV goggle, HD battery, charger, carrying case... etc.
pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

DIY flight recorder for less than $50

Postby pawelsky » 07 Jul 2013, 17:41

I start this thread to share how to make a DIY flight recorder for less than $50.

Note that this is not for everyone, it requires some soldering skills, some computer knowledge etc. I will not be sharing detailed step by step tutorials nor answering 'my DIY flight recorder does not work, what to do?', 'how to install program X' or 'what is a com port' kind of questions. I'll be sharing enough information for a moderately skilled DIYers to construct their own, but will not be able to support everyone as I simply don't have enough time to do so.

So if you don't feel comfortable with DIY projects where things can go wrong, not everything is nicely documented and there is no 24/7 support - order the flight recorder from Parrot.

Otherwise here is what you'll need:

a) SiRF IV GPS module. GlobalSat BU-353S4 from Deal Extreme
http://dx.com/p/globalsat-bu-353s4-usb-gps-receiver-106659 - $37.80
Note that GlobalSat seems to produce 2 versions of the BU-353-S4 module. One as in this thread (EB-5631 based) and one which is based on different GPS module (EM/R-506). You will find a connection instructions for the latter in this post. It requires more soldering so try to pick the EB-5631 based model (may not be easy to find out before buying)

bu353s4.jpg

b) Silicon Labs CP2102 USB to UART adapter (unless your GPS already has this particular chip - unfortunately the above GPS has Prolific PL2303 which is not good)
http://dx.com/p/usb-2-0-to-ttl-uart-5-pin-cp2102-module-serial-converter-blue-152317 - $5.20
cp2102.jpg


c) optionally an USB hub (so you can connect both GPS and a pendrive). I'm using nice and tiny Unitek Y-2011, but any USB 2.0 hub that fits under the hull shall be OK.
http://www.unitek-products.com/en/product_detail.php?id=144 - ~$5
unitek_y2011.jpg
You do not have the required permissions to view the files attached to this post.
Last edited by pawelsky on 09 Sep 2013, 16:19, edited 9 times in total.

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

DIY flight recorder for less than $50

Postby pawelsky » 07 Jul 2013, 17:42

First you need to take the GPS module out of the plastic case (5 screws and 1 connector). Here is how the module looks like

gps_top.jpg

gps_bottom.jpg


Next you need to connect it with the USB-UART adapter using 4 wires. This diagram shows the connection:

diagram.jpg


Here are the wires soldered to the GPS:
wires.jpg



Once everything is connected you can stick the USB adapter to the GPS board with a double sided tape and secure everything with a shrink wrap. Here is how the ready module looks like
flight_recorder.jpg
You do not have the required permissions to view the files attached to this post.
Last edited by pawelsky on 07 Jul 2013, 21:14, edited 4 times in total.

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

DIY flight recorder for less than $50

Postby pawelsky » 07 Jul 2013, 17:43

If all the connections are done you can test your module.

Download SiliconLabs CP210x VCP drivers and install them (your GPS shall be visible as a COM port)
http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

Download Parrot FreeFlight drivers and install them (will be needed to be able to recognize your GPS after you change VID/PID)
http://ee.shellware.com/DRIVERS/

Download SiRF Demo software (v3.87), install and run it
http://www.falcom.de/support/software-tools/sirf/

Connect to your GPS (4800 baud by default) and verify if you can see NMEA messages coming. If yes check if you can send commands to your GPS. Using "Action->Initialize Data Source..." try cold booting the GPS and see if it responds with $PSRFTXT bootup messages. You should see something like this

Code: Select all

$PSRFTXT,Version: GSD4e_4.0.4-P1*01
$PSRFTXT,Version2: F-GPS-4R-1201127*6E
$PSRFTXT,SBAS Disabled*70
$PSRFTXT,TOW:  0*25
$PSRFTXT,WK:   1596*6E
$PSRFTXT,POS:  6378137.0 0.0 0.0*34
$PSRFTXT,CLK:  96248*2C
$PSRFTXT,CHNL: 12*73
$PSRFTXT,Baud rate: 4800*65


NOTE: Do not change the baud rate, keep it at 4800. Also keep it on NMEA prtocol (don't switch to SiRF) - this is what Drone expects on init.

Once everything works you are ready for the final step - changing the USB-UART adapter's VID/PID so the Drone treats it as the Parrot flight recorder.

Download the "Fixed Function Customization Utility" (AN721SW.zip) and run it.
http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-uart-bridge.aspx

Note that some users reported that this tool will not work well on Windows XP, so try on Windows 7 instead.

Now you need to change the VID, PID and Product Description as on the picture below (marked yellow)
id_change.jpg

and click "Program Device".

Note that the program may report errors as after changing the VID/PID it will not be recognized as serial port anymore (so it won't be able to verify if the change succeeded). If you want to be able to use it as a serial port (e.g. to upload new sketch, or debug the output of the DIY FR) you either need to force the CP2102 drivers on this new device or install Parrot's Flight Recorder drivers.


Connect the device to Drone, let it boot, connect the FreeFlight on iDevice (did not test, but should also work on Android) and check in settings whether it is recognized properly. After a while you should see the number of satellites to increase.

status.jpg


If this is what you see - congratulations you have a working DIY Flight Recorder.

You can get additional debug information by telneting to the Drone and re-launching the program.elf with some extra parameters

-gps.verbose - will display details of the communication
-gps.log - will log gps data to gps.0.nav.csv and gps.0.kml (Google Earth format)
-gps.brick - disables all GPS messages (?)

before killing the program.elf note what parameters it is launched with (ps) and add these as well. In my case I'm calling
killall -9 program.elf.respawner.sh <--- needed since FW 2.4.7
killall -9 program.elf
/bin/program.elf -360p.slices 0 -live.tcp -gps.verbose -gps.log &


Note that Drone firmware also logs GPS commnication to /data/gps.log
You do not have the required permissions to view the files attached to this post.
Last edited by pawelsky on 07 Jan 2014, 13:51, edited 9 times in total.

Kyrt
Strange wobble
Posts: 240
Joined: 10 Jun 2013, 12:49
Drone Type: AR.Drone 2

Re: DIY flight recorder for less than $50

Postby Kyrt » 07 Jul 2013, 19:08

Good stuff, so happy it works. A pity the prolific doesn't work but no big deal. Did you try compiling the driver kernel module?

Looks like you found a nice small hub, is it 2.0? I had trouble finding a tiny one that actually behaved as it was advertised - I got a few that turned out to be USB 1.0 and I was a bit worried about write speeds for video. Have hopes for the one I have coming in the mail (and it has a spare port for a planned addon) but we shall see.

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

Re: DIY flight recorder for less than $50

Postby pawelsky » 07 Jul 2013, 19:43

Kyrt wrote:Good stuff, so happy it works. A pity the prolific doesn't work but no big deal. Did you try compiling the driver kernel module?


I'm not saying it doesn't I just don't have the Prolific EEPROM tool to change the VID/PID (the one I have is old and doesn't work anymore). Also you would have to force the Prolific driver for this device (by default it uses SiLabs) so this is an additional hassle.

No need to compile the driver, it is already there.

Kyrt wrote:Looks like you found a nice small hub, is it 2.0?


They claim it is - so I have to trust them. The video recording was fine.

Kyrt
Strange wobble
Posts: 240
Joined: 10 Jun 2013, 12:49
Drone Type: AR.Drone 2

Re: DIY flight recorder for less than $50

Postby Kyrt » 07 Jul 2013, 22:14

pawelsky wrote:
Kyrt wrote:Good stuff, so happy it works. A pity the prolific doesn't work but no big deal. Did you try compiling the driver kernel module?


I'm not saying it doesn't I just don't have the Prolific EEPROM tool to change the VID/PID (the one I have is old and doesn't work anymore). Also you would have to force the Prolific driver for this device (by default it uses SiLabs) so this is an additional hassle.

No need to compile the driver, it is already there.
Ah that's a pain about the tool. I was thinking that you would have to alter the driver and recompile it to deal with the altered PID/VID, but now I think about it perhaps not. Forcing the driver might turn out to be difficult though, yes.

pawelsky wrote:
Kyrt wrote:Looks like you found a nice small hub, is it 2.0?


They claim it is - so I have to trust them. The video recording was fine.

The bogus ones I tried showed up as 1.1 in Windows (i.e. got the "this device can go faster" message), so you would probably know. Anyway if video works there is no problem.

--

By the way do you have the Parrot drivers? They are just SiLabs drivers modified to recognise the Parrot VID/PID, so if you install them you can still test the device on the PC over serial. In fact this should be a test to know that changing the IDs has worked correctly. I remember when I changed them, the EEPROM configuration software reported a failure which might confuse people (it was just because it no longer sees an SiLabs device after the device reboots so can't verify the write).

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

Re: DIY flight recorder for less than $50

Postby pawelsky » 07 Jul 2013, 22:40

Kyrt wrote:By the way do you have the Parrot drivers? They are just SiLabs drivers modified to recognise the Parrot VID/PID, so if you install them you can still test the device on the PC over serial. In fact this should be a test to know that changing the IDs has worked correctly. I remember when I changed them, the EEPROM configuration software reported a failure which might confuse people (it was just because it no longer sees an SiLabs device after the device reboots so can't verify the write).


I've modified the .inf file of the SiLabs driver to include the new VID/PID. You can also force install them without the inf modification.

And yes, you can see the error you mention. One should not worry about it.

fallengod
Newcomer
Posts: 2
Joined: 14 Jan 2011, 04:16

Re: DIY flight recorder for less than $50

Postby fallengod » 08 Jul 2013, 14:17

all parts ordered! too bad DX ship so slow, it will be a few week before i can try this out :(

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

Re: DIY flight recorder for less than $50

Postby pawelsky » 08 Jul 2013, 14:31

fallengod wrote:all parts ordered! too bad DX ship so slow, it will be a few week before i can try this out :(


Go my order delivered in 2 weeks. But indeed you never know with DX, can be 2 weeks, can be 2 months.

Kyrt
Strange wobble
Posts: 240
Joined: 10 Jun 2013, 12:49
Drone Type: AR.Drone 2

Re: DIY flight recorder for less than $50

Postby Kyrt » 08 Jul 2013, 23:49

Mine was last seen at an airport, nothing for the last few days :/

User avatar
Frenchkiss109
Just flips over
Posts: 63
Joined: 28 Jun 2013, 16:40
Drone Type: AR.Drone 2
Location: paris, france

Re: DIY flight recorder for less than $50

Postby Frenchkiss109 » 09 Jul 2013, 09:26

Do you think that any small GPS USB device (as the one in the link) can achieve the same job than the parrot's one ?
http://www.hightechplace.com/electroniq ... -umpc.html
Parrot and myself are french, but users speak english...

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

Re: DIY flight recorder for less than $50

Postby pawelsky » 09 Jul 2013, 09:48

Frenchkiss109 wrote:Do you think that any small GPS USB device (as the one in the link) can achieve the same job than the parrot's one ?
http://www.hightechplace.com/electronique/gps/accessoires-gps/connectique-gps/cle-usb-recepteur-gps-pour-ordinateur-netbook-ordinateur-portable-umpc.html


It needs to be SiRF IV device. Don't think that one you mention is.

User avatar
Frenchkiss109
Just flips over
Posts: 63
Joined: 28 Jun 2013, 16:40
Drone Type: AR.Drone 2
Location: paris, france

Re: DIY flight recorder for less than $50

Postby Frenchkiss109 » 09 Jul 2013, 10:29

thank you for this precision. So the parrot one is not so bad for that small weight and size !
Parrot and myself are french, but users speak english...

pawelsky
Serious flight time
Posts: 1272
Joined: 02 Aug 2012, 22:01
Drone Type: Bebop
Location: Poland
Contact:

Re: DIY flight recorder for less than $50

Postby pawelsky » 09 Jul 2013, 10:46

Frenchkiss109 wrote:thank you for this precision. So the parrot one is not so bad for that small weight and size !


The size is not a surprise, there is really not much in there (just a GPS, flash memory and USB hub).

Eumel
Battery Charged
Posts: 9
Joined: 25 Jun 2013, 17:35
Drone Type: AR.Drone 2

Re: DIY flight recorder for less than $50

Postby Eumel » 09 Jul 2013, 17:11

Hello pawelsky,
Thank you very much for your fine tutorial!

Greetings from Germany
Einhart


Return to “Mods - Custom Peripherals”

Who is online

Users browsing this forum: Yahoo [Bot] and 3 guests