Hacker News new | past | comments | ask | show | jobs | submit login
Let's Build a Video Card (eater.net)
264 points by eb0la 73 days ago | hide | past | web | favorite | 26 comments

The "8-bit breadboard computer" (https://eater.net/8bit) series is phenomenal. The videos are so clear and so well explained - after watching them I ordered the clock module kit, and now I'm addicted to electronics. Before, electronics seemed so abstract to me. After watching the videos and messing around with the kit, I was able to come up with an idea for something I wanted to make and then (fairly) confidently IMPLEMENT it on a breadboard.

Ben Eater is a fantastic teacher. You forget how different "knowing" and "teaching" are, until you get a great teacher!

YouTube randomly recommended the first part of the video card series to me a few weeks back. I'd never seen this channel before. I checked it out just to get the general idea of what he was doing but figured I'd bail on it a few minutes in once I couldn't follow along anymore.

Instead I got completely sucked in. His explanations were so clear I was able to understand the majority of the process and could possibly even replicate it or guess at the next step after watching for a bit. I felt like I learned more in that 30 minute video than I did in my whole year of high school electronics that scared me away from this sort of thing twenty years ago. My interest in doing some small projects is definitely piqued now.

This video series singlehandedly inspired me to delve into hardware (i'm a software guy). It's INCREDIBLY well done, and easy to follow.

Fast forward to now, when I've blown several hundred dollars on electronics supplies lol. Plus Ben has a great voice to listen to, so there's also that.

I'm interested in learning more about VGA and HDMI, because I'd like to build a hardware freeze button.

On an old church projector, there was a button on the remote so I could freeze the screen. Then I could switch from PowerPoint to QuickTime Player (or whatever else) without disturbing everybody who was watching. Newer equipment (some projectors, most TVs) lack this feature. I'd like to build a box that stores the current frame in RAM, and has a simple toggle switch between the stored frame or the live video feed.

After a recommendation for the NeTV, I asked bunnie, and he said that the NeTV2 is a good choice for HDMI. It's pretty expensive though, and doesn't support HDCP.


If anybody else has some guidance about how to proceed with this project, or some mutual interest that could translate into nagging me to actually do it, please get in touch!

This is actually a rather involved thing that you want to do here. Short answer is that you really need a presentation switcher or something similar that uses FPGA. If you want to roll your own, you can do it, but it's probably not gonna be worth the time investment.

NETV2 (Libre mode) is probably the best bet for hardware that will both do the job and has at least some example stuff that will be similar. It's FPGA based, but it will require a lot of effort to implement.

Other than that you are looking at the HDMI or DVI TxRx cards along with an FPGA dev board. Terasic's Altera boards and expansion cards, for instance will do the job and they offer VGA, DVI and HDMI interfaces for a large number of their dev boards. Anything along this vein will cost a lot more than NeTV2

IMO If you want to rely on something for a large commercial public presentation, I really wouldn't hack something together. Just buy a presentation switcher.

If an off the shelf solution is okay, look into live veejay/VJ software and hardware, or maybe game streaming/screencasting or other live broadcast tools. You can add VGA and HDMI capture cards to a computer, then use software to pause or switch inputs.

Yes, I bought an Elgato Cam Link 4K recently, and I could do it with CamTwist. I'd rather reduce the lag though, and the physical size/complexity of an extra computer.

I wonder if you could do this with an HDFury Vertex or Integral. All the hardware is there (including dealing with HDCP), but I don't think they have devkits available that would let you add features to the firmware.

$8 VGA2HDMI converter box from ebay will make NeTV2 work with analog source, $10-20 hdmi splitter will strip HDCP

I have watched these videos and they are really facinating. I wish there was more stuff like this and less vague clickbait titles.

All of his breadboard videos are great, but I was hoping for a few more episodes in this one. You can't call it a video card if it doesn't plug into a computer, right?

At 3:00 into the second video, he talks about hooking it into a computer. [1] It does a quick flash to what might be his breadboard computer. So I think he intends to connect this to the computer he has built.

1. https://www.youtube.com/watch?v=uqY3FMuMuRo

This might interest you: http://andybrown.me.uk/2014/06/01/ase/

Why is javascript required to deliver text on a screen?

I was surprised to read how much his materials cost for this. $88, all told - you would think building a (pretty much the simplest possible) video card would be cheap!

He's basically building it the way the people that invented it would have first built it, before they miniaturized it. It's not surprising that it would be somewhat expensive.

$56 of which is breadboard and hook up wire - I'm sure it's possible to have a custom pcb fabbed for about $20,and if you do small runs to have the pcb cost drop to less than $1.

You could also buy the breadboards for ~$2 each on aliexpress.

But then you get crappy breadboards that once in a while gives a bad connection. Without any visual clue. That can be very hard to debug, especially for the hardware newbie Ben Eater is teaching. Spending an extra $50 to make the process hassle free and enjoyable is money well spent.

Better yet, use wirewrapping (https://en.wikipedia.org/wiki/Wire_wrap) instead of breadboarding, so quality of the board doesn't matter. Buy a wirewrap stick (20 USD), some crappy perfboards from China (10 USD), some wires (5 USD), some long DIP headers (10 USD), and you're good to go. You may still need two or three breadboards for quick experiments.

I'm currently working on a homebrew Z80 computer. I'm at the stage of moving the preliminary designs to PCBs, but from my experience, wirewrapping is a lot better than breadboarding when you start building circuits with many signal wires. Breadboards are quick and simple at first when you can "plug and play", but it would quickly become a nightmare when the number of connections and wires exceed 200. It may be a less concern for a modern microcontroller as i2c and SPI are serial interfaces, but on a 8-bit computer, you'll hit this number really quickly, because the system bus is 24-bit (16-bit addr, 8-bit data), parallel. A bus driver using two unidirectional buffer has 24 x 2 + 8 = 56 wires, two RAM chips have 48 wires, a ROM has another 24 wires, it's already 148 wires now for a bare-minimum system without even an I/O port. It will get out of control soon. Also, a 16-bit machine will become a nightmare even quicker as they have 32-bit bus.

On wirewrapped boards, you'll never get a bad connection without any visual clue, the connection is as solid as soldering, and there are no jumper wires hanging in the mid-air to stop you from probing it using an oscilloscope. Strongly recommended, to learn more, search keywords "wirewrap electronics" at YouTube.

I did wired wrapped electronica in college around 20 years ago. Wire running can easily become a dishrevelled mess. We also only had one color wire available, making non trivial difficult to follow and extremely difficult to debug.

Personally, I found my bread board circuits more aesthetically pleasing and easier to reason about. I had 4 different colors of wire, I always ran my wires in the cleanest manner possible using the most direct and shortest wire.

Probably the most complicated bread board circuit I wired up was an 8KB RAM bank for a 16bit microcomputer. My only real wire wrap project was when we prototyped an MP3 player driven by an AVR.

> We also only had one color wire available, making non trivial difficult to follow and extremely difficult to debug.

This is no longer a problem today.

> using the most direct and shortest wire.

Unfortunately, it's often not even possible! A DIP-40 chip already occupies most columns, leaving only two or three columns for wiring. Impossible to wire the bus directly...

> some long DIP headers (10 USD)

You're severely underestimating the cost of wire-wrap sockets. They're a low-demand item, so they're rather expensive; a few dollars for each socket is typical, and DIP40 sockets can get into the $10 range. (The sockets will cost more than most of the parts in them!)

> You're severely underestimating the cost of wire-wrap sockets. The sockets will cost more than most of the parts in them!

Which is why getting them from China is a good idea. I'm building the real thing and I'm well aware of that, but I've found a very economical solution: I've found that buying single-row 40-pin sockets, like this one (https://www.aliexpress.com/item/32959627004.html), is a good low-cost alternative to wirewrap sockets, it only cost you one dollar each.

It's not extremely easy to use, as you have to cut them and manually plug two rows of them to make a poor-man's DIP header, but not difficult either, and doing it is straightforward. Also, if the socket is too rough for the components you need (for example a heavy ZIP socket, or a DIP-40/64 chip), I found you could install the wirewrap DIP header to the board first, then plug a generic, cheap DIP socket on top of it, then plug your ZIF socket on top of those.

The only real disadvantage is the increased weight and height, so the solution is not very elegant, but hey, one 40-pin header only costs you one dollar, 10 dollars buy you ten 40-pin headers, which is good for ~15 chips!

About half of that cost ($40) is the 5 breadboards needed to connect the circuit together. Building it on something more permanent like veroboard would cut that cost down significantly.

If the purpose of the project is learning and experimentation, then there's not much to recommend veroboard. I have to think so carefully about how to place components, where to cut tracks to make connections, how best to route jumpers, etc. and after all that, it's difficult to change things when debugging or just to tinker.

Breadboards offer a huge amount of flexibility over veroboard, at the expense of size and permanence.

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