18
\$\begingroup\$

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.

\$\endgroup\$
  • 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\$ – nathangiesbrecht Apr 9 '13 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 Penguin Apr 9 '13 at 21:47
20
\$\begingroup\$

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.

\$\endgroup\$
8
\$\begingroup\$

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.

\$\endgroup\$
  • \$\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\$ – Connor Wolf May 17 '13 at 10:44
  • 10
    \$\begingroup\$ However, are you associated with that company (Chrontel?). If so, we require you disclose this fact. \$\endgroup\$ – Connor Wolf May 17 '13 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\$ – user24033 May 17 '13 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\$ – Jules Mar 3 '18 at 17:59
0
\$\begingroup\$

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.

\$\endgroup\$
  • 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\$ – Transistor Aug 11 '16 at 17:30
0
\$\begingroup\$

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.

\$\endgroup\$
  • 1
    \$\begingroup\$ This takes eight pins, not three -- a differential pair for each of the R, G, B, and clock lanes. \$\endgroup\$ – duskwuff -inactive- May 6 '19 at 2:30
0
\$\begingroup\$

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.

Arduino HDMI Sheild

Arduino Source Code

It's kind of pricey at $69. It's on backorder as of 5/2019.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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