View Single Post
Old Feb 22, 2013, 08:27 AM
MelihK is offline
Find More Posts by MelihK
MelihK's Avatar
United Kingdom, England, Canterbury
Joined May 2008
1,371 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