HobbyKing.com New Products Flash Sale
Reply
Thread Tools
Old Dec 11, 2012, 09:44 AM
Registered User
jalves's Avatar
Portugal
Joined Mar 2004
2,641 Posts
"your" osd is probably counting lines erroneously, check this out and adjust in the software...
jalves is offline Find More Posts by jalves
Reply With Quote
Sign up now
to remove ads between posts
Old Dec 11, 2012, 03:37 PM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
Quote:
Originally Posted by jalves View Post
"your" osd is probably counting lines erroneously, check this out and adjust in the software...
I've understood from the beginning this was most likely a code issue but I'm not a seasoned programmer, so would you mind being somewhat helpful and possibly telling me what variable needs to be changed or at least which section of code to look in? I can handle the hardware side fine, I've only just begun to learn how to read and write code, none of which has had anything to do with imaging.
Tw34k is offline Find More Posts by Tw34k
Reply With Quote
Old Dec 11, 2012, 05:49 PM
Registered User
jalves's Avatar
Portugal
Joined Mar 2004
2,641 Posts
if you do a video of the problem and put it online I could be of more help.

I just launched a hypothesis, try to change the line "line =0" in detectframe() to line =1...5...10 .

Check if this change something.
jalves is offline Find More Posts by jalves
Reply With Quote
Old Dec 12, 2012, 04:01 PM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
I have increased the variable to 35 where it now sits, this has shifted the entire image in the upward direction on my monitor but does not fully solve my problem.

The LOS, speed, and alt "section" of the image is now mostly cut off up top, it seems what I need to do is somehow decrease the amount of (vertical I think) lines or rather remove some of the open space from above and below the center line.

Surely I can't be the first to have experienced this issue.
Tw34k is offline Find More Posts by Tw34k
Reply With Quote
Old Dec 12, 2012, 06:18 PM
Registered User
jalves's Avatar
Portugal
Joined Mar 2004
2,641 Posts
Tw34k,

Do a video or at least show us more images of the problem.

I can't be more helpful with the information you gave so far.
jalves is offline Find More Posts by jalves
Reply With Quote
Old Dec 12, 2012, 08:05 PM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
Default "line" setting - cuts off bottom portion of overlay





With adjusted "line" variable, at 40.





As you can hopefully finally see, changing this variable just shifts the entire overlay up causing the top portion to now be cut off. I don't know how to be any more clear about this than I have been.

Simply put, the overlay (OSD) image needs to be shrunken down vertically, It's to tall to fit the screen

If you have anything specific you need from me, please do tell.
Tw34k is offline Find More Posts by Tw34k
Last edited by Tw34k; Dec 12, 2012 at 08:51 PM.
Reply With Quote
Old Dec 13, 2012, 09:31 AM
Stop me before I build again!
United States, NY, Albany
Joined Sep 2012
1,320 Posts
Quote:
Originally Posted by Tw34k View Post
Simply put, the overlay (OSD) image needs to be shrunken down vertically, It's to tall to fit the screen
Config.h what is your VIDEO_SYSTEM?

Code:
//===========================
// Video system: PAL or NTSC
//===========================
// Pal = 0, NTSC = 1
#define VIDEO_SYSTEM 0
Are you trying to overlay a PAL OSD on NTSC signal?
brontide is offline Find More Posts by brontide
Reply With Quote
Old Dec 13, 2012, 01:59 PM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
The config is set to 1 (NTSC)

The camera out is also set to NTSC @ 4:3 aspect ratio.

I briefly came across a post last night where someone else had similar issues, said it had something to do with the latest version of code not working well. All of the previous versions are in .doc format for some reason so until I get the chance to sit down at one of my other computers I'm at a stand still.
Tw34k is offline Find More Posts by Tw34k
Reply With Quote
Old Dec 13, 2012, 03:13 PM
Stop me before I build again!
United States, NY, Albany
Joined Sep 2012
1,320 Posts
Quote:
Originally Posted by Tw34k View Post
All of the previous versions are in .doc format for some reason so until I get the chance to sit down at one of my other computers I'm at a stand still.
No, the file ends in .doc ( probably because the attachment system here is screwy ) but the files themselves are just .cpp/plain text.
brontide is offline Find More Posts by brontide
Reply With Quote
Old Dec 13, 2012, 07:04 PM
Registered User
bob4432's Avatar
United States, AZ
Joined May 2010
1,823 Posts
from the first post:

Quote:
The code can be opened with notepad++ or Arduino IDE. Please rename to .pde instead of .txt when using with Arduino.
bob4432 is online now Find More Posts by bob4432
Reply With Quote
Old Dec 13, 2012, 11:27 PM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
Version 17 seems to work so far, the screen fitment issue looks to be gone.
Tw34k is offline Find More Posts by Tw34k
Reply With Quote
Old Dec 14, 2012, 02:41 AM
HOL
Registered User
Danmark, Midtjylland, Galten
Joined Oct 2011
36 Posts
Quote:
Originally Posted by Tw34k View Post
Default "line" setting - cuts off bottom portion of overlay





With adjusted "line" variable, at 40.





As you can hopefully finally see, changing this variable just shifts the entire overlay up causing the top portion to now be cut off. I don't know how to be any more clear about this than I have been.

Simply put, the overlay (OSD) image needs to be shrunken down vertically, It's to tall to fit the screen

If you have anything specific you need from me, please do tell.
Your cam output is 4/3 but the screen is 16/9 (I think). Perhaps the screen is streching the picture to fit the wider format. Look at Your screen setup.
HOL is offline Find More Posts by HOL
Reply With Quote
Old Dec 14, 2012, 02:45 AM
I = V/R
Tw34k's Avatar
United States, FL, Jacksonville
Joined Aug 2012
61 Posts
No, I had already tried changing aspect ratio, it only cuts off the sides when changed. It seems it is in fact a version 18 issue, solved by using version 17 instead. I'll try and post some follow up pictures tomorrow.
Tw34k is offline Find More Posts by Tw34k
Last edited by Tw34k; Jan 04, 2013 at 03:38 PM.
Reply With Quote
Old Dec 14, 2012, 03:59 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
There is a little bug in the NTSC settings in software version 0.18 mentioned before. As far as I rememer, it was a simple mistake with some capital-letters that makes NTSC-setting faulty.

If you can please check the #if VIDEO_SYSTEM routine
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Dec 14, 2012, 04:01 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Line 154 in config. If you can please try to change "#if (video_system == 0)" to:
#if (VIDEO_SYSTEM == 0)


This is the code-part where it's used:
#if (video_system == 0)
// PAL
#define toplinetext 41
#define toplinenumbers 51
#define butlinenumbers 271
#define timer_line 252
#define gps_nmea_line 32
#define summaryline 102
#define current_calc_line 292
#else
//NTSC
#define toplinetext 24
#define toplinenumbers 34
#define butlinenumbers 229
#define timer_line 210
#define gps_nmea_line 15
#define summaryline 100
#define current_calc_line 260
#endif
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Dec 29, 2012, 03:27 AM
No!
kolin's Avatar
Czech Republic, Hlavní město Praha, Prague
Joined Jan 2010
38 Posts
Successful build

Hi
I would like to thanks Dennis Frie and other contributors for such great project!
I realized DIYOSD with LM1881 on breadboard from bare components (no stupid arduino pro mini), recycled GPS module from remzibi and it simply works!

Next time I would design proper PCB, probably cheap single sided without mask, as breadboard is too laborious and not pretty at all.

Can't wait to try it in air.
Thanks!
kolin is offline Find More Posts by kolin
Reply With Quote
Old Dec 29, 2012, 04:02 AM
Registered User
bob4432's Avatar
United States, AZ
Joined May 2010
1,823 Posts
nice
bob4432 is online now Find More Posts by bob4432
Reply With Quote
Old Dec 29, 2012, 08:32 AM
Registered User
rimshotcopter's Avatar
United States, CA, Los Angeles
Joined Aug 2009
11,707 Posts
Quote:
Originally Posted by kolin View Post
Hi
I would like to thanks Dennis Frie and other contributors for such great project!
I realized DIYOSD with LM1881 on breadboard from bare components (no stupid arduino pro mini), recycled GPS module from remzibi and it simply works!

Next time I would design proper PCB, probably cheap single sided without mask, as breadboard is too laborious and not pretty at all.

Can't wait to try it in air.
Thanks!
Great Job kolin, there is no shame in bread boarding providing we only want a limited number of systems.

Here is my LM1881 bread boarding project based upon Dennis' design, it sits on top of an Arduino ATMEGA1280 and run MultiWii Firmware. The OSD is mobiDroneOSD.

There is STILL Life in the LM1881 design.
rimshotcopter is offline Find More Posts by rimshotcopter
Reply With Quote
Old Jan 04, 2013, 09:55 AM
Registered User
Joined Jan 2013
4 Posts
I've been testing DIYOSD on a breadboard with an Arduino UNO and an old TV. I had to adjust the line settings pretty dramatically for it to all show up on the screen. I thought I would post this for those having trouble with the top/bottom being cut off.

Here are my NTSC settings:

Code:
  //NTSC
  #define toplinetext 54
  #define toplinenumbers 64
  #define butlinenumbers 214
  #define timer_line 195
  #define gps_nmea_line 45
  #define summaryline 90
  #define current_calc_line 260
Here's what it looks like:



Cheers,

- Jason
jasonash is offline Find More Posts by jasonash
Reply With Quote
Old Jan 04, 2013, 10:00 AM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Old TVs cut a lot but Goggles and recorders don't so no adjustments needed unless you are taking your old TV to field
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Jan 16, 2013, 02:06 PM
Registered User
Latvia, Riga
Joined Jan 2012
58 Posts
I cann't get it to work with baud rate 115200. Is it even possible? I cann't change my baudrate because I need it to use with multiwii, my general purpose for this was to have one gps for multi wii and osd.. now it is not working with that rate.. :/
walkmanz is offline Find More Posts by walkmanz
Reply With Quote
Old Jan 16, 2013, 04:35 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Quote:
Originally Posted by walkmanz View Post
I cann't get it to work with baud rate 115200. Is it even possible? I cann't change my baudrate because I need it to use with multiwii, my general purpose for this was to have one gps for multi wii and osd.. now it is not working with that rate.. :/
I'm not sure a baud rate of 115200 is possible. The serial data is read with polling and not interrupt. As the pixel-output will have highest priority (it's running in an interrupt), the data-transfer must be slow enough, to make sure no character is "missed". You can do a quick calculation, to see if it´s possible. Try to compare the "line-time" (the maximum length of the an interrupt) and the serial-speed. Just to get an idea
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Jan 17, 2013, 12:14 PM
Registered User
Latvia, Riga
Joined Jan 2012
58 Posts
I'm not so into the code, I'm not a programmer.. well with 38400 baud rate osd works but for multiwii I need 115200 baudrate.. maybe there is the way to read the serial data at 115200 baudrate and still do the pixel generation?
walkmanz is offline Find More Posts by walkmanz
Reply With Quote
Old Jan 22, 2013, 04:04 PM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Wanted to share my DIY OSD board with GPS, Current, V1, V2, and RSSI inputs
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Jan 22, 2013, 04:07 PM
Registered User
sarky1's Avatar
Canada, BC, Langley
Joined Oct 2011
44 Posts
Please tell me your going to sell a few of these ??
sarky1 is offline Find More Posts by sarky1
Reply With Quote
Old Jan 22, 2013, 04:09 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Quote:
Originally Posted by kristaps_r View Post
Wanted to share my DIY OSD board with GPS, Current, V1, V2, and RSSI inputs
C'mon dude, you just keep making my builds look ugly as hell

On a more serious note - it's awesome to see the projects be used like that. Really nice and clean setup with a PCB.
Can't really say anything but great work

You should give the version with MAX7456 a shot if you solder PCB anyway
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Jan 22, 2013, 04:16 PM
Registered User
Joined Aug 2011
64 Posts
Quote:
Originally Posted by kristaps_r View Post
Wanted to share my DIY OSD board with GPS, Current, V1, V2, and RSSI inputs
want that!
FPVdude is offline Find More Posts by FPVdude
Reply With Quote
Old Jan 22, 2013, 04:17 PM
Registered User
Leeds, UK
Joined Dec 2003
393 Posts
That's awesome, hope to see some to buy!
sidneylopsides is offline Find More Posts by sidneylopsides
Reply With Quote
Old Jan 22, 2013, 04:18 PM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Quote:
Originally Posted by Dennis Frie View Post
C'mon dude, you just keep making my builds look ugly as hell

On a more serious note - it's awesome to see the projects be used like that. Really nice and clean setup with a PCB.
Can't really say anything but great work

You should give the version with MAX7456 a shot if you solder PCB anyway
I will ...
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Jan 22, 2013, 04:21 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Quote:
Originally Posted by kristaps_r View Post
I will ...
Sounds good
- and as always, feel free to sell whatever you want from all of these projects. They are uploaded with no strings attached at all.
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Jan 22, 2013, 04:24 PM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Quote:
Originally Posted by sarky1 View Post
Please tell me your going to sell a few of these ??
I was not going to sell them. I made this just because I wanted (liked). I don't have time even to test it.
I am also going to make one 25x25mm powered from RX 5v without USB with Bat, Current and RSSI inputs

When I will test them I will think about expenses and maybe sell some.
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Jan 22, 2013, 04:29 PM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Quote:
Originally Posted by Dennis Frie View Post
Sounds good
- and as always, feel free to sell whatever you want from all of these projects. They are uploaded with no strings attached at all.
Thanks You give me real inspiration Dennis. I have more ideas in my head but don't have as much time as I want.
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Jan 23, 2013, 04:09 AM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
OK
I will solder some more of these after I will successfully test it. My friend also asked.
I summed components, board, soldering... and seems I could give away these for 29$ shipped worldwide with tracking. (I wish i could get components as cheap as Chinese and some Chinese to solder this )

If someone interested I will count people and solder that quantity.
Can't give any date but hope this would not take long (count people interested + order components + solder)

Please don't be angry if I will find out that something is not OK with resign. USB and OSD works fine, need to test all ADCs and serial port
kristaps_r is offline Find More Posts by kristaps_r
Last edited by kristaps_r; Jan 23, 2013 at 04:14 AM.
Reply With Quote
Old Jan 28, 2013, 12:42 PM
Registered User
Joined Mar 2008
10 Posts
hello,

I would like to join this thread and enjoy this great OSD, but my OSD does not work properly.

Attached pictures of my circuit, the only thing that shows the screen output is a snapshot that lasts a few milliseconds, and appears in different horizontal position every 10 or 15 seconds.

I've tried with the following changes in the code:

# define CONTROLLER 0 or 1

# define VIDEO_SYSTEM 0 or 1 (do not know the camera system as it is reused)

# define align_text_ 1 to 22 (I tested all intermediate values​​)

And the result is always the same. I can not find the error.

Thanks and sorry for my English
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Jan 30, 2013, 10:10 AM
Registered User
Joined Mar 2008
10 Posts
hello,

After many hours and testing, the result is that multiple cirtuitos not fail, but fails to VGA Adaptor AV:

http://www.ebay.es/itm/290694941022?...ht_4555wt_1397

Connecting the circuit to capture it works correctly.

Now the problem is that this model does not detect GPS:

http://www.ebay.es/itm/271079582518?...ht_1886wt_1163

I do not know how to set it from the code, and how they connect BACKUP and 1PPS signals.

Thank you.
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Jan 30, 2013, 11:12 AM
Stick banger
Ace4's Avatar
USA, AZ, Chandler
Joined Oct 2004
1,031 Posts
The ebay site shows it requires a 115200 baud rate for the GPS. Make sure to update the code to that baudrate, although I'm not sure the Arduino will be able to handle that high of a serial rate. Worth a try, though.
Ace4 is offline Find More Posts by Ace4
Reply With Quote
Old Jan 30, 2013, 05:39 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
A better option would be to replace this part of the code:
Quote:
// Used to set the GPS update-rate to 5 hz, and GPGGA and GPRMC gps-strings (Only for MKT-GPS).

  Serial.print("$PMTK220,100*2F\r\n");
  Serial.write(13);
  Serial.write(10);

  Serial.print("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28 ");
  Serial.write(13);
  Serial.write(10);
with this:
Quote:
// Used to set the GPS update-rate to 5 hz, and GPGGA and GPRMC gps-strings, as well as setting a baudrate of 57600 (O nly for MKT-GPS).

  Serial.print("$PMTK251,57600*2C\r\n") //to change go to http://www.hhhh.org/wiml/proj/nmeaxor.html and create a valid checksum.
  Serial.write(13);
  Serial.write(10); //57600 baud
  
  Serial.print("$PMTK220,200*2C\r\n");
  Serial.write(13);
  Serial.write(10); //5Hz refresh rate

  Serial.print("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28 ");
  Serial.write(13);
  Serial.write(10); //Sets GPGGA and GPRMC to update once every fix
It sets the baudrate 57600, which should always work (as opposed to using the gps' stock 115200 baud, which can be flaky with this OSD).

It would be a good improvement to put this into the shipping version of the code, just to remove some of the issues with the occasional stock GPS incompatibility.

It sets the baudrate 57600, which should always work (as opposed to using the gps' stock 115200 baud, which can be flaky with this OSD).

It would be a good improvement to put this into the shipping version of the code, just to remove some of the issues with the occasional stock GPS incompatibility.
Legot is offline Find More Posts by Legot
Reply With Quote
Old Jan 30, 2013, 06:27 PM
Registered User
Joined Mar 2008
10 Posts
thanks for the replies.

I've changed the lines indicated in the file DIY_OSD_v0_18.ino

But the result is the same.

SAT: 00
NO GPS FIX

The GPS blue LED flashes every second. I have checked the connections:

Tx GPS >>>>> Rx OSD (with transistors to increase voltage to 5V)
Tx OSD >>>>> Rx GPS (with diodes 3.3v)

thanks again for your time and help
sokoloko is offline Find More Posts by sokoloko
Last edited by sokoloko; Jan 30, 2013 at 07:02 PM.
Reply With Quote
Old Jan 31, 2013, 01:24 AM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
Are you indoors? For me, even though I'm on the highest floor of my house, I don't get gps lock at all. Try the same thing you're doing, but go outside.

Some things that you may want to consider. The arduino doesn't need transistors to increase the voltage to 5v, because the logic high threshold of the Atmega is 3v; if the GPS is supplied with a solid 3.3v, there will be no problem with that.

Another thing is that you should really use a regulator to get the 3.3v for the GPS, its just a more stable voltage. It should never require more than 50ma, so for GPS regulators I like to use the TI TPS77033, but any 3.3v regulator will work well.

And I have to say, that's a really expensive GPS module.
Legot is offline Find More Posts by Legot
Reply With Quote
Old Jan 31, 2013, 09:17 AM
Registered User
Joined Mar 2008
10 Posts
Thanks Legot.

I've been testing for more than an hour on the outside with the new code, but not working.

I tested with a 3.3 V regulator with a diode in series and removing the transistors, but no way.

I tried on the computer with the program MiniGPS_v1.7.1 and everything works fine. I do not know what else I can try.

I'd appreciate if you show me where to buy some GPS economic model that works well with this OSD.

Regards
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Jan 31, 2013, 10:48 AM
Stick banger
Ace4's Avatar
USA, AZ, Chandler
Joined Oct 2004
1,031 Posts
I'm using the Locosys LS20031, it's a MediaTek MT3329-based setup. It's not the cheapest ($50 at polulu.com), but it works well with the OSD. It's 3.3V, so you either have to change the settings external to the OSD (I used my PC with a usb->serial adapter) or have a logic level converter so that you don't write to the GPS serial channel at 5V. It's very sensitive, I get good lock inside my house, and it has a battery backup to keep the ephemeris for quicker acquisition. It's slightly power hungry, but I think most GPS chips are during acquisition.
Ace4 is offline Find More Posts by Ace4
Reply With Quote
Old Jan 31, 2013, 07:51 PM
Registered User
Joined Mar 2008
10 Posts
hello again,

After many changes in the code I can not find the solution, because with the code mentioned in the line:

  Serial.print ("$ PMTK314, 0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 * 28");

Crack! and the execution does not continue.

I'll try to set Handmade gps with miniGPS program, but has too many values ​​I do not know how to fill, I have tried many options but not working.

I put a screenshot of my gps with possible options.

Thank you.
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Jan 31, 2013, 08:00 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
That is so strange. I use a 3329 based module as well, but the 3339 is supposed to be functionally identical. There's no reason to change modules if yours works with the MiniGPS program, I was just making a comment.

Try setting up the module for 57600 baudrate, GGA: 1, RMC:1 (all others:0), DGPS doesn't matter, and 5hz fix update rate through the Mini GPS program. Another possibility, is it at all possible that your RX and TX wires to the GPS are swapped? (I have problems with this all the time.)

That's the best I can come up with at the moment, sorry and best of luck.


Ooohh! something else that may or may not be worth a try is changing that line of code to:
Quote:
  Serial.print("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28 \r\n");
Legot is offline Find More Posts by Legot
Last edited by Legot; Jan 31, 2013 at 08:06 PM.
Reply With Quote
Old Feb 01, 2013, 07:02 AM
Registered User
Joined Mar 2008
10 Posts
hello,

First of all, I forgot to mention that the module is cheaper, this is the actual link:
http://www.ebay.es/itm/Very-Small-MT...#ht_1905wt_917

item code, after much reading in various forums, attached what I think would be a correct settings, but for some strange reason, if I put more than two sentences, execution stops and the program crashes.





Code:
  Serial.print("$PMTK251,57600*2C\r\n"); //  // Set NMEA port baud rate 57600 baud
  delay(100);
  Serial.write(13);
  Serial.write(10); //57600 baud

 Serial.print("$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n");
  delay(100);
  Serial.write(13);
  Serial.write(10); //Sets GPGGA and GPRMC to update once every fix
  
  Serial.print("$PMTK220,200*2C\r\n");  // //5Hz refresh rate = 200(millisecond) = 0.2(sec) 1/0.2 = 5 Hz
  delay(100);
  Serial.write(13);
  Serial.write(10); //5Hz refresh rate
  
  Serial.print("$PMTK300,200,0,0,0,0*2F\r\n");
  delay(100);
  Serial.write(13);
  Serial.write(10); 
  
  Serial.print("$PMTK313,0*2F\r\n");     // Disable to search a SBAS satellite. 
  delay(100);
  Serial.write(13);
  Serial.write(10);
 
  Serial.print("$PMTK301,0*2C\r\n");     // Disable to search a SBAS satellite. 
  delay(100);
  Serial.write(13);
  Serial.write(10);
I have put a battery to GPS to save the settings, and I've programmed from MiniGPS as attached image, omitting all configuration lines in the program, but does not work either.

If I set it to hand, how I can I remove the connection that goes from Tx OSD to Rx GPS?

The output signal of the GPS module working properly measured with an oscilloscope. This is the output:

$GPRMC,183242.000,A,4138.0757,N,00445.6716,W,0.38, 246.22,010213,,,A*70
$GPGGA,183243.000,4138.0758,N,00445.6712,W,1,6,1.1 7,748.1,M,51.6,M,,*4B
$GPRMC,183243.000,A,4138.0758,N,00445.6712,W,0.43, 246.22,010213,,,A*76
$GPGGA,183244.000,4138.0758,N,00445.6710,W,1,6,1.1 7,748.1,M,51.6,M,,*4E
$GPRMC,183244.000,A,4138.0758,N,00445.6710,W,0.45, 246.22,010213,,,A*75
$GPGGA,183245.000,4138.0759,N,00445.6708,W,1,6,1.1 7,748.1,M,51.6,M,,*47
$GPRMC,183245.000,A,4138.0759,N,00445.6708,W,0.53, 246.22,010213,,,A*7B
$GPGGA,183246.000,4138.0759,N,00445.6706,W,1,6,1.1 7,748.1,M,51.6,M,,*4A
$GPRMC,183246.000,A,4138.0759,N,00445.6706,W,0.69, 89.76,010213,,,A*4F
$GPGGA,183247.000,4138.0758,N,00445.6702,W,1,6,1.1 7,748.1,M,51.6,M,,*4E
$GPRMC,183247.000,A,4138.0758,N,00445.6702,W,0.68, 103.24,010213,,,A*7E
$GPGGA,183248.000,4138.0755,N,00445.6697,W,1,6,1.1 7,748.1,M,51.6,M,,*41
$GPRMC,183248.000,A,4138.0755,N,00445.6697,W,0.73, 104.27,010213,,,A*7F


This can not be so complicated ....
sokoloko is offline Find More Posts by sokoloko
Last edited by sokoloko; Feb 01, 2013 at 01:35 PM.
Reply With Quote
Old Feb 01, 2013, 11:58 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
Wait wait wait... Is that the exact code your uploading to the OSD?
Because the entire setup routine for the GPS is commented out...

Before and after the serial.print section that you've been working with, erase the /* and the */

Maybe that's the problem? If it isn't, then I have absolutely nothing left to try.
Legot is offline Find More Posts by Legot
Reply With Quote
Old Feb 02, 2013, 12:56 PM
Registered User
Joined Mar 2008
10 Posts
hello Legot

Thanks for your time to check my code, actually, all code to configure the GPS is commented. If I do not comment, program execution stops and the OSD stops working.

So I manually configure the program MiniGPS GPS (attached image above) and battery backup saved settings.

I have also flashed the GPS to the latest version, but still not working.

I ordered some optocouplers to connect GPS and OSD, I do not know what else to try.

Too bad it does not work, it is a good and cheap GPS ideal for an interesting project like this. : (: (: (

Thank you very much to all for your time
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Feb 02, 2013, 06:13 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
Sorry I couldn't be more help.

Just know that in your case there is an issue somewhere with the OSD, the GPS seems to be working perfectly.

Good luck my friend.
Legot is offline Find More Posts by Legot
Reply With Quote
Old Feb 03, 2013, 07:59 AM
Registered User
Joined Jun 2010
561 Posts
Hey guys i have a problem here.

I want to use this one without any gps module like one of those "Simple OSDs" showing only time and voltage. So i stripped the "output.ccp" to only show voltage and time. So far so good works as expected. Now the problems starts. As time is calculated my the gps in need to find another way to calculate the time. I guess the best way to do this is using the Arduinos millis() command. So i added this to the calculation part of the output.ccp.

Code:
      flight_timer2[0]=((flight_time2/1000)/600)+3;     
      flight_timer2[1]=(((flight_time2/1000)%600)/60)+3;      
      flight_timer2[2]=(((flight_time2/1000)%600)%60)/10+3; 
      flight_timer2[3]=(((flight_time2/1000)%600)%60)%10+3;
If i declare for testing

Code:
flight_time2 = 1415000;
it shows me the correct time of 23:35 on the osd. Big Problem is i just cant get the time to start.
Code:
flight_time2 = millis();
just does not wok time always shows 00:00. I am quite new to arduino programming so anyone can give me a hind how to fix this ?

Here is what i have done so far
nabazul is offline Find More Posts by nabazul
Reply With Quote
Old Feb 04, 2013, 06:11 AM
Registered User
Joined Mar 2008
10 Posts
Hi all!

I've got some more time to try to solve my problems with gps.

First I changed the setup code for this:

Code:
 #define MTK_SET_NMEA            "$PGCMD,16,1,1,1,1,1*6B\r\n"
 #define MTK_SET_NMEA_SENTENCES  "$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\r\n"
 #define MTK_OUTPUT_4HZ          "$PMTK220,250*29\r\n"
 #define MTK_OUTPUT_5HZ          "$PMTK220,200*2C\r\n"
 #define MTK_OUTPUT_10HZ         "$PMTK220,100*2F\r\n"
 #define MTK_NAVTHRES_OFF        "$PMTK397,0*23\r\n" // Set Nav Threshold (the minimum speed the GPS must be moving to update the position) to 0 m/s  
 #define SBAS_ON                 "$PMTK313,1*2E\r\n"
 #define WAAS_ON                 "$PMTK301,2*2E\r\n"
 #define SBAS_OFF                "$PMTK313,0*2F\r\n"  
 #define WAAS_OFF                "$PMTK301,0*2C\r\n"
 #define SBAS_TEST_MODE_1        "$PMTK319,0*25\r\n"	//Enable test use of sbas satelite in test mode (usually PRN124 is in test mode)
 #define SBAS_TEST_MODE_0        "$PMTK319,1*24\r\n"

  #define GPS_SERIAL_SPEED 57600
  uint32_t init_speed[5] = {9600,19200,38400,57600,115200};

      for(uint8_t i=0;i<5;i++){
        
        Serial.begin(init_speed[i]);					   // switch UART speed for sending SET BAUDRATE command
        #if (GPS_SERIAL_SPEED==19200)
          Serial.write("$PMTK251,19200*22\r\n");     // 19200 baud - minimal speed for 5Hz update rate
        #endif  
        #if (GPS_SERIAL_SPEED==38400)
          Serial.write("$PMTK251,38400*27\r\n");     // 38400 baud
        #endif  
        #if (GPS_SERIAL_SPEED==57600)
          Serial.write("$PMTK251,57600*2C\r\n");     // 57600 baud
        #endif  
        #if (GPS_SERIAL_SPEED==115200)
          Serial.write("$PMTK251,115200*1F\r\n");    // 115200 baud
        #endif  
        delay(300);
      }
      
          
      // at this point we have GPS working at selected (via #define GPS_BAUD) baudrate
      Serial.begin(GPS_SERIAL_SPEED);
            
      Serial.write(MTK_NAVTHRES_OFF);
      while (Serial.available() != 0) {Serial.read();}
      
      Serial.write(SBAS_OFF);
      while (Serial.available() != 0) {Serial.read();}

      Serial.write(WAAS_OFF);
      while (Serial.available() != 0) {Serial.read();}
      
      Serial.write(SBAS_TEST_MODE_0);
      while (Serial.available() != 0) {Serial.read();}
      
      Serial.write(MTK_OUTPUT_5HZ);           // 5 Hz update rate
      while (Serial.available() != 0) {Serial.read();}  

      Serial.write(MTK_SET_NMEA_SENTENCES); // only GGA and RMC sentence
      while (Serial.available() != 0) {Serial.read();}   

      Serial.write(MTK_SET_NMEA); // Si no lo pongo no continua
And finally the execution is not stopped.

Now looking at the code, I have a couple of questions, I would like to see on screen data received by arduino, but I can not find this function in your code, there is no (Serial.read)

On the other hand I have doubts with external button, there are several lines of code like this:
Code:
  if (CONTROLLER ==1 | Usebutton == 1) {
  if (digitalRead(Buttonpin)==LOW) {
that use an external button, I would like some information on this subject.

Thank you very much.
sokoloko is offline Find More Posts by sokoloko
Reply With Quote
Old Feb 13, 2013, 12:47 PM
Registered User
Joined Jun 2010
561 Posts
Hey,

thanks to a tip from Dennis i could fix my problem. I did myself a power distribution board for small quads with an onboard diy osd which shows only time and voltage. The OSD is also able to control the quads leds to make them blink when battery is low:

DIY OSD Power Distribution Board (0 min 57 sec)
nabazul is offline Find More Posts by nabazul
Reply With Quote
Old Feb 15, 2013, 11:51 PM
Registered User
United States, IL, Glenview
Joined Sep 2012
51 Posts
@kristaps_r
I am interested please let me know if you have one for sale.
Thx
Peter
daito is offline Find More Posts by daito
Reply With Quote
Old Feb 17, 2013, 04:20 AM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Quote:
Originally Posted by daito View Post
@kristaps_r
I am interested please let me know if you have one for sale.
Thx
Peter
I'll let you know but that would be at least after week or two. Have a lot to do on other projects.
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Feb 21, 2013, 10:28 PM
Newbie
Chile, Santiago Metropolitan Region, Stgo
Joined Apr 2011
2 Posts
Hi!

This is my 1st post on rcgroups, i try the code and works perfect.

A video of my first test using diy-osd:
First test of diy-osd from rcgroups (0 min 45 sec)


My next test must include: more light, a better camera, a more portatile tv, and then i try gps first and then current/voltage sensors.

Thanks a lot!!

regards from chile,
Piojo is offline Find More Posts by Piojo
Reply With Quote
Old Feb 22, 2013, 09:27 AM
MelihK's Avatar
United Kingdom, England, Canterbury
Joined May 2008
1,366 Posts
Hello Everyone,

A good news about SimpleOSD Open.
As you know, we didn't produce it since few months because of new design and production. My plan was making it smaller, lighter and cheaper
After few PCB design problem and reproduction now I did it.

This is new SimpleOSD X2






It is coming with useful features for opensource programmers.

And best news it is only 39.90$
The product page: http://www.flytron.com/osd-headtrack...l-edition.html
Schematic: http://www.flytron.com/pdf/SimpleOSD_X2.pdf

Features:
  • Working with both DIY-OSD(open source) and SimpleOSD XL(close code) firmwares. (compatible SimpleOSD XL firmware coming soon)
  • 16Mhz Atmega328 Processor with Arduino Boot
  • Standard 6 Pin FTDI Port for PC connection and other Serial sensors as GPS
  • 100% compatible with DIY-OSD Project.
  • I2C pins ready to solder for all sensors.
  • 4 extra Analog input pins
  • 6 extra Digital input/output pins
  • On-Board Voltage Sensor
  • One current sensor input
  • Simple 3 pin (video,+,-) connection to video system.
  • 5V regulated output for other sensors (120mA max)
  • Build-in LM1881 video signal seperator
  • PAL & NTSC compatible
  • Only 1.95gr

You can use a standard FTDI cable to programming it.



I just add some lines into the DIY-OSD 0.18 firmware for compatibility. You can download it from the attachments.

@Dennis:
You can track the differences into the code with "X2" keyword.
Can you update your original for the future updates?

Here is the list:

config.h

Replaced line
Code:
//Arduino = 0, SimpleOSD OPEN = 1, SimpleOSD X2 = 2
#define CONTROLLER 2

Added this line because of different dim, voltage and current pins
Code:
 // SimpleOSD XL OPEN 16 mhz
#elseif (CONTROLLER==1)
         
  // Input from current-sensor and voltage-divider
  #define voltage_divider_input 7
  #define current_sensor_input 4
  
#if (dim_on == 1)
// This is used for dimming. can be changed to another pin if you want. 
 //define SimpleOSD OPEN's dim pin C5 
 //SimpleOSD OPEN XL
 #define DimOn  DDRC |= 0b00100000;
 #define DimOff DDRC &= 0b11011111;

#else
  #define DimOn  DDRB |= 0b00000000;
  #define DimOff DDRB &= 0b11111111;
#endif    
  
  #define little_delay _delay_loop_1(13);
 
 // SimpleOSD X2 16 mhz
#else
         
  // Input from current-sensor and voltage-divider
  #define voltage_divider_input 0
  #define current_sensor_input 1
  
#if (dim_on == 1)
// This is used for dimming. can be changed to another pin if you want. 
 //define SimpleOSD X2's dim pin B1
  #define DimOn  DDRB |= 0b00000010;
  #define DimOff DDRB &= 0b11111101;
#else
  #define DimOn  DDRB |= 0b00000000;
  #define DimOff DDRB &= 0b11111111;
#endif    
  
  #define little_delay _delay_loop_1(13);
  
#endif
Main Sketch

Replaced Line into SETUP section
Quote:
//Define SimpleOSD X2 dim pin
#if (CONTROLLER == 2)
pinMode(9,OUTPUT);
#else
pinMode(9,INPUT);
#endif
Added into the SETUP section
Quote:
// If SimpleOSD X2/LM1881
if (CONTROLLER ==2) {
attachInterrupt(0,detectline,FALLING);
attachInterrupt(1,detectframe,RISING);
pinMode(13,OUTPUT);
digitalWrite(13,HIGH); // Turn on the led

// Button with internal pull-up.
pinMode(6,INPUT);
digitalWrite(6,HIGH);

}

Please feel free to any question.
Cheers
Melih
MelihK is offline Find More Posts by MelihK
Site Sponsor
Reply With Quote
Old Feb 22, 2013, 09:35 AM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Hi Melih
It looks good

I've been busy with the MAX7456 OSD project lately and not been around much here (you have probably noticed, that I have bought a few GPS-units and current-sensors).

I will try to get some time and update the software sooner or later.

By the way, send you an e-mail long time ago regarding the MAX7456 version. You are also welcome to use that for anything you like.
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Feb 22, 2013, 09:58 AM
MelihK's Avatar
United Kingdom, England, Canterbury
Joined May 2008
1,366 Posts
Hi Dennis,

Yes i noticed your GPS+Current sensor orders and I tried to making a surprise to you and put few units SimpleOSD X2 into your pack but didn't finish it in time :/ Anyway, now they are ready to shipping

Personally i don't like complicated electronics like MAX based OSD devices but of course i will glad to subscribe you.
Have you got any group for MAX based OSD project?
MelihK is offline Find More Posts by MelihK
Site Sponsor
Reply With Quote
Old Feb 22, 2013, 10:38 AM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Quote:
Originally Posted by MelihK View Post
Hi Dennis,

Yes i noticed your GPS+Current sensor orders and I tried to making a surprise to you and put few units SimpleOSD X2 into your pack but didn't finish it in time :/ Anyway, now they are ready to shipping

Personally i don't like complicated electronics like MAX based OSD devices but of course i will glad to subscribe you.
Have you got any group for MAX based OSD project?
I would have been a bit surprised, to see a "random" piece of electronic

The extra components needed on the MAX7456 version is not exactly an advantage, but the overlay looks better and there is a lot more processing-time left. But the simple design here is really nice.

I will test the OSD ASAP and report back and have an updated software-version compatible
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Feb 24, 2013, 06:34 AM
Registered User
emax's Avatar
Germany, HE, Darmstadt
Joined Feb 2013
154 Posts
Question: As I didn't find the word(s) "air-speed" in this thread, I wonder whether air-speed data (instead of GPS speed) can be processed or is on the todo list?
emax is offline Find More Posts by emax
RCG Plus Member
Old Feb 26, 2013, 03:17 PM
Registered User
rimshotcopter's Avatar
United States, CA, Los Angeles
Joined Aug 2009
11,707 Posts
Please, can some point me to a C Bitmap editor to create fonts and other items? I have Tobis ODS Charter Maker however, I would like to have something a little more robust.

Thank you.
rimshotcopter is offline Find More Posts by rimshotcopter
Reply With Quote
Old Mar 07, 2013, 12:20 PM
Registered User
Joined Jan 2013
1 Posts
Quote:
Originally Posted by vipix View Post
New WMC copter controler have GPS possibility.
Because i have using yours OSD, i want to ask if it is possible to connect this OSD as slave to I2C and provide all info for another arduino?

By now is required seperate arduino to make Serial GPS work with WMC I2C ports. I want to make simplier and use your OSD to display info and use as RTH in WMC.
I know it's an old post but I just stumbled on it and realized that I'm working on exactly the same thing!!! Did you ever get it to work with second Arduino and GPS going to DIY OSD via I2C? For me RTH is a MUST and second Arduino running RTH autopilot is a perfect solution. BTW - I went with LM1881 setup for DIY OSD as it's much easier and better looking too. I cleaned DIY OSD code as well (fixed few bugs in the process too )
loty is offline Find More Posts by loty
Reply With Quote
Old Mar 13, 2013, 08:34 PM
Registered User
Joined May 2009
11 Posts
Technical question here... please help meee! I'm killing myself trying to figure out whats right...
You say there is a negative part in the pal signal, which is backed up here:
http://en.wikipedia.org/wiki/File:PAL_2_lines.png

But then this guy is generating PAL with just 0-1v:
http://www.rickard.gunee.com/project.../pic/howto.php

How does it work if the Sync level is suppossed to be -1.5v ?!?!?!?!

I'd really appreaciate it if you could help me... I live in a NTSC country but I'm thinking about developing a PAL OSD that's plug and play with Multiwii and can get the Gyro-Accel-Magnetometer-altimeter data straight through serial... Of course it would be open source

Any help appreciated! I need this confirmed so that I can start developing while the PAL gear I ordered is on its way.
alejoal07 is offline Find More Posts by alejoal07
Reply With Quote
Old Mar 14, 2013, 03:31 AM
Registered User
kristaps_r's Avatar
Latvia, Riga
Joined May 2010
671 Posts
Quote:
Originally Posted by alejoal07 View Post
Technical question here... please help meee! I'm killing myself trying to figure out whats right...
You say there is a negative part in the pal signal, which is backed up here:
http://en.wikipedia.org/wiki/File:PAL_2_lines.png

But then this guy is generating PAL with just 0-1v:
http://www.rickard.gunee.com/project.../pic/howto.php

How does it work if the Sync level is suppossed to be -1.5v ?!?!?!?!

I'd really appreaciate it if you could help me... I live in a NTSC country but I'm thinking about developing a PAL OSD that's plug and play with Multiwii and can get the Gyro-Accel-Magnetometer-altimeter data straight through serial... Of course it would be open source

Any help appreciated! I need this confirmed so that I can start developing while the PAL gear I ordered is on its way.
One OSD that takes serial data from MultiWii and draws AHI ... is called Mobidrone. It has same schematic as DIY OSD so nothing to invent, it is allready done and opensource: http://www.toptel.sk/multicopter/ind...&products_id=1

I think I saw also MinimODS code for MultiWii somewhere.
kristaps_r is offline Find More Posts by kristaps_r
Reply With Quote
Old Mar 15, 2013, 05:30 AM
Registered User
RFnoise's Avatar
Sweden
Joined Mar 2010
38 Posts
Hello all!

Have anyone of you added code for the BMP085 sensor in this project that we can use for accurate altitude? Yes I know that you Melih have done that..

Regards,
Carl
RFnoise is offline Find More Posts by RFnoise
Reply With Quote
Old Mar 15, 2013, 07:26 PM
Registered User
PMB-NZ's Avatar
Wellington, New Zealand
Joined Aug 2009
186 Posts
Quote:
Originally Posted by alejoal07 View Post
Technical question here... please help meee! I'm killing myself trying to figure out whats right...
You say there is a negative part in the pal signal, which is backed up here:
http://en.wikipedia.org/wiki/File:PAL_2_lines.png

But then this guy is generating PAL with just 0-1v:
http://www.rickard.gunee.com/project.../pic/howto.php

How does it work if the Sync level is suppossed to be -1.5v ?!?!?!?!

I'd really appreaciate it if you could help me... I live in a NTSC country but I'm thinking about developing a PAL OSD that's plug and play with Multiwii and can get the Gyro-Accel-Magnetometer-altimeter data straight through serial... Of course it would be open source

Any help appreciated! I need this confirmed so that I can start developing while the PAL gear I ordered is on its way.
If everything was ideal and it was all DC coupled, the video signal would go negative. Higher quality but it makes things a lot more complicated to keep all parts working and interconnectable.

The simple solution is to AC couple the video signal; which just means feeding it through a large value capacitor. This passes the high frequency video signal to the next stage but blocks DC. The signal reference level is shifted positive or set above 0V by the next stage . Now it can operate from a simple single supply.

There are some minor problems introduced by the AC coupling. Quality is reduced and the average DC level is all over the place, which can affect the ability of the next stage to lock onto and track the video signal when it's less than idea; which is often the case with FPV.

I had this problem a while back and added a DC correcting amplifier to the groughd station. This made previously crappy cameras look quite good.

Paul
PMB-NZ is offline Find More Posts by PMB-NZ
Reply With Quote
Old Mar 17, 2013, 08:45 AM
MelihK's Avatar
United Kingdom, England, Canterbury
Joined May 2008
1,366 Posts
Quote:
Originally Posted by RFnoise View Post
Hello all!

Have anyone of you added code for the BMP085 sensor in this project that we can use for accurate altitude? Yes I know that you Melih have done that..

Regards,
Carl
Hi Carl,

Yes I did. But it is not an open product.
You can also do that with DIY-OSD, I can only show the way to you. Just download the ArduPilot project and isolate the altitude calculation code. Or maybe you can find BMP085 library with temperature compensated altitude calculation code on the net. Then you can integrate it into the DIYOSD code.

Sorry for this close code things but HobbyKing copying our all projects and we have to do this for surviving and supporting future projects
thank you for your understanding.

Melih
MelihK is offline Find More Posts by MelihK
Site Sponsor
Reply With Quote
Old Mar 17, 2013, 01:34 PM
Registered User
RFnoise's Avatar
Sweden
Joined Mar 2010
38 Posts
Quote:
Originally Posted by MelihK View Post
Hi Carl,

Yes I did. But it is not an open product.
You can also do that with DIY-OSD, I can only show the way to you. Just download the ArduPilot project and isolate the altitude calculation code. Or maybe you can find BMP085 library with temperature compensated altitude calculation code on the net. Then you can integrate it into the DIYOSD code.

Sorry for this close code things but HobbyKing copying our all projects and we have to do this for surviving and supporting future projects
thank you for your understanding.

Melih
No problem! I support you! Thanks for pointing me at the right direction.

Regards,
Carl
RFnoise is offline Find More Posts by RFnoise
Reply With Quote
Old Mar 17, 2013, 05:00 PM
Registered User
Joined Mar 2009
1,149 Posts
Here's some arduino code and detailed explanations on using bpm085 here :

http://www.sparkfun.com/tutorials/253
flipflap is offline Find More Posts by flipflap
Reply With Quote
Old Mar 17, 2013, 05:03 PM
Just another user
Dennis Frie's Avatar
Denmark, Capital Region of Denmark, Naerum
Joined Feb 2011
1,080 Posts
Otherwise, feel free to copy-paste from the MAX7456 OSD project where BMP085 is implemented and OpenSource.

The altitude calculation is a linear approximation atm
Dennis Frie is offline Find More Posts by Dennis Frie
Reply With Quote
Old Mar 20, 2013, 06:36 AM
Registered User
Joined Jun 2012
9 Posts
Hi i tried your scheme with arduino mega 2560, but there is mosi in pin 51 not 11, where i must make change in code ? i make change in pinMode(11,OUTPUT); to pinMode(51,OUTPUT); it's everything ? Thanks...
i tried non changed code, but display nothing show.

I tried now in this scheme


Thanks for any idea.
njosef is offline Find More Posts by njosef
Last edited by njosef; Mar 20, 2013 at 06:54 AM.
Reply With Quote
Old Apr 10, 2013, 12:48 PM
Registered User
Joined Jun 2012
9 Posts
Ok, i tried on iduino nano http://www.ebay.com/itm/190746782529...84.m1439.l2649
but nothing show i tried turn slowly left or right with potenciometer but nothing happend.

Any idea ? Thanks for reply

I use version 0,18 without changes...
njosef is offline Find More Posts by njosef
Reply With Quote
Old Apr 10, 2013, 01:09 PM
Registered User
Joined Jun 2012
9 Posts
Ok, now works. but no readable text same as this picture
i use 50k potenciometer(try 100k but nothing), diode 1N4148, i use scheme on page 1. firmware 0.18
njosef is offline Find More Posts by njosef
Last edited by njosef; Apr 10, 2013 at 03:04 PM.
Reply With Quote
Old Apr 12, 2013, 12:57 PM
Registered User
sarky1's Avatar
Canada, BC, Langley
Joined Oct 2011
44 Posts
NOOOO, I bread boarded it. worked perfectly, made a protoboard to fit onto my mini pro and nothing haha, back to the drawing board.

Has anyone made a protoboard like the Denis did, if so is there any chance I can see your design? with some close up pics of the front and back ?
sarky1 is offline Find More Posts by sarky1
Reply With Quote
Old Apr 12, 2013, 10:40 PM
Registered User
sarky1's Avatar
Canada, BC, Langley
Joined Oct 2011
44 Posts
Yew got it, now I need to work out powering a 3.3v gps, sigh!

Quote:
Originally Posted by sarky1 View Post
NOOOO, I bread boarded it. worked perfectly, made a protoboard to fit onto my mini pro and nothing haha, back to the drawing board.

Has anyone made a protoboard like the Denis did, if so is there any chance I can see your design? with some close up pics of the front and back ?
sarky1 is offline Find More Posts by sarky1
Reply With Quote
Old Apr 18, 2013, 08:28 AM
Registered User
Joined Oct 2010
39 Posts
Quote:
Originally Posted by njosef View Post
Ok, now works. but no readable text same as this picture
i use 50k potenciometer(try 100k but nothing), diode 1N4148, i use scheme on page 1. firmware 0.18
I did not try again, but I just set up a new quadcopter and I really want an osd!! did you fix this?
I am going to rebuild the project again and use an oscilloscope to find out what's wrong..
emerge is offline Find More Posts by emerge
Reply With Quote
Old Apr 18, 2013, 10:56 AM
Registered User
sarky1's Avatar
Canada, BC, Langley
Joined Oct 2011
44 Posts
Quote:
Originally Posted by emerge View Post
I did not try again, but I just set up a new quadcopter and I really want an osd!! did you fix this?
I am going to rebuild the project again and use an oscilloscope to find out what's wrong..
Hey Emerge.

What Arduino are you using? I had a very similar issue with the UNO but got it working just fine with a Mini Pro
sarky1 is offline Find More Posts by sarky1
Reply With Quote
Old Apr 20, 2013, 06:02 AM
Registered User
Joined Jun 2012
9 Posts
no i havent time yet
njosef is offline Find More Posts by njosef
Reply With Quote
Old Apr 26, 2013, 12:47 AM
Registered User
Joined Oct 2011
114 Posts
wow nice project! Just saw it!
I was wondering if it's possible to change the view with something similar at the image i posted..maybe modding the script of the ascii..
(only an example)
mick3485 is offline Find More Posts by mick3485
Reply With Quote
Old May 03, 2013, 11:06 AM
Registered User
Joined May 2013
7 Posts
Hello,

I know this project is old,

but is it possible to get the altitude by a BMP 085 Sensor instead of a GPS ?

I just need the alt for my OSD, nothing special.


-ironman
ironman139 is offline Find More Posts by ironman139
Reply With Quote
Old May 10, 2013, 10:31 AM
Registered User
Joined Jun 2012
9 Posts
I tried again and now working. But i dont know where was problem.
njosef is offline Find More Posts by njosef
Reply With Quote
Old May 21, 2013, 01:05 PM
Registered User
St. Pete, FL
Joined Feb 2006
292 Posts
The Arduino Micro is another very small board and is conveniently available at Radio Shack. I tried building the code for it, but for the Micro (essentially the same as the Leonardo) a number of constants used had to be changed because the Serial IO and timer are different from other boards. Also, the Micro has only about 28K available because the boot loader steals about 4K from flash memory and the compiled program is a bit too large to fit. (Maybe there are some tricks that can be done to reduce the memory taken up by the ASCII file.)

Has anybody else tried building this project for the Arduino Micro board?

--Van
van-c is offline Find More Posts by van-c
Reply With Quote
Old May 22, 2013, 11:43 PM
Registered User
St. Pete, FL
Joined Feb 2006
292 Posts
I decided to try the Arduino Uno board and got better results with the compiler. The version 18 code compiled as-is but I cannot seem to get the sync to stabilize. The camera is a Sony 600TVL Super HAD that outputs NTSC video. The OSD display looks very similar to that in post #2271. I've tried 10K, 50K and 100K pots with similar results. The USB is being used for power source (5V).

TIA for suggestions,

--Van
van-c is offline Find More Posts by van-c
Last edited by van-c; May 23, 2013 at 01:49 AM.
Reply With Quote
Old May 23, 2013, 07:25 PM
Registered User
Joined Nov 2011
55 Posts
Hey guys is there any simple way in the code to remove\disable the GPS and related text? Just point me in the right direction so I don't have to reverse engineer all the code here. I'm looking to just show pack v and mah at this time and add the GPS later if needed.
joesa3rd is offline Find More Posts by joesa3rd
Reply With Quote
Old May 23, 2013, 10:34 PM
Registered User
United States, UT, Sandy
Joined Nov 2010
36 Posts
NEO-6M GPS from Hobby King. How to make it work?

I just received the inexpensive NEO-6M module from Hobbyking- $21.99. I had the OSD working with an Adafruit breakout board, but when I attached the NEO-6M instead, I got nothing. The LED on the GPS flashes at about 1 second intervals. Testing with a simple Arduino Adafruit program shows the GPS putting out something, but not intelligible. The unit comes pre-set to 38400 baud. Can someone tell me how to make this GPS work?

Thanks

Dick
rbcodell is offline Find More Posts by rbcodell
Reply With Quote
Old Jun 05, 2013, 09:58 AM
Antonov
Joined Jun 2013
1 Posts
Remove or disable the GPS related text

Quote:
Originally Posted by joesa3rd View Post
Hey guys is there any simple way in the code to remove\disable the GPS and related text? Just point me in the right direction so I don't have to reverse engineer all the code here. I'm looking to just show pack v and mah at this time and add the GPS later if needed.
Hi

This is not a pro solution but it worked for me (until someone tells me how to do it properly)

I just moved the text away from the visible area. In the config tab. Change the values as follows (maybe other values for NTSC).

#if (video_system == 0)
// PAL
#define toplinetext -100
#define toplinenumbers -100
#define butlinenumbers 271
#define timer_line -100
#define gps_nmea_line -100
#define summaryline -100
#define current_calc_line 292

Now I only see volts, amp and mah.

//Antonov
www.fpvteamsweden.com
Lydig is offline Find More Posts by Lydig
Reply With Quote
Old Jun 12, 2013, 11:07 PM
New Hampshire
United States, NH, Lebanon
Joined Jan 2012
67 Posts
Anyone add Sonar to this?
For Multicopter low level flying, baro or altitude is not very useful I think, but Sonar should be very useful and fun!
NHmoose is offline Find More Posts by NHmoose
Reply With Quote
Old Jun 12, 2013, 11:21 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
Quote:
Originally Posted by NHmoose View Post
Anyone add Sonar to this?
For Multicopter low level flying, baro or altitude is not very useful I think, but Sonar should be very useful and fun!
Thats hard.
Legot is offline Find More Posts by Legot
Reply With Quote
Old Jun 13, 2013, 08:04 AM
Registered User
Joined Jan 2012
25 Posts
Well, maybe it's because i'm just a noob in electronic and µC programming (actually, i wrote my first blink sketch on arduino 1 month ago ), but i tried to write my own OSD prog based on the atmega328/LM1881, and it's really a pain in the ass ! All what i can do is some flickering lines. I tried with timers, SPI and asm delay (i used your delayX functions Dennis, as i don't know asm), and i can't make a single clean lettre that doesn't flicker like hell !
So Dennis, please allow me to express my respect for your work and my thanking to share it (even if i still don't understand half of your code). u rox.
comode is offline Find More Posts by comode
Reply With Quote
Old Jun 13, 2013, 06:30 PM
Build to Fly? FLY to BUILD!
Legot's Avatar
United States, AZ, Gilbert
Joined Nov 2009
1,104 Posts
I've been thinking, and I don't think its possible with this particular hardware just because of the limits on timing that were mentioned.

On the implementation end of it you would need a gyro stabilized gimbal that's capable of 360 degree continuous motion (with continuously varying speeds) so that you can have an ultrasonic sensor or the like spinning at a constant speed on a level plane.

In software you would have to take the continuously changing range data from the Ultrasonic sensor and plot it as polar coordinates around a little stationary image of the multirotor. This polar graph would then have to spin in relation to the multirotor's orientation (from a magnetometer, which would also determine the speed of rotation for the sensor).

Overall, the hardware is a little tricky but pretty simple. The software is where it gets difficult, you would definitely need allot of power and speed to make it useable. Maybe in some other graphical OSD designed by a legend?
Legot is offline Find More Posts by Legot
Reply With Quote
Old Jul 01, 2013, 10:02 AM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
Quote:
Originally Posted by rbcodell View Post
I just received the inexpensive NEO-6M module from Hobbyking- $21.99. I had the OSD working with an Adafruit breakout board, but when I attached the NEO-6M instead, I got nothing. The LED on the GPS flashes at about 1 second intervals. Testing with a simple Arduino Adafruit program shows the GPS putting out something, but not intelligible. The unit comes pre-set to 38400 baud. Can someone tell me how to make this GPS work?

Thanks

Dick
In config.h here:

// Baud-rate for GPS
#define BAUD 38400
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 03, 2013, 03:19 PM
Registered User
Joined Jul 2011
40 Posts
My new Flytron SimpleOSD X2 gives me a hard time to get it running. I posted my problems on the flytron forum but got no response here... I hope that someone here can give me some hints how to improve the performance of the osd.

My camera is the new fatshark cmos 600tvl camera. Summary of my problems:
  • With dim_on set to 1 no information of the osd is readable, it looks like the picture in post 2271
  • With dim_on set to 0 the image is still not very stable but readable, the problems start if there are some darker areas in the image. Then the lines start to move over the whole screen again. When the light situation changes everything is readable again.

I searched this thread for informations and learned that changing the resistor values between the two pins of the atmega and the video signal influence this behavior. Currently both resistors have a value of 100Ohm.

To better understand the problem I hooked the video signal to a scope. The problems are pretty obvious to spot. First a plot without the osd connected:



Note that the peak-to-peak voltage is ~0.7V. The sync signals for the new frame a done correctly (from what I can tell) and the LM1881 should have no troubles to recognize the frame/line starts. This situation changes with the osd connected:



The peak-to-peak voltage is now ~1.5V and the black signal is below the original sync signal level... it is not surprising that the LM1881 gets confused and starts generating spurious interrupts.

Do I have to increase or lower the resistor values to adjust the output of the osd to the camera? I don't have much experience in smd soldering so I don't want to try messing around without knowing that the result will probably be an improvement. Or do I have to do something completely different like capacitors somewhere?

I also did some improvements to the firmware of the SimpleOSD X2. It now supports digital rssi (PWM signals) from receivers like the ezuhf rx. After some short tests the results look quite good but more testing has to be done to make sure everything still works like it should. The source code is in my github repository: https://github.com/schugabe/DIY-OSD
schugabe is offline Find More Posts by schugabe
Reply With Quote
Old Jul 04, 2013, 11:51 AM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
You use PAL or NTSC?


Quote:
Originally Posted by schugabe View Post
My new Flytron SimpleOSD X2 gives me a hard time to get it running. I posted my problems on the flytron forum but got no response here... I hope that someone here can give me some hints how to improve the performance of the osd.

My camera is the new fatshark cmos 600tvl camera. Summary of my problems:
  • With dim_on set to 1 no information of the osd is readable, it looks like the picture in post 2271
  • With dim_on set to 0 the image is still not very stable but readable, the problems start if there are some darker areas in the image. Then the lines start to move over the whole screen again. When the light situation changes everything is readable again.

I searched this thread for informations and learned that changing the resistor values between the two pins of the atmega and the video signal influence this behavior. Currently both resistors have a value of 100Ohm.

To better understand the problem I hooked the video signal to a scope. The problems are pretty obvious to spot. First a plot without the osd connected:



Note that the peak-to-peak voltage is ~0.7V. The sync signals for the new frame a done correctly (from what I can tell) and the LM1881 should have no troubles to recognize the frame/line starts. This situation changes with the osd connected:



The peak-to-peak voltage is now ~1.5V and the black signal is below the original sync signal level... it is not surprising that the LM1881 gets confused and starts generating spurious interrupts.

Do I have to increase or lower the resistor values to adjust the output of the osd to the camera? I don't have much experience in smd soldering so I don't want to try messing around without knowing that the result will probably be an improvement. Or do I have to do something completely different like capacitors somewhere?

I also did some improvements to the firmware of the SimpleOSD X2. It now supports digital rssi (PWM signals) from receivers like the ezuhf rx. After some short tests the results look quite good but more testing has to be done to make sure everything still works like it should. The source code is in my github repository: https://github.com/schugabe/DIY-OSD
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 04, 2013, 02:07 PM
Registered User
Joined Jul 2011
40 Posts
The fatshark camera can switch between PAL and NTSC. I have tried both and the problems where the same in both. Currently run it with NTSC and have configured the OSD accordingly (I changed the define in confdig.h to VIDEO_SYSTEM 1 and fixed the bug where video_system was lower case and not upper case).
schugabe is offline Find More Posts by schugabe
Reply With Quote
Old Jul 04, 2013, 02:56 PM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
You have the problem like this?:
When i power-on, the OSD show correctly.
When i run the motor, the OSD show shaky

1. I am use the version 0.18 moddified to support 100% the SimpleOSD X2 board. (Link here: http://www.rcgroups.com/forums/showp...postcount=2254)
2. I am use NTSC system.
3. I fix my problem changing the values in the code:

#if (video_system == 0)
// PAL
#define toplinetext
#define toplinenumbers
#define butlinenumbers
#define timer_line
#define gps_nmea_line
#define summaryline
#define current_calc_line

I hope this helps.
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 04, 2013, 05:04 PM
Registered User
Joined Jul 2011
40 Posts
I did some more experiments and changed the dim pin to another pin and connected this pin over a resistor with the video line... then I tried different resistors and found that a value of 200 Ohm makes the picture as good as without diming enabled. The black background is not very black with this resistor but better than nothing :-D

The image still gets unstable just based on the content of the image. If the brightness is uniform distributed over the image the osd data is displayed readable. But as soon a darker spot is in the image the osd starts going crazy.

@bparini:
Thank you for your suggestions. I run the same firmware as you just with some adjustments I made. But these are not the source of the issues as I can observe the same behavior with the original firmware.
The esc/motor can be ruled out as source for this problem as I don't have a esc/motor connected to the system currently.
What camera do you use?
schugabe is offline Find More Posts by schugabe
Reply With Quote
Old Jul 04, 2013, 05:15 PM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
Will be defective the board?...

I use the 808 #16 v2 with video output.
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 08, 2013, 11:59 AM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
Hi @schugabe,
I would add RSSI to my plane. Is the Spy Hawk of Hubsan. The receiver has a chip A7105 (Documentation: http://goo.gl/LXA3w) and the RSSI is in the PIN 1. I have also bought a BUFFER RSSI from http://goo.gl/X8kYk. Currently I have the SimpleOSD X2 with Melihk v0.18 firmware.
My question is: What should I change in your firmware to run with my Rx?

Regards,

Bruno.
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 09, 2013, 03:09 AM
Registered User
Joined Jul 2011
40 Posts
Quote:
Originally Posted by bparini View Post
Hi @schugabe,
I would add RSSI to my plane. Is the Spy Hawk of Hubsan. The receiver has a chip A7105 (Documentation: http://goo.gl/LXA3w) and the RSSI is in the PIN 1. I have also bought a BUFFER RSSI from http://goo.gl/X8kYk. Currently I have the SimpleOSD X2 with Melihk v0.18 firmware.
My question is: What should I change in your firmware to run with my Rx?

Regards,

Bruno.
Connect the rssi pin with the rssi buffer input and the output with the osd (pin PC2 shown in this picture https://github.com/schugabe/DIY-OSD/blob/master/pb0.jpg ).

To configure the rssi download my version of the firmware, open it in the arduino editor and change to the file config.h there.

https://github.com/schugabe/DIY-OSD/...8/config.h#L83 in these lines the config for the rssi needs to be done. I would start with the following config:

Code:
#define digital_rssi 0 // 1 = on, 0 = off
#define show_rssi 1 // 1 = on, 0 = off
#define show_raw_rssi 1 // 1= on, 0 = off
Compile and upload this firmware to the osd (as described in https://github.com/schugabe/DIY-OSD#how-to ).

Now you would see the unmodified rssi readings in the osd. Write down which number you see with the tx switched on standing right beside the rx. Then switch the tx off and write down the resulting rssi. Switch the tx on again and walk away with the tx until you see a change in the rssi reading. The post your findings here.
schugabe is offline Find More Posts by schugabe
Reply With Quote
Old Jul 09, 2013, 02:41 PM
Registered User
Joined Jul 2011
40 Posts
I tried the SimpleOSD X2 with three cameras: The Fatshark CMOS 600tvl, Fatshark RCV922 CCD camera and the gopro hero 2. All showed the same behavior. This can't be planed that such popular cameras don't work correctly with the osd... but MelihK didn't write back to any of my messages so it seems that he does not really care about this incompatibility. Just be aware of this problem when you consider to buy this osd.

Another question occurred today: I added a simple sander style LC filter to the power supply of the osd. This rendered that the osd output was completely wrong. Even a simple Ferrite ring caused to output to go bonkers. With the capacitor connected the image got darker. I can't explain this behavior at all. Why should a filter on the power supply line influence the video output???
schugabe is offline Find More Posts by schugabe
Reply With Quote
Old Jul 09, 2013, 02:49 PM
Registered User
bparini's Avatar
Paraguay, Central, Lambare
Joined Mar 2013
148 Posts
@schugabe

Thank you..
Now I have almost everything I need. I just have to wait the RSSI buffer will arrive in a few days.

Regards,

Bruno.
bparini is offline Find More Posts by bparini
Reply With Quote
Old Jul 16, 2013, 04:48 AM
Registered User
Joined Jun 2013
1 Posts
Modify Code for showing a graph

Hi,
I have modified schematic of "mobiDrone nano" for ATmega32. I have downloaded project's codes, but I have problems with "interrupt routine Hsync" part of code. I couldn't understand it.
In my project I want to modify codes to show a dynamic graph of an analog signal (Showing "Ain signal" in schematic file). I would be grateful if you could help me.
thank you in advance
mamreza is offline Find More Posts by mamreza
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Diy osd karl k FPV Talk 2 May 03, 2011 01:31 AM
Idea New DIY OSD? atari7202 FPV Talk 1 Mar 25, 2011 01:08 AM
Discussion see my own diy OSD video Passion Aerial Photography 7 May 27, 2010 02:28 AM
Discussion REAL homebrew DIY OSD - Check it out! jafoca FPV Talk 8 Jun 29, 2009 07:52 PM
Discussion picoOSD DIY PIC12F683 based OSD in C kbosak FPV Talk 6 Jan 31, 2008 08:47 AM