Hack Club

Bitstream

Learn FPGAs, build projects, unlock chip design!

(Interact with me!)

Why learn FPGAs?

What is an FPGA? An FPGA (Field-Programmable Gate Array) is a special kind of chip that you can program to act like almost any digital circuit you want—it's like having a reconfigurable piece of hardware you control with code.

Every major advance in software depends on new hardware. But designing and manufacturing a custom chip is extremely expensive and slow. That's why FPGAs are used to prototype nearly every complex chip—like GPUs and microprocessors—before they're built in silicon. In fact, every modern chip starts its life as an FPGA emulation.

FPGAs also accelerate critical software tasks. Algorithms implemented in FPGAs can run thousands of times faster than on regular CPUs, and they can process many operations in parallel. This makes FPGAs ideal for specialized jobs like running neural networks, processing video streams, or mining cryptocurrencies—making them essential for the AI revolution and the future of computing.

Start your FPGA and chip design journey today

1

Learn FPGAs

Learn the basics of FPGAs, master digital design, and learn Verilog programming with hands-on tutorials

2

Submit Project

Showcase your skills with a working FPGA design and get a free FPGA development board!

3

Level Up!

Graduate to real chip design with Fab, a program where we give you your own custom chip for free, supported by Tiny Tapeout!

Complete Steps 1 & 2 to unlock real chip design!

New to Verilog and FPGAs? No problem!

We provide resources and tutorials for every skill level. We even provide tutorials to make your own game, and then let you customize it in the end, similar to Hackpad! You can learn more about your project options here.

Get inspired!

Real projects from real people!

Donut

Donut

The classic donut animation but in Verilog.

See GitHub repo →
Animation Glyph

Animation Glyph

A falling animation glyph similar to the Matrix.

See GitHub repo →
Nyan Cat

Nyan Cat

It's a nyan cat!

See GitHub repo →
VGA Clock

VGA Clock

A simple clock display using VGA.

See GitHub repo →
Mandelbrot Set

Mandelbrot Set

A real-time rendering of the Mandelbrot set using Verilog.

See GitHub repo →
Wirecube

Wirecube

A 3D wireframe cube animation.

See GitHub repo →
VGA Demo

VGA Demo

A demo showcasing various VGA effects.

See GitHub repo →
Donut

Donut

The classic donut animation but in Verilog.

See GitHub repo →
Animation Glyph

Animation Glyph

A falling animation glyph similar to the Matrix.

See GitHub repo →
Nyan Cat

Nyan Cat

It's a nyan cat!

See GitHub repo →
VGA Clock

VGA Clock

A simple clock display using VGA.

See GitHub repo →
Mandelbrot Set

Mandelbrot Set

A real-time rendering of the Mandelbrot set using Verilog.

See GitHub repo →
Wirecube

Wirecube

A 3D wireframe cube animation.

See GitHub repo →
VGA Demo

VGA Demo

A demo showcasing various VGA effects.

See GitHub repo →

Rules & Guidelines

Eligibility

  • Submit a working project that meets criteria.
  • Must be under 18 years old.
  • Must be part of the Hack Club Slack community.

Project Requirements

  • To see the full list of rules, please visit this page.

Your Electronics Journey with Hack Club

1

Solder (Optional)

Learn electronics fundamentals and soldering basics

2

Grounded
(Highly recommended)

Design your own PCBs and get hardware grants for your projects

3

Bitstream (Required for Fab)

Learn FPGAs, programmable hardware design, and Verilog

4

Fab

Design and manufacture your own custom silicon chips

Frequently asked questions

What can I make?

For Bitstream, you have two options. Option one and the recommended one is to follow along with the given flappy bird tutorial. This tutorial will guide you through the step-by-step process of making flappy bird, and then leave you with a boilerplate project ready for your own touch of creativity. If you already have experience with FPGAs and Verilog, you can also create a project from scratch, just make sure it follows the rules. You can find more about these options on the Project page, which also has the rules for this program.

What exactly is an FPGA?

FPGA stands for Field-Programmable Gate Array. Think of it as programmable hardware - you can design custom digital circuits and load them onto the chip. Unlike regular programming where you write software, with FPGAs you design the actual hardware logic!

Why use FPGAs?

Think of software as giving instructions to a fixed processor - you're stuck with whatever circuits Intel or ARM designed. FPGAs let you literally rewire the hardware itself to create custom circuits optimized for your exact problem. It's like having Lego blocks of logic gates that you can connect however you want. This means you can make hardware that's thousands of times faster than software for specific tasks, runs multiple operations truly in parallel, and responds to inputs in microseconds instead of milliseconds.

What are FPGAs used for?

FPGAs power everything from Netflix's video encoding (custom circuits process multiple video streams simultaneously) to high-frequency trading (nanosecond-fast market decisions), cryptocurrency mining rigs, NASA spacecraft computers, and AI acceleration chips. Hobbyists use them to build retro gaming consoles, software-defined radios, and real-time audio processors. Anywhere you need custom hardware without the million-dollar cost of designing your own chip, FPGAs are the answer.

How do FPGAs work?

An FPGA is an array of thousands of tiny programmable logic blocks called LUTs (Look-Up Tables) - think of each LUT as a small truth table that can implement any simple logic function. Your Verilog code gets compiled into a “bitstream” that configures these LUTs and programs the switching matrices that connect them together. It's like having a giant breadboard where the wires can be programmed - the same physical chip can become a CPU, a graphics processor, or a network router just by loading different bitstreams.

Do I need any prior experience?

Nope! This program is open to any experience level and we'll help you along the way. However, it is recommended to have some basic understanding of digital logic and programming concepts beforehand but is not necessary.

What's this chip design program about?

After mastering FPGAs, you can level up to Fab - a program where you design real silicon chips that get manufactured and sent to you for free! It's the next step in your hardware journey.

Is this really free?

Yes! This program is funded by Hack Club to help teenagers get hands-on experience with hardware design. No catch, no fees - just learning and building!

Ready to start your FPGA journey?

Join fellow teenagers who have gotten their first FPGA through our program!

Made with ❤️ by teenagers for teenagers. A project by Hack Club.