Arduino + MAX7456 OSD

Your video looks great. I've been off on a two week vacation (sans computers) so I was surprised by the activity and what you have done with your OSD MAX7456.

I will try and post some more code in the next week. Though I have never done one before, I suppose I should look into putting together a MAX7456 library.

That would make it easier for everybody to use.

dfraser

Well work finally let up enough for me to finish up this last MAX7456 util. This sketch allows you to use the MAX7456 Eval software 'Display Memory File Builder' function. With it you can quickly create a screen, with attributes, like blink, invert and background and then upload that to the Arduino + MAX7456. It is very useful if you are using border or underline graphic characters.

(Make sure that the mcm file referenced by the mdm file is in fact the one MAX7456 NVram uses. Please see the MAX7456_font software above.)

Selecting a character

Setting character attributes

Final display (though it doesn't show in the picture, the word 'TEST' is blinking on and off)

Here is a zip file with the sketch code, the mdm test file and a copy of the arduino.mcm file.
http://home.comcast.net/~ds-fraser/forumimages/mdm_arduino.zip

I hope that this will be of some use to people playing with the Arduino + MAX7456 OSD.

dfraser

Awesome! This should be very useful, thanks for the work!

Hi.

I have made an OSD using the MAX chip. The Max chip is connected to a ATMega168 and I'm using the whole system to display an scale overlay on the rear-view camera monitor in my car. The goal is to display the distance from objects, when parking, on the rear-view monitor.
So far I have succeeded in showing information on the monitor using the max chip.
What I need to do is customize the character set to make some custom graphics that I need.
I think that you guys can help me out on this.

Is there anyway that I can use the above mentioned programs to program my ATmega168 so that it can burn the custom graphics into the MAX chip?

The board that I'm using has a built in serial port connection using a MAX232 chip.

Can someone please make a small step by step tutorial on how I would go about using the above files with my setup?

Excuse me for the long post and all the newbie questions :-[

Well, if your ATMega168 talks to the MAX7456 via SPI (which if would have to do to display characters) then yes it should be possible to set it up to change the MAX7456's eeprom set. Having said that I would need to know much more info about your board.

dfraser

Hey thanks for replying. What info do you need about my board. I would be more than happy to tell you. :slight_smile:

Well to cut through all the back and forth on this, there are a couple of ways to proceed.

The easiest (and best) would be to get an Arduino + Proto shield and put together a setup like the ones described here. Then down load the MCM burning code and away you go.

If your MAX7456 is not on a daughter card, then you could still use the Arduino to burn a modified version of the MCM sketch to work with your board (ie changed SPI & serial pin numbers, clock speed, etc). Swap the Arduino 168 with yours and program the 7456.

If your 168 is not a socket dip, I suppose you could try in circuit programming, if your system allows it, again with a modified MCM sketch.

The sketch code for changing the 7456 eeprom is nothing terribly complex and could be rewritten in straight 'C' to make it more generic.

If none of the above seems workable then I'm at a loss and not sure what to tell you.

I'm afraid, as only you know how you built this system, only you can tell which technique would be the best to use.

dfraser

Ok. Let me get his straight.

  1. I have to get an arduino board and connect it to my MAX7456 board via the SPI interface
  2. I then upload the sketch to the arduino board using the Arduino UI and run it
  3. After that I use hyper terminal to send the MCM code to the arduino which in turn decodes it and sends it to the MAX7456 for burning
  4. What protocol do you use to send the file from hyper terminal ?
  5. Will any arduino board do, or do I have to get a certain model?

Please feel free to fill in the dark spots

Regards and thanks for your time

Hey this nice! There are definitely some Amateur Television (ham radio) applications for this!

Hey this nice! There are definitely some Amateur Television (ham radio) applications for this!

Sure are - the price for an ATV video overlay board borders on obscene. I figure for the price and size of the last one we bought, the GPS should have been thrown in there, too.

There are general purpose display opportunities, too. According to the datasheet the MAX7456 can generate output without an input signal. This could allow some interesting display capabilities (although probably monochromatic).

My Sparkfun order arrived today, and the Digikey order should arrive in a couple of days. Then I'll have all the parts I need to get started playing.

-j

  1. I have to get an arduino board and connect it to my MAX7456 board via the SPI interface
  2. I then upload the sketch to the arduino board using the Arduino UI and run it
  3. After that I use hyper terminal to send the MCM code to the arduino which in turn decodes it and sends it to the MAX7456 for burning
  4. What protocol do you use to send the file from hyper terminal ?
  5. Will any arduino board do, or do I have to get a certain model?

This is exactly correct. I know this seems like a rather lot of work to go through but you only have to do once per MAX7456.

While you don't have to do this with an Arduino it is the easiest way. Down load the Maxim evaluation kit software, this will allow you to modify your MCM file (really just a big text file) and add any custom characters you want. You could start with the MCM file I made (see Reply #8), it has the proper ascii order and a lot of blank space.

With HyperTerminal you use the option 'Send Text File' in uploading.

Yes any arduino type board should be fine, I've use both an Arduino Diecimila and a NKC Freeduino. I suppose I would recommend buying a 'real' Arduino for the few dollars more. It helps support the cause.

Good luck
dfraser

OK. one more question. In the "send text file" option there is also a protocol drop down list. Which protocol do you select?

Under 'Send File' there is a protocol selection (XModem, YModem, ZModem, etc), under 'Send Text File' you just select which file you wish to send. Defaults to type 'txt' change that to type 'mcm'.

dfraser

OK. Thanks, I'll try it out as soon as my arduino comes in and post the results of my OSD

I need to find a good SSOP to DIP breakout board for the 7456. I got the one sold by Sparkfun but they have vias under the part and the 7456 has a ground pad underneath. I don't know why they do that. Can anyone point me to a good breakout board?
Thanks.

For what it's worth, I've used 4 of the Sparkfun breakout boards with the MAX7456 without any problem. They do have a solder mask so it may isolate the traces from the ground plane. Anyway they have all been running for about a year now.

dfraser

I was just concerned because the data sheet warns against running traces under the part. I don't know why they decided to run the part sideways and put vias under it but i'm sure they had a reason. I'll give it a try if I can't find a breakout board with nothing under the part, but if I can find a clean board, I would rather do that just to be sure.

Maybe this is of help, at least cheaper than Sparkfun: http://cgi.ebay.com/5-pcs-SOIC-SSOP-28-surface-mount-PCB-adaptor_W0QQitemZ370116537300QQihZ024QQ

Those look noticeably worse than Sparkfun in terms of via problems.

I put together a MAX7456 on one of the Sparkfun boards last night - no problems so far. The chip does seem to run warm, so for a dedicated PCB I would pay attention to the datasheet when doing the layout.

-j

Ok, i guess i'll give it a try. I'll solder this puppy up this weekend. Thanks!