There's various articles online detailing how to use an Arduino to output a VGA signal, but can I use it to output a HDMI signal or is it simply not fast enough? It would only be used to display some basic text, nothing in the way of fancy graphics.
-
1\$\begingroup\$ I'm pretty sure I've seen a project where a Rasberry Pi was used as an HDMI shield. Can't remember where I saw that though. \$\endgroup\$– nathangiesbrechtCommented Apr 9, 2013 at 20:29
-
\$\begingroup\$ If you want a cheap output, not HDMI, you can check this out: youtube.com/watch?v=WlBXiZpuncg That would be cheaper if you don't want to buy a RPI or they're out of stock. Since you just need text, this would work but you might need HDMI. Good luck! \$\endgroup\$– Anonymous PenguinCommented Apr 9, 2013 at 21:47
5 Answers
No, not directly. Arduinos just don't have the horsepower to do such a task. For this project, I would recommend using a Raspberry Pi. Take a look at this awesome blog post by Joonas Pihlajamaa on using a Raspberry Pi as a Arduino HDMI shield.
Please see Chrontel's products at www.chrontel.com:
- CH7035 - TTL to HDMI output.
- CH7026 - TTL to CVBS.
- CH7033 - TTL to VGA and HDMI.
- CH7034 - TTL to VGA.
- CH7322 - HDMI CEC.
Their TTL input supports RGB 8-8-8. 5-6-5, YCrCb 4:2:2, ITU656, etc. I think the Arduino can use their MCU interface to write graphics data to their frame buffer directly. On-chip scaler can scale frame buffer content to all HDMI output resolutions like 1080P.
-
\$\begingroup\$ That's a pretty cool looking part. It has a complete internal frame-buffer, so you can write to it at whatever speed you want? If so (the datasheet is rather sparse), that's very cool. \$\endgroup\$ Commented May 17, 2013 at 10:44
-
10\$\begingroup\$ However, are you associated with that company (Chrontel?). If so, we require you disclose this fact. \$\endgroup\$ Commented May 17, 2013 at 10:45
-
8\$\begingroup\$ Yes. I work at Chrontel. We have over 40 different parts in display interface used in PC and in Android tablets and phones. To provide simultaneous dual displays in portables, we integrate frame buffer and scaler on-chip so that the external display can have different frame rate, resolutions, and rotation from the native display. \$\endgroup\$– user24033Commented May 17, 2013 at 15:15
-
4\$\begingroup\$ The problem with this is that none of the distributors I use on a regular basis stock any of these parts. Farnell, mouser, digikey, none of them stock these. I can't even find them on aliexpress, where I can usually find somebody with even the most obscure part. So for a one off project, where do you get them? You could try the manufacturer directly, but my experience is that manufacturers never want to deal in units less than hundreds, more often thousands. \$\endgroup\$– JulesCommented Mar 3, 2018 at 17:59
-
\$\begingroup\$ this is definitely the correct answer IMO. The OP was asking if an Arduino could drive an HDMI somehow, and a framebuffer like this is how it is done. The accepted answer assumes OP requires a high refresh rate, which is not specified at all. \$\endgroup\$– mseddonCommented Nov 24, 2020 at 22:19
For low resolution displays, it's possible to directly generate HDMI signals using low-end FPGAs. In order to generate an HDMI signal, you need to be able to toggle 3 GPIO pins at a rate of 250MHz, which is within the capabilities of, say, the Spartan 6 or Cyclone IV range of FPGAs. This would be enough to display a 640x480 image with 24-bit colour depth. Your Arduino could then interface with the FPGA to provide instructions on what to display, and the FPGA could update its display as required. See this project for the basics of how this would work.
-
1\$\begingroup\$ This takes eight pins, not three -- a differential pair for each of the R, G, B, and clock lanes. \$\endgroup\$– user39382Commented May 6, 2019 at 2:30
Here's an Arduino Shield for HDMI from TechToys.com by John Leung.
It uses a TFT controller RA8876 to generate RGB video in 8:8:8 format.
It's kind of pricey at $69. It's on backorder as of 5/2019.
The hardware combination Arduino + RA8876 + CH7033B has proven to be able to output a 1920x1080 progressive scan @ 60Hz to a TV, 1080p monitor, and even a 1080p mini projector. The graphics part is playing nicely. There remains the audio part.
-
9\$\begingroup\$ That's a good answer if you only want to tease the OP. "... has proven to be able ..." Where? By whom? Is the design published? Welcome to EE.SE but you might want to look around to see the standard of answers that attract upvotes (and those that attract downvotes). \$\endgroup\$ Commented Aug 11, 2016 at 17:30