2
\$\begingroup\$

So, I had a spare monitor lying around and I wanted to find a way to make it like a picture slideshow. I also have an Arduino Uno. I was wondering whether there is a way to take some pictures from an SD Card (from an SD Card shield I have) and output them, through the Arduino, to a monitor. As some of the pictures are pages from a book, I want the resolution to be high enough for the text to be readable.

Is it even possible? Or I should go to other options like Rasberry Pi?

(I'm new to this site and don't really know the tags well, if you know a way to improve them, thanks in advance!)

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Forget the idea. Try FPGAs. \$\endgroup\$
    – Mitu Raj
    Apr 6, 2021 at 18:54
  • \$\begingroup\$ and also, if you're going for anything, then let it be a digital video link (DVI, HDMI, DisplayPort); in 2021, not even recycled VGA screens make a lot of sense, and especially not for "high quality", whatever that means. For any digital hardware that's fast enough, producing a digital video signal is easier than an analog one like VGA. (still a gigantic project, and honestly, people would solve it using an application processor SoC like the one in a raspberry Pi, a TV set-top box, or a smart phone) \$\endgroup\$ Apr 6, 2021 at 22:16
  • \$\begingroup\$ There are plenty of VGA adapters for Arduino, but not with the resolution you're looking for. The simplest ones comprise little more than an oscillator, a CPLD for timing (and a SPI interface), an SRAM for the frame buffer and some resistors to create a crude DAC for color. \$\endgroup\$
    – Dave Tweed
    Apr 7, 2021 at 0:10
  • \$\begingroup\$ If you compare the power consumption of your monitor to that of a modern LED/LCD picture frame, you can calculate how many hours the device will have to run before the modern LED/LCD photo frame pays for itself. If you run it all day every day it might not take that long. A 14" CRT uses about 50W or more and a $100, 10" LCD photo frame uses less than 10W. At $0.06 per kWh, in roughly 4.6 years, the LCD frame pays for itself. The difference in reality may be more extreme if your monitor is less efficient or the power consumption of your microcontroller is significant. \$\endgroup\$
    – K H
    Apr 7, 2021 at 2:20

2 Answers 2

3
\$\begingroup\$

VGA signal requires a pixel clock starting 25MHz (for 640x480, 60Hz refresh), or more depending on the desired resolution. A typical Arduino processor clock is up to about 20MHz (specifically Uno can be clocked up to 20MHz), so there is really no way it can generate such a signal without extra hardware. Sure one can go for any lower resolutions, but I doubt these can be considered any acceptable, let alone high quality.

\$\endgroup\$
6
  • 1
    \$\begingroup\$ What do you find if you Google ‘arduino vga’? The Arduino can output vga, but not hi-res. Something like an esp32 does better (google esp32 vga). The RasPi is a simpler choice as it is basically a settop box - it is designed for video. \$\endgroup\$
    – Kartman
    Apr 6, 2021 at 23:19
  • 1
    \$\begingroup\$ @Kartman "Not high res" - well, it is outputting the crazy 192x80 monochrome signal :D Sure I did not consider such a resolution in my answer. I took 640x480 as bare minimum for "high res". Let me clarify it in the answer. \$\endgroup\$
    – Eugene Sh.
    Apr 6, 2021 at 23:26
  • \$\begingroup\$ For some reason i keep clicking on adding the comment in the wrong section. As you probably gathered, the response was directed at the OP, not yourself. \$\endgroup\$
    – Kartman
    Apr 6, 2021 at 23:58
  • \$\begingroup\$ @Kartman Well it helped to improve the answer(I hope) \$\endgroup\$
    – Eugene Sh.
    Apr 7, 2021 at 0:00
  • 2
    \$\begingroup\$ There is no 25MHz refresh rate. An Arduino could use any clock within its limits as pixel clock, and the Uno runs at 16MHz. The point is it can't do 640x480 at a refresh rate of 60Hz, but it can do less with the same analog timing the monitor requires. And even if it can be connected to VGA monitor to get some kind of picture, it still can't display high res photos. If it were possible, people would already be displaying high res photos with Unos, but as it is now we are limited to low res low color stuff like Boulder Dash clones. \$\endgroup\$
    – Justme
    Apr 7, 2021 at 8:27
3
\$\begingroup\$

No, an Arduino Uno can't display high-res photos on monitor.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.