Arduino announced several new products at the 2018 Bay Area Maker Faire. One of those products is the MKR Vidor 4000, an FPGA-based board. You can read their official announcement here. (Over here is a write-up on the new Uno WiFi Rev 2.) The goal of the MKR Vidor is to make FPGA accessible to makers and innovators. It represents a new shift in hardware focus for the Arduino team.

An FPGA is a Field Programmable Gate Array. In other words, it is reconfigurable hardware. Unlike a microcontroller, an FPGA is not running software. Instead, its gate array changes configurations for a specific task.

The example I like to think about is a rotary encoder. You might find one on the spindle of a motor. As the motor spins, an IR sensor detects slits in the encoder to track speed and direction. In a microcontroller based system, you might use an interrupt to monitor the IR sensor. Even though interrupts can respond quickly, there is still a chance of missing a pulse. Plus, the rest of the microcontroller has to wait while the interrupt is handled. In an FPGA, however, you would build a hardware counter with the pulse driving the counter’s clock input. This counting happens independently of whatever else the FPGA is doing.