Take a PIC 24HJ256GP206 processor and add a dash of knock-off touchscreen and a pinch of SD card compatibility for a DIY digital picture frame. [Daniel] wrote his own driver for the HX8347 controlled LCD that can achieve 15 FPS at 320×240 resolution with 16-bit color. As this was a gift for his wife, [Daniel] included a heart-shaped ring of LEDs that fade in and out like an electronic pulse. He notes that the JPEG decoder runs rather slow but that’s mostly because of the bottleneck caused when accessing data from the SD card. We’ve got more pictures and a link to the source code after the break.
29 thoughts on “PIC Based Picture Frame”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
Would anyone happen to know what model LCD that is?
I’m working on my Senior project and I’d really like to be able to implement a nice color screen, but I can’t find one that interfaces with a PIC even remotely well.
Proudly South African! :)
The LCD was bought from one of our suppliers in ZA, you can make any LCD work from a PIC, as long as the driver is capable of addressing a pixel and changing it. Cheap/Nasty solution is the 132*132 LCD from a Nokia cellphone.
The Part number for this LCD is ET024008DHU from http://www.edtc.com/EDT/home/home.asp
JVRDesign
Microchip has one that works with their PICDEM demo boards. Also, nice find on a microchip hack!
Interfacing a display is often just a matter of understanding how to write a piece of program to control it.
http://oms.wmhost.com/lcd/zframe_clean.jpg
heh, its a PICture frame
Crystalfontz has a 320×240 3.5″ with a relativly easy interface CFAF320240F-T for a bit over $50 – there’s even one with a touch screen interface for $54 that I’m doing a future project with – just get a sample of the AD7843 touch screen controller from Analog Devices.
That’s pretty neat, particularly that it has a JPEG decoder. Now does anybody know if it’s possible to code a JPEG encoder on an AVR microcontroller?
I hate LCDs :( Why? Because I can never get the bloody things to work. I have one lying right here on my desk just laughing at me. I must be retarded or something :(
Some cheap graphic LCDs these days don’t come with the LCD drive voltage chips on them as a lot of them have gone obsolete. You end up having to create your own negative voltage or they just won’t work. If you see empty pads on the LCD’s pcb for a chip and some caps then chances are that’s the problem.
I’d imagine whey would cause a bottle neck…it’s not so easy to interface with all the curds in there.
at first i came to make a little snarky comment on how it looks but it does look rather nice :3
Hm, might have to break out the PICkit and find a nice LCD.
Does this thing use the touch input for anything or just for display?
it uses touch (internal ADC) to change settings
Cool
I wonder how he soldere that 0.5 mm pitch SMD lcd connector?
Is it possible to achieve that kind of results with a normal solder iron?
why not add a little 1MB RAM chip as a buffer for a few of the files on the SD?
did i miss a link to a schematic?
Connector is soldered with a 3mm wide tip
I sent mike the schematic, he can upload and link if he wants.
Thanks, Good work !!!
Ive done something similar with a 18F452. There are a lot of chinese phone LCDs with a resolution of 240×320 that use the ILI9325 series controllers. here is a video http://www.youtube.com/watch?v=Yw_RO4qMYvY
Cool, I’ve been trying to get the LCD to work out of my broken down ipaq but I suck.
I am most impressed by his circuit board etching, beautiful!
It looks, that Mike doesn’t want to publish schematic…
Daniel, do you plan to publish the frame on JVRDesign pages, too ?
Will probable publish it on there as well once I get time to do an update of the website
Hey Daniel
What method do you use to make your PCBs? Heat transfer/photolithography/etc ? Very well done with the SMD stuff.
And a very lekker project overall ;) Good to see some ZA representation on HaD.
d.
thats a dead linky to the source code
I don’t know if any are still listening. I’m not even sure if Mike was the original developer. But, Mike, if you are… Regarding the limitations of the SDCard. Note, you can probably run your PIC 24F SPI bus at 8MHz. After that you should as least use Class 4 SDCards. Higher class cards didn’t buy me anything except they cost more. I was probably able to get something like 140KBytes/Second that way (don’t know the real speed because of other things going on in the loop). Test different SDCards if you don’t get at least that through put. It stinks, but I am suspicious some manufactures rank their cards by the 4 bit bus performance and let the SPI interface go to pot come development time. I have some Kingstons which test fast (probably over the 4 bit bus) but are suspiciously slow talking to my 24F over the SPI bus.
Hi!
The link to the source code does not work.
Someone has a new link?
Thanks a lot!
Source code link is not working..