FPGA vs microcontroller: hardware you configure or a program you run
A microcontroller (MCU) is a small computer on one chip: a processor core, flash memory for the program, RAM and peripherals such as timers, serial ports and analog inputs. You write software, usually in C or C++, and the core runs it one instruction after another. An FPGA (field-programmable gate array) has no fixed processor: it is a grid of look-up tables, flip-flops and programmable wiring that you configure into the circuit you describe in a hardware description language (HDL) such as Verilog or VHDL, so every part of that circuit works at the same time, on every clock. In one line: on a microcontroller you write a program for a processor that already exists; on an FPGA you design the hardware itself.
What each one is good at
A microcontroller is good at control: reading sensors, driving motors and displays, talking to other devices and running a user interface, all at low cost and low power, with a simple software workflow and fast compile times. An Arduino Uno R3, for example, is built around the ATmega328P microcontroller. An FPGA is good when a processor running instructions one at a time is too slow or too irregular: many operations in parallel, precise cycle-by-cycle timing, very fast or unusual interfaces, video and signal processing. It costs more, usually uses more power, its builds (synthesis, place and route) take far longer than compiling C, and designing hardware is a different skill from writing software. The two also meet: an FPGA can hold a soft processor built from its own logic, and some FPGAs, such as AMD's Zynq-7000 devices, include hard Arm processor cores next to the FPGA fabric.
How both connect to what you build in digiwleea
Inside every microcontroller is a processor core, and that is what digiwleea teaches you to build: gates from transistors, then an ALU, registers, a program counter and a control unit, in a 40+ level course with an AI tutor (Wleea); the capstone CPU runs a stored LOAD, ADD, STORE, HALT program, and Act IV builds the parts behind SUB, JMP, JZ and OUT. Building it that way is also hardware design, the way you work on an FPGA, and the FPGA lesson shows how LUTs and flip-flops hold such a design. The lab can export a circuit to Verilog or VHDL, but it is not an FPGA toolchain or a microcontroller simulator; for microcontroller code in the browser, see Wokwi or Tinkercad Circuits, and for the chip-level difference, microprocessor vs microcontroller.
FPGA and microcontroller side by side
| Microcontroller | FPGA | |
|---|---|---|
| What you make | A program for a fixed processor | The hardware itself |
| Languages | C, C++, sometimes Python | Verilog, VHDL and other HDLs |
| How work happens | One instruction after another | Many operations in parallel, every clock |
| Timing | Depends on the code and interrupts | Exact, cycle by cycle |
| Build time | Seconds | Minutes to hours (synthesis, place and route) |
| Cost and power | Low | Higher |
| Typical use | Control, sensors, user interfaces | Fast parallel processing, custom interfaces, prototyping chips |
No sign-up is needed to start: open the lab and place your first transistor, or read the free theory course. The account (and the AI tutor) are optional.
More comparisons: Digital logic concepts compared
See for yourself: build a logic gate from transistors in the simulator, then follow the path from sand to an 8-bit CPU.
Open the digiwleea lab →Frequently asked
What is the difference between an FPGA and a microcontroller?
A microcontroller contains a fixed processor that runs your program one instruction at a time. An FPGA contains configurable logic that you wire into custom hardware with an HDL, so many operations run in parallel on every clock.
Is an FPGA faster than a microcontroller?
For tasks that can be done in parallel or need exact timing, usually yes, because the FPGA does the work in dedicated hardware instead of stepping through instructions. For ordinary control code a microcontroller is fast enough, cheaper and much simpler to program.
What are the downsides of an FPGA?
Higher cost and usually higher power than a microcontroller for simple jobs, much longer build times (synthesis and place and route instead of a quick compile), harder debugging, and the need to learn hardware design in Verilog or VHDL.
Is an FPGA like an Arduino?
Not really. An Arduino board is built around a microcontroller that runs your sketch as a program. An FPGA board is configured into a circuit. Both are popular hobby boards, and FPGA boards are often used alongside microcontrollers.
Is a Raspberry Pi an FPGA?
No. A Raspberry Pi computer is built around a processor chip that runs an operating system, and the Raspberry Pi Pico uses a microcontroller. Neither contains FPGA fabric.
Can an FPGA run a microcontroller program?
Only if you first build a processor in it. An FPGA can implement a soft processor core from its own logic, and some FPGAs include hard processor cores, and that processor then runs the program.