|
|||||
|
Build Log
A poor man's OSD , REMZIBI OSD
A new web side is created as brief of latest information :
http://sites.google.com/site/remzibiosd/ To get OSD please PM me or send me email . remzibi11#poczta.onet.pl (exchange # for @) ----------------------------------------------------------------------------------- Lastly I start to play with FPV so it is I really like . I like to show the small OSD project I made just within 2 weeks when I got the max7456 osd chips as samples , all in free time . Here is the road test I did few days ago:
As on picture - it show really good altitude(no drift) and distance to home and speed , at condition that more then 7 satellites are seen . Direction is also OK (now fixed to show more accurate) , H is home and N is north . Now the software is more improved and working well , still on development , but present version is fully working now . All info is on the sky area as I think that earth is much more important to view . As main uPC is Atmel Atmega16 - there is no problem to use Atmega168 but as Atmega32 is pin compatible for any future use , it remain Atmega16 as main uPC. All soft was wrote in Bascom because of very fast coding and easy debugging . I am still waiting for miniature GPS module - as for now I use a big car module just for testing purposes . Looks like the max OSD chip is very nice and easy to use for home made projects . The forum with development story not existing any more. EDIT After some software improvement , here is a sample how OSD can looks like and how is working
For those who do not want to read all this thread (become really long) - here is a brief information about this OSD project . Also more is here in "english" most actual - http://sites.google.com/site/remzibiosd/ and Paul's (Happykillmore) web side http://www.happykillmore.com/Softwar...p?LANG=English At first word I like to thank for all who helped me with this project . That project was born by two accidents - first I had lost in air and crash model , second I ordered OSD samples from maxim and when they arrive at evening for fun I wrote small software for display some letters on TV . After that I thought about need for nice , light-weight , small and cheap OSD unit , so that is it . Project is under TAPR open hardware licence - so first download and read LICENCE file . In one word - any manufacturing and sales without permission of author is not allowed . I do not sale on ebay . OSD unit must be fully controlled by user regards to showed information , screen interface layout and message labels . As many living projects , must be easly software updated by end user , new or alternate software as well as OSD chip character/semi-graphics also configurable . For that need the communication USB-uart device is included (called USB cable) . To meet the cheap requirement , for now are not used any current sensor , the voltage indicators only . In future that can be changed and more sensors can be added (some free inputs are left) . Final price must be around 100$-120$ including all set (OSD unit , GPS module , USB communication unit) , what is done . Unit must proper work with any GPS module with any fix update (1-5Hz) and communication speed automatically detected . If anyone decide to build the unit by his self it is also possible what was proven by our friend who had printed board only and successfully finished his device adding all parts and chips . Few words about GPS behavior and mounting are here https://www.rcgroups.com/forums/show...postcount=3500 The hardware base is MAX7456 OSD chip controlled by micro controller MEGA16 by SPI bus , GPS module connected to unit provide all needed information about latitude , longitude, speed , altitude etc. , on that information and saved Home position , the main information like Home-course and Home-distance is calculated , what help any pilot to return home during flight - what is a main function of this OSD . I didn't want to occupied any RC channel (I have simple RC TX) , so for work OSD do not need any of them (possible use with any 3 and 4 channel simple radioTX) , there is only one switch/button on OSD unit , used to Home position save , the other function of this button is to change video mode from NTSC to PAL and PAL to NTSC , this modes are difference with screen grid resolution NTSC-30x12 PAL-30x16 and must correspond with video camera we use in video system . The video mode is saved with first Home position save and OSD start(after power-on) with selected(last saved) video mode . All screen layout configurations/calibration changes can be done on PC computer and then programmed into OSD unit by communication USB device . Software for this is still in development . Schema and software files are available for download . Technical data : - Supply power : 7V-14V (ex. lipol 2S - 3S) - video voltage measurement range 0-15V - engine(ENG) voltage measurement range 0-30V - general purpose ADC measurement range - any range depended from resistor dividers or used opamps . - Video signals - standard PAL or NTSC (both working very well) - GPS - any GPS 5V supply with NMEA protocol with TLL standard TX RX signals (however best results and advantages are with dedicated GPS module working 5Hz update position) - weight : 16 gram (OSD + dedicated GPS) - printed board size 20mmx45mm Functionality : - easy PC connection for configuration/calibration purposes using dedicated PC program (HappyKillmore's exelent work) - no RC channel occupation for proper work in air - GPS detection and configuration automatically (configuration commands fully editable) - auto "save home" function configurable , depends of sat number , button "save home" works independently - metric(km/h) or feet(mil/h) units - configurable - zero altitude to airfield level - configurable (absolute or relative) - fully configurable screen layout - graphical symbols and fonts configurable (possible exotic languages , fully editable font table) - voltages calibration function and all ADC inputs including alarms - frequency calibration for Hz or RPM or whatever else we want to use this input T0 button function - save home position (short click) (work only when GPS is detected) - video mode change (NTSC or PAL) press and hold button for about 1 second (work only when GPS is detected) - configuration mode (pressed and hold button then connect power and relese button , font pattern on screen will appear) for USB communicate show information DONE : - latitude (format DDMM.MMMM or DD.DDDDDD can be selected) - longitude (format DDMM.MMMM or DD.DDDDDD can be selected) - speed (k/m or miles/h can be selected) - altitude (meters or feet) - to-home course (animated arrow or whatever else animation definable by user) - to-home distance (meters or feet) - satellite quantity - video battery voltage (individually scaled and calibrated) - main battery voltage (individually scaled and calibrated) - flight timer - variometer (meters/s or feet/s) - UTC Time - UTC Date - alarms for distance , ADC , altitude , battery voltages (individually scaled and calibrated) - 32 static displayed independent graphical-character symbols , configurable - after detection 0 speed for configurable X seconds , shows maximal values for altitude , distance , speed , function can be switched off - 6 ADC channels to use with any additional sensors , each ca be individually calibrate and alarm set , cooperate with any additional sensors (optionally scaled by opamp or resistor dividers) with analog output (RSSI , air pressure, current sensor , temperature , whatever else with analog output) , display format as 123 or 123.4 can be selected - frequency meter (RCl input resistor need 220-515ohm or T0 in new board) - can be scaled for any units by gain as Hz or RPM , cooperate with magnetic(hallotron) or optical sensor - or can be used as frames counter when connected to RX output directly - OSD have support for $M custom messages - for those who want to display his own text or fonts(graphics) anywhere at display , $M can be transmitted between $GPGGA and $GPRMC GPS strings by "your device" - since 1_77 firmware GPS configuration support MTK as strings and Ublox as binary GPS modules Every displayed information can be placed everywhere on screen layout , can be on or off , has definable leading character(or picture) and ending character(or picture) All configuration is done by PC configuration program (GUI) wrote by HappyKillomore (great job ![]() - firmware version (IMUxx) for cooperation with Ardupilot or whatever external devices also graphical presentation of artificial horizon and pitch, or pitch+roll mixed (that firmware keep all advantages of regular OSD as ADCs , custom graphics , $Mxxxxx custom messages to display any text you want . Added PC program to test OSD behavior - emulating any kind of "your" device . - version of firmware supporting external devices cooperation using custom protocol (described in readme.txt) , here is very good thread done by HappyKillmore about integration with Ardupilot - https://www.rcgroups.com/forums/show....php?t=1234310 - firmware version for MultiWiiCopter(MWC) Artificial Horizon show and navigation and thread about - https://www.rcgroups.com/forums/show...9#post19696099 - work with FY30A stabilizer , it provide AH data so remzibiOSD can display Artificial Horizon based on those data . Firmware for OSD to dowload here https://www.rcgroups.com/forums/show...postcount=4099 - work with FY21AP and FY31AP autopilot , remzibiOSD serve as display for FY21AP data. Firmware for OSD to dowload here https://www.rcgroups.com/forums/show...postcount=4097 - telemetry data downlink, based on reading on screen data, it is very nice project, worth to see. https://www.rcgroups.com/forums/show....php?t=1560086 TO DO - MAVlink implementation to work with APM2 - any ideas in future A very nice telemetry project made by user "psykokwak" - Generic OSD telemetry using OCR Technology for logging and antenna tracking worth to see - https://www.rcgroups.com/forums/show....php?t=1560086 Configuration program can be downloaded here - http://www.happykillmore.com/Softwar...etup/Setup.exe so anyone who want to play with OSD ability can simply install it and try even without OSD . Here is the help web side remzibiosd.happykillmore.com http://www.happykillmore.com/Softwar...p?LANG=English - still in development All new version of PC software are simply updated by internet , include new OSD firmware files as well as new Font files and eeprom (BIN) , USB drivers etc. . Also latest firmware are available to download from this post . Here is Wiki web side done by Micronics http://remzibiosd.mictronics.de/ including lot of useful information. Here is the thread with some more technical information and tips (like connecting current sensors , temperature sensors , RPM sensors etc.) done by me - http://rc-cam.pl/viewtopic.php?p=32498#32498 A new web side is created here as brief of latest information : http://sites.google.com/site/remzibiosd/ Connection of RC and Video system schema is like that , optional GND connection many times help to increase RC range but must be verified experimentaly : POWER - supply power for OSD - voltage on this input is measured automatically ENG - input for main(additional) battery voltage measurement Video IN/OUT self explained The assembled OSD unit looks like that (old board) : ![]() ![]() New board type looks like that (this one is available now) : ![]() OSD is available to purchase as complete set include OSD , GPS and USB cable plus all additional cables needed for basic work (power supply , Video in/out , ENG voltage measure) . Also as separate parts ex. OSD only without GPS . For now set price is around 70EUR but that can be changed depends from material and other costs (stupid taxes etc.). Set looks like that : ![]() Latest firmwares and other files : USB drivers complete for all kind of cables depend of label on it - Prolific for XP, Prolific for Vista and win7, OTi, ArkMicro, MCCI all here https://sites.google.com/site/remzibiosd/7-dowloads When you have driver problems under Vista win7 64bit - you can run virtual machine with installed regular winXP 32bit on your PC from Microsoft . here is the link http://www.microsoft.com/windows/vir...c/default.aspx Some of basic type Win system not allow to use those MS virtual machine , so you can use a very good virtual machine named VMware http://www.vmware.com/ - what in my opinion is very nice solution , allow to run any winXP, Linux or even MACOS on your PC . That is general solution for any driver-software problems under 64bit win systems . UPDATE 28.09.2011 firmware OSDv1_79.hex for regular OSD . And firmware named OSDofv1_79.hex - is the same as 1_79 except that is possible to ON/OFF (that name "of" ) OSD layout using as trigger alarm of ADC5. OSD on/off layout function as ADC5 alarm trigger , do not use it when you don't want to use on/off OSD screen ability (ADC5 must be connected) , as OSD can accidentally "on" or "off" layout during flight . (Update 20.01.2011)OSD for cooperation with external devices ARDUV1_71.hex (as Ardupilot or whatever your design) using simple $A,,,, protocol of data delivery on UART RX pin (read readme.txt for details) , also ARDUmV1_71.hex firmware exactly the same but Artifical Horizon is mixed pitch+roll (that way "m" letter in file name) - so one Horizone bar is moving on sreen . (Update 28.09.2011)ARDUV1_72.zip , ARDUV1_72 and ARDUmV1_72 in one zip - the same as 1_71 but possible to write from GUI BIN file for regular OSD , firmware respond for VER as number 1.72 - so no errors . (Update 01.10.2011)ARDUV1_73.zip , ARDUV1_73 and ARDUmV1_73 in one zip file - in this firmware Custom Message have new format $M,x,y,L,E,text, - it is much more handfull for any kind of Arduino IDE to manage sending , all variables are send as tostrig type , not need to carry about HEX format any more . (Update 01.10.2011)PC program IMU_sim 1.06 for testing all that protocols on live connected OSD to any COM PC port using USB cable . ----------- Also initial BIN file(eeprom) including OSD layout , ADC and other settings 1_62_test_PAL.zip and some other older (for reference and experiments) samples of BIN Files.zip Initial font file for MAX chip (based on -mi- user design) 1_60_font.zip For hardware tips and problems please read this post https://www.rcgroups.com/forums/show...postcount=3593 FilesView all Files in thread
|
||||
|
Last edited by remzibi; Sep 29, 2014 at 06:56 PM.
|
||||
|
|
|
|
Today i've got a small , miniature GPS module , it was working at once after conection , so theory meets with practice
![]() ![]() ![]() All system working now with any GPS units with any boud rate and any update frequency 1Hz till 5Hz , also it not need to made any additional config of GPS data stream - it must have any stream but must included both GPGGA and GPRMC . Later todo is play with MTK GPS modules and their comands for stream and data config . I hope to improve frequency by that . |
|
|
|
|
|
I like your project it has given me some idea's
I've been using Pic16f876 on my RC boat project. You have almost got me to switch mega16 or 32. with Bascom . My boat project is not only to give me the GPS locations but the depth of the water under the boat. I'm doing bottom contours of ponds and lakes in my local area. I've been doing them now for 12 years. Now I'm divided the ponds in 5 of 15 ft. slices, the width of it. I have to put stakes out to mark the slices. I need to get to a GPS system I hope by next spring I'll have it up and running. right now I limit myself to a 2 acres of water. with the new setup I could do 10 acres. There is one 7 acre stone quarry to do when I can. It will be a good test Its up to 90 ft deep and it has a train in it. with 2 islands. Right now I can read a GPS module and get $GPRMC and process it. I need to get the micro to do distance and degrees to home in it self. I don't want to do a way point in a GPS unit and have it tell me that info. to Do these ponds I'll have to run the boat around the side of the shore line and around islands. and then It will do a pattern to cover the rest of the water area. It need a return home when the battery get low. All the data will be stored in a memory stick for a logger. A lot of the ponds are remote and I have to walk in. Don't want to carry much gear. The video link will be to my car park a distance away, with a high gain antenna on 2.4Ghz. The boat will have 100mw to 5 watts of video power. It will be on the Ham frequency. The audio part of the link will relay the GPS data/depth to my laptop in the car. Charles |
|
|
|
|||
|
Quote:
![]() ![]() it provide better position stability , probably for reason of solid external antena . This are conclusion I've got from comparing that two modules - new are small, light , fast and some drift in position - old are big , heavy , slow but very precise for position indication Quote:
![]() |
||
|
|||
|
|
|
Right now I'm using a ISM300F1-C4 GPS Module from Invertek Systems.
Its a SiRF Star III 20-channel GPS . My app. doesn't need to be real very precise for position. We do use a external antenna with preamp in the antenna. The GPS module can lock in 30 seconds from first powered up , from inside our house. I'm not good writing code in C++ or any C as far as that goes. We do write a lot of Java script and VB6 code. That's why I leaning to Bascom basic. The mega16 or 32 will have enough speed and code space . We have the code in a VB6 program for the distance and angle math. It not to bad. I'll be using the simple math (Planar Flat plane ) that don't need to take in to account of the earth curve . I do make all my own PC boards so it easy to make a cpu project. The 200khz depth sounder board will take more time than the cpu board. The IC chip we used in the past isn't made any more. I'm thinking of using the cpu for both process. That would only require me to build a 1200khz sender and a receiver with a blanking circuit. Charles |
|
Last edited by Charles B; Sep 12, 2008 at 12:57 PM.
|
|
|
|
At last , the board project is ready .
23x43mm , small - isn't it ? ![]() There are ISP signals outed on pads and all ADC for possible future use . Uart also can be used for any easy software updates using any com interface or mobile phone USB cables , bootloader will be preprogramed . ![]() So far so good ![]() In home project forum was huge talk about show the position deg or not in case when model escaping . Finally , two versions of software ready , with showed position and without . However now the new work is in progress - software for user-configurable layout - with user-cofigurable software on PC . |
|
Last edited by remzibi; Jul 29, 2011 at 10:51 AM.
|
|
|
|
Hey,
I've always wanted to make my own OSD. After seeing your thread, I got some MAX7456 samples and got a working OSD for less than $20! Right now it doesn't do anything, just displays "Hello World", but I will be adding battery voltage and plugging my GPS in soon! ![]() Have you managed to overwrite the EEPROM characters for custom graphics? I think the 7457 has huge potential for building graphical gauges, icons and so on! Cheers! -Z- |
|
|
|
|
|
Nice looking board Remzibi !
It looks like your using mega168. I take it your using C+ for the program. I downloaded the WIZ-C compiler last week and I learning to do C+ now. I never made a C+ program before but they have a good Tutor. I like it a lot because of the 24 external hardware devices you can emulate , from I2C to LEDs , switches and signal generators and terminals. I've been playing with different hardware to get so I'm better with the software. This week I got it so I can read my GPS NMEA message and strip the different strings out of the message. One step at a time. Were using the Pic16F876A chip now. Got to watch it on my Variable RAM space . We only have 386 byte locations. I'll change my CPU to a Pic18F2550 next week or so It will have USB port and a boot loader on it. It has alot more RAM and program space. Please keep us informed on you progress. Looking Good ! Question! Are you going to use the GPGSV message to read the Satellites SNR of the first 4 Satellites ? Is you program going to store its own way point for the start location or are you going to store that point in the GPS receiver ? Charles |
|
|
|
||||
|
Quote:
![]() ![]() Quote:
Quote:
Till now I was focused for working main algo - now it is possible to made any graphical improvement , also waitpoints and maybe some auto return or whatever in future . |
|||
|
Last edited by remzibi; Sep 27, 2008 at 11:43 AM.
|
|||
|
|||||
|
Quote:
![]() Quote:
I wrote all in bascom - however now when all algos works is possible to rewrite it on C or ASM . I recommend you to start with bascom (at least for quick checking of program parts and functions) as you mentioned that in past you had use basic - that will help you a lot . Quote:
Quote:
|
||||
|
Last edited by remzibi; Sep 27, 2008 at 11:09 AM.
|
||||
|
|
|
About 2 weeks ago I download the Bascom-ARV program and it didn't work
like I though it should. It didn't give me any error in the basic program I put even though it did have some. We I opened one of there programs and put errors into the program it would compile with no errors ? When I went into the test debug mode it would lock up on me. There was some thing wrong. It did the same thing even after a second install. So I just gave up. Today I redown loaded the program from another site and this time all is well. Bascom do have more commands than WIZ-C . WIZ-C has better external devices and more of them for debug. I do also use the GPRMC AND GPGGA STRINGS How much memory did you use for your program ? If its over 4K bytes I'll need to find the lowest price for the Bascom full version. Do you plain to sell the board by it self ? or kit it ? I'll still want and have to write my own code. Just because I like to write code. I can get the mega168 for $5.32 and the MAX7456 for $20 . From WWW.NEWARK.COM I take it your using the built in Boot Loader and serial interface ? Are you planing to use a DS/MMC memory stick ? Thats one item I need in my project. If not I can make my own board. I never programmed a ATMel device. What program do you use to do the download to the boot loader ? Can you explan the process in just a few words. It's a shame that Bascom don't have it for the Pic processors. Charles |
|
Last edited by Charles B; Sep 27, 2008 at 09:28 PM.
|
|
||
|
Quote:
When and if , it will be avaliable for sale then only as hardware platform assembled (uC+max) or semi assembled(uC without max) or maybe kit board - we will see . Software will be avaliable in few versions here or on web side created for this project - we will see . Maybe there will some peoples who write better and nicer software for that hardware platform ? ![]() As possible price - surly around or less 90USD(fully assembled , kit less) , about 130USD or less with GPS receiver included (MTK chipset 25x25mm dimension) - that prices is only my first idea but in practice they can be only smaller that sample above . When ? probably within 2-3 weeks I should have the boards . |
|
|
||
Thread Tools | |
Similar Threads | |||||
Category | Thread | Thread Starter | Forum | Replies | Last Post |
Poor Man's Heat Shrink for Homemade Battery Packs... | flytowner | Parkflyers | 28 | Mar 13, 2010 12:45 AM | |
Poor man's Helistar | Iain | Micro Helis | 25 | Dec 01, 2005 07:15 AM | |
What to do? W/lb of poor man's F5B (long post) | 96S14 | High Performance | 14 | Sep 29, 2003 03:02 PM | |
Poor man's Super Slow Stick fun flyer? | uglyplane | Parkflyers | 1 | Jul 03, 2003 11:54 AM | |
Kyosho 180 Poor Man's Power Fix??? | Don Sims | Electric Plane Talk | 41 | May 12, 2001 09:23 PM |