Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’ve done nand2tetris a couple times (taking good notes the second time) and coincidentally played through nandgame.com for the first time this weekend. I’ve been trying out what people have done with bare metal Forth on a raspberry pi using a frame buffer and using C libraries to get input from a USB keyboard. I don’t really like having such dependencies so I was just thinking I should get out my Arty FPGA with the same VGA module he uses and just make my own computer instead. It’s hard to find stuff that works how I want and is in stock and is actually understandable.

This is definitely going to be my next project. It even uses Arty and the VGA module for it which I already happen to have (it only has a few bits for R, G, and B color though so it’s not perfect for images and gradients). There was example code[1] to use with it and it generates an image but I wasn’t sure how to make a frame buffer for it which this tutorial has!

I recently reviewed graphics rendering techniques (Computer Graphics from Scratch from No Starch Press) so that fits too. This’ll be fun!

[1] https://digilent.com/reference/learn/programmable-logic/tuto...

(They have a different board with HDMI in and out and a framebuffer example to go with it: https://digilent.com/reference/learn/programmable-logic/tuto...

Also I just ran across someone who did HDMI output directly from the pins of yet another variety of Arty board https://domipheus.com/blog/hdmi-over-pmod-using-the-arty-spa...

On second thought, I’d rather stick with understandable VGA and hooking up a keyboard in a matrix… could use some other microcontroller and interface between the two with fewer pins, just not USB. Or PS/2 keyboard… Ben Eater has a tutorial as always)



This sounds very cool - it's interesting to hear what projects lie further down this trail.

I was initially looking at the Arty board, as it was referenced by a text book - all the exercises were based on it. It's a bit more pricey than the ice40 (enough to force a comparison against other boards), but it certainly looks more capable.


The icebreaker looks cool too, and small. I see they sell an HDMI output PMOD for it too. I wonder how that works (not that it's necessarily related to this VGA output example, anyway)


The HDMI PMOD is based around the TI TFP410 HDMI transmitter [1], or a compatible part from Silicon Labs. You feed it a VGA-style signal (parallel R/G/B signals, horizontal/vertical sync) with a pixel clock, and it generates an equivalent HDMI output. It's basically a drop-in replacement for most VGA designs.

[1]: https://www.ti.com/product/TFP410




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: