Displays We Like Hacking: HDMI

I don’t like HDMI. Despite it being a pretty popular interface, I find crucial parts of it to be alien to what hackers stand for. The way I see it, it manages to be proprietary while bringing a lot of the old cruft in. It doesn’t have a native alternative like DisplayPort, so portable implementations tend to suffer power-wise; the connector situation is interesting, and the HDMI Foundation has been doing some weird stuff; in particular, they are pretty hostile to open-source technology.

This article is not the place for such feelings, however, especially since I’ve expressed them enough in the DisplayPort article. We the hackers deserve to be able to handle the interfaces we stumble upon, and I firmly believe in that way more than in my right to animosity towards HDMI.

The HDMI interface is seriously prominent wherever you look, in part because it’s the interface created by the multimedia-involved companies for the multimedia-involved companies. Over the years we’ve had it, it’s been more than sufficient for basically everything we do video-wise, save for the highest resolutions.

It’s also reasonably simple to wire up, hack on, and even bitbang. Let’s go through what makes it tick.

The Core

HDMI is, at its core, three differential pairs for data, plus one pair to clock them and in the darkness bind them. It’s a digital interface, though it is a fun one. This makes it way more suitable for higher-distance video transmissions than interfaces like VGA, and as long as you stick to relatively low resolutions, HDMI won’t have as many asks in terms of PCB layout as DisplayPort might, thanks to HDMI link speeds scaling proportionally with the display resolution.

Continue reading “Displays We Like Hacking: HDMI”

Use That One Port For High-Speed FPGA Data Export

There’s a good few options for exporting data out of FPGAs, like Ethernet, USB2, or USB3. Many FPGAs have a HDMI (or rather, sparkling DVI) port as well, and [Steve Markgraf] brings us the hsdaoh project — High-Speed Data Acquisition Over HDMI, using USB3 capture cards based on the Macrosilicon MS2130 chipset to get the data from the FPGA right to your PC.

Current FPGA-side implementation is designed for Sipeed Tang chips and the GOWIN toolchain, but it should be portable to an open-source toolchain in the future. Make sure you’re using a USB3 capture card with a MS2130 chipset, load the test code into your FPGA, run the userspace capture side, and you’re ready to add this interface to your FPGA project! It’s well worth it, too – during testing, [Steve] has got data transfer speeds up to 180 MB/s, without the USB3 complexity.

As a test, [Steve] shows us an RX-only SDR project using this interface, with respectable amounts of bandwidth. The presentation goes a fair bit into the low-level details of the protocol, from HDMI fundamentals, to manipulating the MS2130 registers in a way that disables all video conversion; do watch the recording, or at least skim the slides! Oh, and if you don’t own a capture card yet, you really should, as it makes for a wonderful Raspberry Pi hacking companion in times of need.

PCB Design Review: HDMI To LVDS Sony Vaio LCD Devboard

Today, we revisit another board from [Exentio] – a HDMI/DVI to LVDS transmitter for the Sony Vaio P display. This board is cool to review – it has a high-speed serial interface, a parallel interface, a healthy amount of power distribution that can be tricky to route, and many connectors to look over.

I’ve decided to show this review to you all because it demonstrates a PCB improvement concept we haven’t yet touched upon, that you should absolutely know about when doing board layout. Plus, I get a chance to talk about connector choice considerations!

The board is lovely. It integrates the DPI-LVDS circuit we’ve previously reviewed, but also a HDMI to parallel RGB chip from Texas Instruments, TFP401, a chip appreciated enough that even Adafruit has adapters with it. The fun thing about this chip is that it doesn’t even handle EDID like the usual HDMI to RGB/LVDS chips you get on cheap Aliexpress boards. So, there’s no firmware to take care of – it just receives a HDMI/DVI signal, converts it into parallel RGB, then converts that to LVDS, and off to the display it goes. The downside is that you have to provide your own EDID with an EEPROM, but that isn’t that tricky.

Again, this is a two-layer board, and, again, I like this – fitting tracks to the smallest possible space is a respectable and enjoyable challenge. This board has absolutely done well by this challenge. I do see how this board could be routed in an even better way, however, and it could be way way cleaner as a result. For a start, rotating the chip would improve the odds a whole lot.

The Chip Gets Rotated

Continue reading “PCB Design Review: HDMI To LVDS Sony Vaio LCD Devboard”

HDMI DDC Keypad Controls Monitor From Rack

Sometime last year, [Jon Petter Skagmo] bought a Dell U3421WE monitor. It’s really quite cool, with a KVM switch and picture-by-picture support for two inputs at the same time. The only downside is that control is limited to a tiny joystick hiding behind the bezel. It’s such a pain to use that [Jon] doesn’t even use all of the features available.

[Jon] tried ddcutil, but ultimately it didn’t work out. Enter the rack-mounted custom controller keyboard, a solution which gives [Jon] single keypress control of adjusting the brightness up and down, toggling picture-by-picture mode, changing source, and more.

How does it work? It uses the display data channel (DDC), which is an I²C bus on the monitor’s HDMI connector. More specifically, it has a PIC18 microcontroller sending those commands via eight Cherry MX-style blues.

Check this out — [Jon] isn’t even wasting one of the four monitor inputs because this build uses an HDMI through port. The finished build looks exquisite and fits right into the rack with its CNC-routed aluminium front panel. Be sure to check it out in action after the break.

Ever wonder how given keyboard registers the key you’re pressing? Here’s a brief history of keyboard encoding.

Continue reading “HDMI DDC Keypad Controls Monitor From Rack”

Unusual Port Combines DisplayPort And HDMI

Everyone knows you can’t plug an HDMI cable into a DisplayPort… port, and yet a recent video from [Jon Bringus] challenges that seemingly obvious assumption. The hardware in question is a variant of the 2013-era Xi3 X7A mini PC, code-named ‘Piston’ and also known as a ‘Steambox’, from back when that was still something that Valve was working on. Although the physical format here is definitely quaint, it might be implementing DisplayPort Dual-Mode (DP++), which was introduced around the same time.

With DP++ the DP port can detect when a DVI or HDMI adapter is connected and then transmit DVI/HDMI TMDS signals rather than DP signals. Since DP and HDMI/DVI use a different signaling scheme, normally an active adapter would be required. One disadvantage of DP++ is that the HDMI signal will be limited to e.g. 1920×1080 @ 120 Hz and 4K only at 30 Hz.

Normally a DP++ port is marked as such, and requires an adapter that works with the DP++ port. What Xi3 did in this case to make regular DP and HDMI connectors work seems to be somewhat of a mystery, with any information on this type of port being rather scarce. [Jon] thinks he may have found the part itself listed on Mouser, but isn’t completely sure.

Feel free to leave your thoughts and any information you have on this oddity in the comments.

Continue reading “Unusual Port Combines DisplayPort And HDMI”

AI-Powered Bumper Sticker Provides Context-Sensitive Urban Camouflage

While we absolutely support the right of everyone to express their opinions, it seems to us that it’s rarely wise to turn your vehicle into a mobile billboard for your positions. Aside from potentially messing up the finish on your car, what’s popular and acceptable at home might attract unwanted attention while traveling abroad, leading to confrontations that might make your trip a little more eventful than it needs to be.

So why not let technology help you speak your mind in a locally sensitive manner? That’s the idea behind [Pegor]’s “smahtSticker”, an AI-powered bumper sticker that provides the ultimate in context-sensitive urban camouflage. The business end of smahtSticker — we’re going to go out on a limb here and predict that [Pegor] hails from the Boston area — is an 8.8″ (22-cm) wide HDMI display capable of 1920×480 resolution. That goes on the back of your car and is driven by a Raspberry Pi Zero with a GPS module. The Pi grabs a geolocation every second, and if you’ve moved more than 25 feet (7.6 m) — political divisions are at least that granular in the US right now, trust us — it grabs your current ZIP code using GeoPy. That initiates a query to the OpenAI API to determine the current political attitudes in your location, which is used to select the right slogan to display. You’ll fit in no matter where you wander — wicked smaht!

Now, of course, this is all in good fun, and with tongue planted firmly in cheek. The display isn’t weatherized at all, so that would need to be addressed if one felt like fielding this. Also, ZIP codes may be good for a lot of things, but it’s not the best proxy for political alignment, so you might want to touch that part up.

New Part Day: Flush-mount Touchscreen For Retro PC Build

I recently had the opportunity to purchase an early version of a new display, and it happened to be just the thing I needed to make a project work. That display is the Elecrow 11.6″ CrowVision touchscreen slated for release in 2024. Preorders are being accepted on Crowd Supply.

I had an idea for a retro-inspired PC build that was just waiting for a screen like this. I’ll talk about the display and what’s good about it, then showcase the build for which it was the missing piece. If you’ve got a project waiting for something similar, maybe this part will provide what you need or at least turn on some new ideas.

What Is It?

The CrowVision 11.6″ 1366 x 768 touchscreen has an HDMI input, USB output for touch data, and accepts 12 V DC. It’s made to interface easily with a Raspberry Pi or other SBC (single-board computer).

Personally I consider a display like this to be the minimum comfortable size for using desktop type applications in a windowed environment. Most displays in this space are smaller. But aside from that, what helps make it useful for embedding into a custom enclosure is the physical layout and design.

Since I was looking for the largest display that could be flush-mounted in an enclosure without a lot of extra space around the display’s sides, it was just what I needed. The integrated touchscreen is a nice bonus.

Continue reading “New Part Day: Flush-mount Touchscreen For Retro PC Build”