www.webx.dk Start page
MY little Radio Control page
OSD, On Screen Display (with GPS height and speed) for model RC planes

See first the video wireless page
Then you will know what this OSD project is good for, see bottom of this page for VIDEO clips !
TWEAKS, extra features and how to
Trouble Shooting, FAQ at the bottom of this page

OSD On Screen Display:

Here is my OSD design hardware version 2.05 from 2008

I use a two chip in parallel solution, one AVR AtMega88 is the OSD and one AVR Atmega168 is the serial NMEA
and analog and txt setup controller. So a total of 40MIPS are executed here, nice nice !

A screenshot made in low res - Real fligt top speed of my 2m stick 213km/hrs (132mph) 213km/hr video clip, check the sound

Current sense is done with this tiny board:

on one side the hi resolution current sensor, the other side a lineary powersupply strong enough to handle the OSD and GPS and even small can and tiny TX module
with the microcontroller I use it is possible to get full range of 68A and 0.1A resolution.
I have also made the OSD inform Watt usage and mAh with one sec resolution, the fly timer start when the current use is over 1.2A or what ever level I set it to.
but what do we need a timer for ? when we have an accurate realtime mAh display ?

I wanted to use better camera and more power on the Video transmitter, so a bigger powersupply was needed:

so I designed this 6-40V input, 5.0V out and up to 3A constant load, this one differs alot from all the SBEC types I normally see
I have added double filters, one on the input and one on the output, ok the size and weight is bigger, but now no noise !! much more important to me.
This one is called PDN3 for 3A

for smaller current demands like lower powered transmitters, the total 5V current draw can be under 1A
in those cases this smaller 1A step down can be used, called PDN1

I changed the cam from KX131 5V to a KX151 12V, to solve the powersupply need:

I designed this tiny 5 to 12V step up converter
the small size and efficiency really impressed me, also this one is double filtred,
really a need when dealing with analog video cameras.
This one is called PUP3 for 300mA max out put current.
Later I found out the KX151 is not the best cam for RC plane flying so I got the IFCAM

I also designed a 600mA step up, it is a bit bigger and is called PUP6

The temperature sensors I made handle from -40 to +200C

OK I know the solder melts and wires fall of the board at this hi temperature, but the sensors actually continue to work up there.
when connected to the OSD, their resulting values will automaticly show up.

Here is the compleete gear setup before mounting on a plane. only one GPS needed ofcourse
The 5V lineary powersupply inside the current sensor can actually handle : GPS and CAM and OSD with 6-12V input.
If the video transmitter is hi power and battery volt is over 7-8V an external switchmode supply is needed.

Here is how to connect the external powersupply, in this case the current sensor can be ordered with no lineary regulator mounted,
but if it is mounted no harm is done to it.

how to connect, 12V cam, 12V tx

manuals and SW, look here

Pictures from video flights:

 About to land
  from Aspach show flight 2007

 How High can we go, (special location used, else not legal)
  How fast can we go, from the 213kmh record

To be able to distribute a composite video signal from one source to multible inputs,
like googles, tv monitor, usb recorder and so on, I designed this 1 to 4 video distribution amplifier
it is called VID4, measured frequency response 3Hz to 12MHz (-3dB)

Video clips:
video-fly001.mpg The first tour ! here we are happy, MPEG1 format, 36MB
video-fly002-full.avi Here we try to fly by TV screen, AVI packed with mpeg4, 35MB
video-fly003-first30sec.avi Edited, added ground video take, AVI packed with mpeg4, 4MB
video-fly003-full.avi Full length tour 3, AVI packed with mpeg4, 32MB
video-fly005-whip-ant.mpg this clip the receiver is using original whip antenna, MPEG1 format, 34MB
video-fly180207-3.avi How to follow another RC plane while controlling via TV screen, AVI packed with mpeg4, 17MB
motor-test-300w.avi Motor test of the V,A,W,mAh display, AVI packed with mpeg4, 3MB
GPS-Compare-em406tip-eb85old-fuse.avi TWO IFOSD on same plane, EM406 in wing tip, EB85 old version in fuselage, 45MB
Remember to right-click and save as - to your harddrive - and then see the clips, for best result.

Things learned that day:
video will be shaken when it is windy !
GPS need a few minutes on ground steady before takeoff, else height indication will be bad
It was possible to control the plane only by looking on TV screen, even the first day

Features for version 1.16 sold at www.intelligentflight.com and others.
Fully configureable with PC program via serial port (USB converter may be needed for some users)
Each text lines can be moved.
Each measure indicator can be enabled/disabled.
The 3 voltage inputs are automaticly turned off, if not in use (if voltage is close to zero)
The 2 temperature inputs are automaticly turned off, if not connected (C or F configureable)
Temperature range -40C to 176C (-40F to 348F)
Two more analog inputs available internally for the advanced users.
The current indication range 0 to 68A with 0.1A resolution, (enabled/disable possible)
The mAh accumulated range 0 to 9999mAh with 1mAh resolution, (enabled/disable possible)
will automaticly change to Ah reading with 10mAh resolution after 9999mAh then 10.0Ah
All analog inputs can be calibrated.
One of the voltage input can be used for BEC or RSSI indication:
in BEC mode voltage is shown like the two other voltage inputs from 0.1V tol 45V, in
RSSI mode the user can configure 8 voltage levels that will be shown as a bar-graph, after Antenna Icon.
Icon for the antenna can even be configured to any ascii character (or none) if wanted.
Total power on time (enabled/disable, position configuable) inflight reset possible
Total motor on time (enabled/disable, current/Speed level to start timer and position) inflight reset possible
Peak-holds on Temp1-4 inputs, in flight reset configurable.

GPS indications:
Speed in kmh or mps (enabled/disable, scale and position configuable)
Height in m or feets (enabled/disable, scale and position configuable)
Arrow pointing to home/start position (enabled/disable, position configuable)
Distance to home/start position in m or feet (enabled/disable, scale and position configuable)
Climb/Desent arrow (enabled/disable, position configuable)
Number of satelites (enabled/disable, position configuable)
Actual position in WGS84 format (enabled/disable, position configuable)
GPS clock (enabled/disable, position configuable, local time configurable in 30mins step.)
The GPS init string to setup baud rate and pakages send, can be configured so many GPS modules can be used.
The HOME position can be configured to be fixed or automatic at powerup,
The minimum available satelites needed for auto home fix, can be configured.
Heading as angle and as compas arrow possible configurable, even facing or sitting north configurable.

The PC program have several good default settings to startup with
Configuration settings can be loaded from disk and saved so you can share them with friends or backup if needed.

Any items to read out can be written on any line any location and each item can be on/off.

for most accurate discription of this OSD project, latest versions and so on,
please goto intelligentflight.com.au

To connect the OSD to PC to configure and design screen layouts

I designed those two interfaces, USB and conventional SERIAL port interface
they both solve the communication issue and works on any windows PC computer

PC Software for configuration:

The latest version 1.17 firmware need new version 1.50 of the video firmware.
but now the users can configure video settings also, another new feature is LIVE updating on OSD.

These are the video setting results.

almost endless combinations can be made to fit your need, you can make from 10 lines to 25 lines

PC setup software shown tons of config options

Here is the GPS init string, see it is even possible to setup TWO different modules with the same configuration of the OSD.

The PC program have also a LAYOUT editor, so you can design the read out text exactly as you like,
it is made as simple as possible, drag and drop items, move items, save design to file, share with friends.



with firmware 1.16 and up, two more analog inputs can be used for advanced users with good solder skils ONLY !

Two servo signal extension cables is used, so the male part is fully compatible with temp1 and temp2
The two red +5V and the two black/brown GND are simply soldered to +5 and GND of the temperature connectors back side

The two signal wires orange/white are soldered to the "hot" side of R21 and R20
this is not easy to do with the thick servo cables like the orange type seen here !

Be carefull not to short circuit anything

When done, secure with hot melt glue, and heat shrink wrap the OSD board again.

Calibration: The readout value = ((mV DC in - Offset) x Gain) / 100
Example1: 70 = ((400mV-200) x 35) / 100

Example2: a temperature sensor chip gives 424mV at 0C, and 580mV at 25C, and 1049mW at 100C
this voltage is divided by two 10k resistors, one on the OSD board, one on the temp sensor
due to the output resistance of the sensor about 800 ohm, the adc will read a value that is lower,calculated like this
100C =((504mV-203) x 35 ) / 100 (105.3)
25C =((279mV-203) x 35 ) / 100 (26.6)
0C =((204mV-203) x 35 ) / 100 (0.3)
The sensor accuracy is 2-3C initial offset error, and the ADC internal ref is 1.0 to 1.2V
so to achive a super accurate readout each unit must be calibrated.



This Accelerometer breakout board is from Sparkfun, order code SEN-00847 it handle +/- 5G
The analog output is simply loaded with a 4k7 resistor to make its range fit perfectly for the OSD
if you have a fast fly-crasy plane, maybe go for the +/-10G type :-)

Here both X and Y outputs are conneced to "servo" type leads, the two 4k7 resistors 0603 SMD are added on top of the two capacitors.
Calibration values : Gain = 38-40, Zero Offset = 214-218, it is correctly calibrated when it read 000 when placed flat on the table
and -010 X arrow pointion UP, and 010 X arrow pointing DOWN, same test and calibration with Y.
Place sensor in plane so X point down to earth and Y point to back/tale of plane.
the +/-5G sensor can read up to 6G, Resolution on the OSD is 0.1G
now the peak-hold function implemented in version 1.16 firmware is even more usefull.
The breakout board filter capacitors are WAY too small for RC planes vibrations, add 1uF or even 10uF

if you use the +/- 18G type for hardcore flying style, use calfactors:
Gain = 112, Zero Offset = 218-221
Same thing: add 4k7 and 10uF on each signal.


TWEAKS for 2.01 version current sensor

The 2.01 version of the current sensor board layout have fault.
swap the connector leads like this picture, so they can be nice and right in the connector end.

on the J301 power supply (this one is always right in both ends)
pin1 = orange, batt sense,
pin2 = 5V out to OSD,
pin3 = GND

on the current sensor J300:
pin1 = current sense analog signal
pin2 = GND (on 2.01 board)
pin3 = +5 from OSD (on 2.01 board)

note on the other end of this cable it MUST be like this, the OSD connector end.
pin1 = current sense analog signal
pin2 = +5 from OSD
pin3 = GND
All this wire jam is changed in the 2.03 version currentsensors

PLEASE check the settings: AmpereGain=82 and AmpereZero=186
check with voltmeter directly on the sensor chip blue numbers at zero ampere,
if all pins are correctly connected to OSD, 1=+5V, 2=GND, 3=0.6V
At J300 pin 1 see picture, you should measure 0.4V if all is ok.


TWEAKS TRIPLE OSD for 3 x GPS compare at the same time

The video amp is used for isolation, one OSD provide sync signals to them all.
all 3 osd signals simply connected in parallel.

a screenshoot from of several car drive tests I did.
EB85 on top row
UNIT2 several different GPS units swapped after each drive test
EM406 on the bottom row
you see different trip and home distance, perfectly normal, the car moves at 78kmh,
all 3 GPS updates are free running (not in sync with each other)
and they have different update speed like 1Hz to 5Hz.


EM406 EM406A have this pin out, pin 6 is gray and not used.

Connections made nice and easy with my little connect and protect board.
Differences between the EM-406 EM-406A EM-411 Engine Boards:
EM-406 PIN #3=RX & PIN #4=TX
EM-406a PIN #3=RX & PIN#4=TX (has 1PPS output on header pin #6)


This little protection board I have designed to protect the GPS in case connector is plugged into some wrong ports.
Here is how to solder the 4 wires to the GPS and how to match them so they fit the OSD:
We normally use, black, red, yellow, blue, on the OSD
The GPS wires first: black to black, red to red, white to yellow, green to blue

A capacitor can be added, cap + on the orange wire, stores position and settings, so you can enjoy ultra fast re-aquire times,
if you need to cycle the power during plane startup and test of stuff.
I secured it all with hot melt glue arround the white cable before heatshrink wrapping it all.

The battery current usage:
4.5V = 6.63uA, 4.0V = 6.50uA, 3.5V = 6.38uA, 2.5V = 6.14uA, 2.0V = 6.02uA GPS power off.
The Backup voltage is internally connected to VCC via a diode, so it is easy to charge a supercap if more time is needed.


TWEAKS TINY GPS (IF3302) LS20033 WIRES for OSD and 10 mins backup

The Tiny GPS LS20033 is designed for 3-4V supply NOT 5V as supplied from OSD version 2.00 to 2.04 (note wire colors in each end of the cable)
The latest OSD 2.05 will supply 4V to GPS units, so in that case you dont need this mod (maybe only the backup)
The orange capacitor is 470uF 4V tantalum oxi cap from AVX, the thin green wire is soldered to GND.

Closer look at the two 1N4848 diodes, gray wire is +3 to +4 volt supply.
I added some heat melt glue onto all this, before heat shrinkring was applied, remember to test first :-)

Ready for plane install, I always use velcro to hold small items.

This type of GPS module is actually quite impressive in short sat lock time, even indoor near a window, it is 2-3 mins.
Outdoor with much more sky it will be 1 min to 3-5 sats.
The backup capacitor (470uF) will hold position data for 10 minutes, so next flight can be done without the need of waitning 1-2 mins.
if you know me, 1-2 mins is a life time of waitning, for many more "normal people it is not problem at all :-)
Note: this GPS needs power on pin 1 and 6 to work, if your OSD is HW version 2.05 simply connect pin 1 and 6 in parallel to +4V from OSD and dont add the backup capacitor.


TROUBLE SHOOTING, FAQ, copy of emails that could help others:

I see no init string default for my new tiny IF3302 GPS unit in the OSD configuration software.
how do I initialize this GPS ?

The IF3302 GPS is 100% compatible with EB85 commands, so simply select this GPS init string
you need at least 9600 BAUD (this is the default of this GPS type) if you dont need to use other GPS units -
remove all other BAUD rates from the list. this will make OSD boot faster and write less crap chars during boot up.


The only way I could get a reasonable altitude on the ground was to let it display altitude above sea level
(not make it zero the alititude on power-up, which kept saying about 400 ft on the ground).
Now the altitude is within 0-30 ft of true.

The EB85 know to be really wierd off position and wierd off in height just after lock,
if your min sat value is too low and extra wait is too low, the OSD system will store and use
those wrong positions and values, and exactly this will problem happens.
solution: increase both values until you have a working system. and your zero height works,
I suggest 5-7 sats and 10-20 sec wait.


when I plugged a battery lead into the "auxiliary" input, it only displayed a symbol,
not the numerical voltage. But plugging it into the "volt2" input works fine.

Simply use the OSD config sw to change this to the wanted mode.


it sometimes takes ten minutes or more to find satellites, which means,
since that uses up a lot of your battery while you wait, you may want to use a bigger battery.
On the other hand, sometimes it can find its satellites within three minutes or less.

simply add a tiny coin cell 3V to the EB85 to solve this issue, now it is only troubling you once a day,
the first time, even that is now much faster. Orange wire at the edge of connector is the +3 to +5V input from battery.
Also Keep all transmitters far away from GPS at first powerup,
and try to power off your video tx will help alot on first lock times,
and keep plane/gps still while it looks for lock, and make it see as much sky as possible.


Is it possible to adjust the display brightness to reduce the black behind the white display ?

YES, and actually a good idea too. We found out it was a bit too dark and a bit too white
on some of the erly versions 1.15 for some peoples taste.
How to adjust the 1.15 OSD board version:
Open OSD save label so you can pack it again, find R6, it is close to the video connector J1 txt
read the value ? I guess it is 270 ohm, this set the black level, change to 330 ohm, (our new standard value)
or even 470 ohm if you like it to be weaker
The resistor on the back of the board, a track is cut and 270 ohm soldered in, sets the WHITE level,
please change this to 330 ohm, (our new standard value) or 470 ohm if you like the white to be weaker.
The resistors you need is 0603 size.

The current sensor, when i don't put battery on the current sensor,
and when I know I dont use any current thru the current sensor,
It still measure amps, is this normal ?

Yes this is normal, adjust the zero ofset adjustment using OSD config will solve it,
We are using a "center" value for the zero that will work for most sensors,
however some can be a bit off with the zero value, this is ok and normal.
the GAIN value you dont have to change normally, except if you use compleetly different sensor type.


My problem is that GPS EB85 gets jammed by KX151

you can not mount the KX151/KX131 close to any GPS unit !
those cams radiate EMI radio waves that will jamm a GPS receiver.
I suggest try with 30-50cm distance if that possible
in my planes I mount GPS units 50-100cm away from cams and tx units and other electronic boards.


LOOPBACK TEST to prove USB interface and USB drivers installed and working

Only perform a loopback test when you can not connect to OSD at all,
this will isolate the problem to only USB interface and USB drivers.

1. Connect TX/RX wires on the USB cord. These are the white and green wires. Connect them together.
the RX/TX pins can be shorted using a paper clip or a piece of wire.
2. Connect USB to computer
3. Do this test:

After you modify the usb interface cable as directed, you can perform the loopback test.

Launch HyperTerminal by selecting Start»Programs»Accessories»Communications»HyperTerminal.

Create a session by giving it a name and press OK. The example below shows the name Loopback Test.

Select the virtual COM port from the drop-down list and press OK.
In case you dont know which one to choose, simply disconnect the USB interface, and try again, now the right one is gone from the list
if no change in the list, you have a driver install problem.

Select the serial properties shown below and press OK.

You will see the terminal window as shown below. If your serial port is working and the loopback cable is properly connected, the text you type appears in the window. If you remove the cable and type text, it should not appear in this window. If this test behaves differently than described here, see the troubleshooting advice at the end of this section.
If the loopback test is successful, it indicates that your serial port is functional and you can send and receive data through that port.

In case loopback dont work: goto FTDI and get the latest drivers for your kind of opperating system.
Any other com port program will also be fine to use for this loopback test.


I did not bother to dig all the stuff down, only the GPS to the right is mounted perfectly on that plane.

I pointed the cam down so I hope to be able to see more ground than sky, when flying straight.

I placed all the different units so they will keep the wing in exact the same balance as before,
and kept receivers together, and transmitter close to other noisy things like powersupply and motor regulator,
this way I will minimize disturbance.

I tried to maintain a low constrution height, and the tape will help lowering the wind load a bit,
This wing was constructed a few years ago, made special light and nice overpowered, normally it will go straight up !
it fly well and handle the extra weight fine it is almost impossible to fell the difference.

Thomas Scherrer OZ2CPU, updated January 9 2009