[ad_1]
A easy concept
For prolific maker Tim Alex Jacobs, who goes by mitxela, his initiatives are pushed by the query “Is it potential?” somewhat than “Is it sensible?,” and his newest undertaking splendidly demonstrates this idea. After toying round with the concept of utilizing an HDMI connector for one thing, Jacobs realized that it comprises a pair of conductors that comprise an I2C bus, and this could possibly be repurposed and mixed with a small OLED display that might develop into a really small monitor.
The HDMI specification
An HDMI connector has 19 pins in whole, with practically all of them going to high-speed knowledge, clock, and protect strains that carry large quantities of show info to the display on the different finish. Nonetheless, pins 15 and 16 are for an I2C connection between the host and peripheral controllers, as they usually have to share setup info or regulate a setting.
Modifications
With this new data in thoughts, Jacobs started working by first stripping off one finish of an HDMI cable and finding the pins for serial knowledge, serial clock, 5V energy, floor, and the new plug detect pin which alerts to the host {that a} show has been connected by pulling its sign excessive. Even higher, the 5V line is ready to supply as much as 50mA of present, which means that the OLED wouldn’t must depend on an exterior energy provide.
Controlling the display
Utilizing linux on a laptop computer, Jacobs ran a number of I2C-related instructions that allowed him to view all the connected I2C buses and the gadgets on them. As soon as the OLED on the HDMI show knowledge channel (DDC) was discovered, a fast take a look at script was run that makes use of smbus by way of Python to ship an allow command adopted by some textual content that ensures the show is functioning appropriately.
Making a monitor
After making all of those modifications, the ultimate step was getting the tiny 128×64 OLED show to behave as if it was an precise monitor linked to the laptop computer, full with a mouse cursor. Writing a video driver from scratch would have taken a large period of time, so as a substitute, Jacobs opted so as to add a dummy monitor by way of the xrandr utility with the intention to make the xorg show server suppose an precise monitor is connected. Lastly, a Python script was added that makes use of the python-xlib package deal to seize the framebuffer from the digital monitor, overlay a mouse cursor, and ship it to the OLED over I2C.
Regardless that the framerate may use some enhancements, it’s fairly enjoyable to observe one of many worst HDMI shows ever created act as a full-fledged monitor and even present a primary terminal with it. For extra info, you may examine this undertaking right here in Jacobs’ weblog put up or watch his video under.
[ad_2]
