Hacker News new | past | comments | ask | show | jobs | submit login
Open source USB Type-C to HDMI Adapter (chromium.org)
254 points by mmastrac on Mar 12, 2015 | hide | past | web | favorite | 46 comments

This is interesting, because lots of cheap clones of the adapter will appear and quickly drive the market price below $5.

There has been a dichotomy for several years: generic adapters are $2-$5, while proprietary adapters are $20-$50. It's not due to the BOM cost of the chip, which is probably less than the cost of the copper. This might be the first mainstream adapter with a chip, other than PL2302-based USB-serial adapters, that are cheap.

You can already get a wide range of Chinese clones of proprietary Apple adapters for under $3:



Some are actually better than Apple, the braided lightning cables are a lot harder to break. You can even get them with LEDs if that's you thing.

In my experience they work just as well, but quality can sometimes really vary. I hope this leads to cheap clones from reputable manufacturers who have high quality standards.

Are there affordable active converters from (mini) Displayport to dual-link DVI? These cost $95 from Apple.

I had some generic DP->HDMI adapter fail out of the box while setting up our booth at GDC last week. Luckily we had a spare, and the other five adapters worked fine. I do wonder if official Apple adapters have the same failure rate; maybe we just got unlucky.

Not specifically video-adapter-related, but on a tangential note this teardown by Ken Shirriff of an Apple charger and imitation Apple charger is interesting: http://www.righto.com/2014/05/a-look-inside-ipad-chargers-pr...

Most Chinese lightning cables tend to get blocked by apple or just generally fail on their own.

The cables have advanced a lot since this article:


I'm using a cable now that looks exactly the same as an official Apple one and works just as well (iPhone 5S iOS 8.2).

Indeed, what's actually at fault with these clones is usually Quality Assurance - which normally guarantees consistent quality, either good of bad.

Generic clones can be of awesome quality or complete garbage Non-generic stuff tends to offer much more consistency, which I think is what you pay (though there are plenty of cases where it's not worth it).

For what it's worth, this appears to be an active dongle using a MegaChips device to do the DisplayPort to HDMI 2.0 conversion. USB Type-C alternate mode handles the passing of DisplayPort audio/video data from the GPU over the USB pins (ML0-3), and the MegaChips device converts that to HDMI 2.0 TMDS signaling.

Do you have a link to the datasheet for the DP-HDMI2 chip?

I tried searching based on the part number and apparently my google-fu was weak.

No, my Google-fu also failed me. There's also an SPI ROM that is an input into the DP-HDMI2 chip, so there's likely firmware there that is not part of Google's open-sourcing.

Is there a layout yet or is it just a schematic? From what I understand USB 3.0 is so crazy fast it requires quite a bit of RF magic/knowledge to even just route from the connector to a chip on a board.

Yep, not to mention the manufacturing technologies required to meet the length matching and impedance targets. It's probably not realistic for hobbyist projects. I think this is mostly useful as a reference for making other types of adapters that might only need to use USB 2.0, but still need the microcontroller to negotiate the Type C stuff.

edit: There are two other open source Type C projects (and they stick with the Hostess snack theme):



I agree that it isn't suitable for hobbyists. For what it is worth, length matching is a function of the layout. Impedance matching doesn't require any crazy manufacturing technique, just choosing the correct pre-preg type/thickness by manufacturer. I've never known a board house who couldn't do it.

As for USB 2.0 conversion those pins are directly on the connector [1]. No need for anything beyond routing out those pins to a different connector. USB Type-C is essentially a USB 3.0 connector, but changed to be symmetrical and the SuperSpeed pins are used for other things like DP or other highspeed serial busses.

[1] http://www.vrworld.com/wp-content/uploads/2014/09/USBTypeCPi...

At what point do consumer devices start using internal optical interconnects?

While not usually meant for carrying high-speed signals, there are optical isolators[0] that are used to communicate between circuits that are not connected electrically.

I'd guess that fiber optics is only a net win over large enough distances that you make up the latency from converting electrics signals to optical and back.

[0] http://en.wikipedia.org/wiki/Opto-isolator

These are most for electrical insulation, not high speed (most probably aren't made for high speed)

It's a whole different problem to have even a short distance connection go up to GHz speeds.

S/PDIF [1] has supported optical interconnects for a long time.

[1]: https://en.wikipedia.org/?title=S/PDIF

Note that they are single direction.

The key word in my comment was "internal".

Never? Why do you think this would help anyone?

Ease of routing.

I know optical on-chip networks have been the subject of research for many years, and I've heard rumblings of optical interconnects between chips. I don't know their current status, nor whether they look to be useful in practice. Hence my question.

If you mean directly from an IC then there is a long way to go on that. They are still trying to figure out how to make lasers on an IC in the same CMOS process as normal ICs.

Please note that this adapter does NOT use USB3.0 signalling. The only USB signalling going on is USB2.0 to the STM32 micro which seems to configure the actual Display-Port to HDMI-Bridge chip.

The "High Speed Lanes" (on which normally USB3.0 data is transferred) is re-purposed as a displayport connection.

(in the block diagram ML(0…3)± are the differential display-port "lanes", they are connected to the USB "C" plug SSD(p/n)(1…4) shielded differential pairs)

Who do you expect to be able to use this information? Yes, basic high-speed electronics experience is required.

Anyone who wants to actually build the board. USB 3.0 is a whole new ball game and has lots of gotchas with board layout & design. Check out Jared Boon's Daisho talk for some good background on USB 3.0 challenges: https://www.youtube.com/watch?v=eTDBFpLYcGA&t=1059

With such a small pcb and so few external components, even an amateur with a little luck might get this to work.

There are both schematics as well as board layout gerber files posted on the site.

Gerbers? Where?

Ah, missed that. You're right.

While the firmware may be open source, the hardware is not. It's not enough to be able to see the schematic in a PDF; it's important to have proper, machine-readable, design files.

Nobody would consider a print-out of the Linux kernel's source code to be an acceptable means of distributing it.

Nobody would consider a print-out of the Linux kernel's source code to be an acceptable means of distributing it.

To the contrary, bound and printed copies of the PGP source code were used to get around ITAR export controls on crypto in the '90s.


Wow, that's crazy! I've always wondered if something like that would be feasible... had no idea it had actually been done on a grand-scale before. Thanks for that.

To respond to a deleted comment about why it's important:

The claim is that it's open-source, not open-rendering. There's no thing you can insert a PDF into to be able to manipulate the design in a meaningful way.

Even as a visual reference, it's not very useful. Googling the the two main chips gives no useful search results. If you did manually recreate the schematic, you would still have no way of building anything with it.

You were probably responding to me.

The schematic, even in image form, is the source as far as my experience goes. No, it isn't turnkey, but the schematic (in CAD file format or not) is the design. Everything after that is primarily implementation- more analogous to modern day compilers and linkers, IMO.

Even if they gave you layout files, they would likely be both a pain, and not very useful. Like getting someone else's *.o files. You probably won't be using the same tools, and you probably won't have the same boardhouse, the same parts... I didn't really come to grips with how incredibly nonstandard (or maybe just incredibly varied) parts footprints are until I made my first >100 part count SMD board. It quickly became clear why companies develop their own parts libraries, and why they cling ferociously to existing vendors, supply lines, and specific parts.

Suppose I gave you an article/paper in a proprietary file format you can't convert, with a font you don't have, painstakingly arranged for a paper size you've never heard of, in color gradients your printer can't resolve, that uses features only a couple printers can print. Would that be helpful? Me, I'd rather just get the raw .txt file and .jpg's...

I think these are designed to be used with developer boards like http://www.digikey.com/product-detail/en/STM32072B-EVAL/497-...

Doubt it, they require a special DP to HDMI converter IC, and you basically have to build a custom PCB in order to route the high-frequency DisplayPort and HDMI signals properly. May as well stick the microcontroller on the board too because that's easy to lay out compared to everything else.

I disagree. Standalone gerbers aren't terribly useful for hobbyists, and you'd have no luck opening an Allegro project even if they released that (which they wouldn't due to in-house component libraries containing supply leads etc.)

This remains an excellent reference design to build upon. The world of PCB design is more labor intensive, but this would be perfectly simple to reimplement using hobby-level PCB software.

Gerbers aren't design files, they're another rendered output.

There are no universal Schematic/PCB Design files. It is actually very common to provide only a PDF as reference. Anyone who is going through the trouble of trying to make these should have the basic skills necessary to do a decent layout. It is a very simple board.

I do not actually think that is incredibly important.

I'm quite a newbie with electronics, but the workhorse of this device seems to be a chip named "MCDP2850", and I can't seem to find this chip anywhere. I've also encountered this kind of "failure to find chips pertaining to DisplayPort/HDMI/DVI" before. How do people find these chips - both when designing - and as hobbyist who needs the chip?

So, why do these guys design things and then just give all the files away on the internet?

Or is my midwestern-ness showing?

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact