Arduino unveiled its first FPGA board around two years ago with MKR Vidor 4000 combining an Intel Cyclone FPGA with Microchip SAMD21 Cortex-M0+ MCU in a form factor similar to Arduino Zero.
But in case you are looking for an even smaller Arduino compatible FPGA board, Alorium Technology’s Evo M51 might be exactly what you are after. The Adafruit Feather-sized board is equipped with an Atmel SAMD51 Arm Cortex-M4F microcontroller coupled with an Intel MAX 10 FPGA.
Evo M51 specifications:
- MCU – Microchip (Atmel) SAMD51 Arm Cortex-M4F microcontroller clocked at 120 MHz with 512KB flash, 192 KB SRAM
- FPGA – Intel MAX 10 (10M25) FPGA with 25K LEs, 675Kbit block memory
- Storage – 2MB external flash
- USB – 1x micro USB port for power and programming
- 55x Total Digital I/O – 21x through-hole/castellated vias, 34x additional castellated-only
- 6x digital pins shared with analog pins
- 3.3V Inputs, 3.3V Outputs
- STEMMA QT QWIIC Compatible I2C connector
- 6x analog inputs
- 2x analog outputs
- Misc – RGB LED
- Power Supply – 5V via micro USB or header; 2-pin battery header
- Dimensions – ~56 x 23 mm
While the board is programmable with Arduino, it was also designed to work with Adafruit CircuitPython. You’ll find instructions to get started with either on the quick start page. Note that the CircuitPython port still needs some work:
CircuitPyton is only partially supported at this time. Since the I/O on Evo is routed through the FPGA, additional code is required “under the covers” to appropriately configure the I/O on the FPGA to correspond with I/O settings on the SAMD51.
In the Arduino world, we have handled this with libraries that abstract and hide the mechanics of this process, and we have started to implement similar support libraries for CircuitPython, as well. However, that effort is not complete. We’ll continue to update our docs and libraries as the developments mature.
Thanks to theguyuk for the tip.