SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By tapsemi
#13444
I am planning to build a simple digital photo frame with the following characterstics:
1) Read jpeg photos directly from CF/SD cards and display them.
2) Have a 4" x 6" color LCD display.

Thats it, I don't need any other feature. Can anyone guide me with what type of microcontroller and chips would be needed and where I can get a cheap 4" x 6" color LCD and how to interface it. Thanks in advance.
By Jay Kominek
#13448
Feeding a 640x480 image to an LCD at 60Hz will require a pixel clock of 18.4MHz. The same image, in 24 bit RGB, will consume about 900kB of space uncompressed. You'll need some sort of separate LCD controller.

Also, JPEG decompression is complicated enough that fitting it into a microcontroller would be a challenge in and of itself.

Take a look at this guy's page. He has made some digital picture frames and roughly describes the hardware involved.
By tapsemi
#13451
Thanks for the link. It is very informative but unfortunately he doesn't provide any schematics or relevant information for free.

Now comming back, if I need to display a 640x480 image, why should I need to do a 60Hz refresh rate, I believe I don't need to show video, only still pictures and hence I can use a much slower clock. Also I saw in one of his project he is using a Sharp LH79520 ARM7 microcontroller with 2Mb SDRAM and 1Mb flash. Will this type of microcontroller be able to fetch data directly from the memory card, decompress, down sample the image(in case it is of high resolution say 2048x1920) and then deliver it to the LCD. Do I need 2 RAMs, one for decompression and another for the video display? Sorry for these naive questions, but I am really looking to do this project. Thanks.
By Vraz
#13458
The 60hz refresh issue is likely a function of the LCD. If you are using a regular LCD display with a VGA style (raster scan) interface than you will need to repeatedly send the image to the display (just like a video card does to a monitor). On the other hand, if the LCD has an integrated controller which accepts image data (you send it pixel data), you will only need to download it once (and then the controller does the image refresh).

In terms of RAM, it depends on the size of the source file and the size of the frame buffer. The frame buffer will likely be the larger buffer and depends on the size and resolution of the image. A 640x480 8-bit image requires around 320K. At 16-bit color depth, you need double that. 2M is plenty for the JPEG decoder, source image and frame buffer.

Most any 32-bit microcontroller can implement JPEG decoding though it will typically be slow due to use of fixed-point math. Implementing a JPEG decoder from scratch is a complicated project. Porting something like libjpeg is easier, though the code is gross and would still be challenging to get running on a microcontroller due to its memory allocation usage.
By Philba
#13464
do you have a cost target? What about size?

there are some sbcs with VGA out there that run linux plus a cheap LCD panel. might run a couple hundred dollars total.

I have an old I-Opener that could probably do it. they come up on ebay cheap every now and then.

there may be other surplus platforms that could be hacked. Even old notebook computers are plenty fast for this.

As people have said, microcontrollers are not exactly the best fit for this application.
By tapsemi
#13466
Ok here is my naive way to calculate cost target. My initial target is $100. How? First, I figured a cheap dvd palyer that contains mpeg2 video + audio decoder + additional circuits and mechanical parts, is available for $25 at walmart.

Next, the lcd screen, I believe will be the costliest and my target is $40. How? I can get a cheap portable dvd player for $79 at walmart. I believe the LCD panel shouldn't cost more than $30 in those products.

Hence, doing a sloppy calculation, I assign $30 for the electronics part +$40 for the lcd + $30 for miscellaneous expenses = $100. Please critique me.
By transcendentnb2
#13478
Wow, you're not a manager somewhere, are you?

Hacking into a DVD player may be plausable and stripping it for parts may too, but you're kind of setting yourself to be up the creek without a paddle. Were you going to try to overwrite the embedded system in the DVD player? Or how were you going to use its parts? Unsolder them and put them in your own circuit? What if you can't? Do you know what parts are going to be in there? What if you can't find any documentation on them (proprietary or the company is just mean)?

If you're buying a portable DVD player, some already come with picture-show capabilities too...

I don't get your calculation anyway. You're spending $80 on the portable DVD player but only counting $40 of that? I'm trying to understand how you only think you need those few devices plus a handful of cheap electronics. What did you have in mind for the final implementation?
By Jay Kominek
#13483
transcendentnb2 wrote:I don't get your calculation anyway. You're spending $80 on the portable DVD player but only counting $40 of that? I'm trying to understand how you only think you need those few devices plus a handful of cheap electronics. What did you have in mind for the final implementation?
One of us has horribly misunderstood his post. I think he was just using those prices as examples of what the components should cost if he goes and buys them separately.

tapsemi, the problem with your analysis is volume. Yes, they can make a portable DVD player for $80. Because they're making 10 million of them. Not only are the individual parts in each one cheap because of how many their buying, but they can spread the development costs (prototypes they exploded, lab equipment, etc) over so many of them.

I gave you that URL not because it had schematics, but rather to give you a sense of the complexity of the hardware involved. A digital picture frame is certainly a doable project, but not for cheaper than you can buy one at the store.
By Philba
#13486
and, lets not forget that the chips inside those players are highly specialized for their appointed tasks and produced in enormous volumes (well beyond the DVD player model). Everything in that is ultra tuned for low cost.

I think this is a case where hacking an existing platform is the best option, especially for your target cost. there are digital picture frames that have been sold for a while. Surprise! they are hackable - http://www.heeltoe.com/software/ceiva/C ... HOWTO.html tons of them on ebay. looks like they sell for <$60. be a kernel hacker...

Phil