Projects / FPGA Doohickey / Logs

Log 1 - Project Conception & Ordering Parts

Initial commit - project conception and parts ordering process.

Project Setup Ordering Parts

January 10, 2026

Log 1 - Project Conception & Ordering Parts

FPGA Doohickey

I've always wanted to make a fun little hardware toy that has a bunch of lights, buttons, and maybe a small screen for kids to play with while waiting for class at Exceed Robotics. "Doohickey" is very much the best way to describe such a device.

The other day, I was browsing AliExpress, as one does, and stumbled upon a bunch of LED-enabled buttons, which looked a lot like the buttons in the Death Star control room. So I felt inspired and remembered about the LED+button thingie I wanted to make - why not finally get around to it? Since I already had some FPGA experience from school, I thought now would be a great time to do a project unrelated to my school work. I also wanted to get some experience in SystemVerilog, as it's more modern than VHDL, which is TMU's primary FPGA language.

So, i started looking for Quartus-based FPGA dev boards (as I was most used to Altera's tools), and found a few options on AliExpress. My requirements were as follows:

  • Quartus-based FPGA board
  • Small
  • Enough I/O for the LEDs, buttons, and
  • I/O compatible an OLED board
  • JTAG connector for uploading code
After some time, I found a cheap AliExpress board based on the Altera Cyclone IV EP4CE6E22C8N FPGA, which had enough proper I/O pins and a JTAG connector. A few buttons and potentiometers later, and I had my parts list.

I also wanted to get an OLED display for some extra experience, which came with its own challenges: the FPGA board had logic levels of 3V3, 2V5 and 1V8, whereas most OLED modules I could find were based on a 5V level. After about 20 minutes of searching, I found a 3V3 OLED module on Amazon, which was also the last available one from the seller. Not believing my luck, I quickly ordered it, along with the rest of the parts.

Now, we wait for the parts to arrive...