AloriumTech Evo M51

by Alorium Technology, LLC

Image of Board

The Evo M51 is an FPGA-enhanced Feather compatible compute module from Alorium Technology that features a 32-bit SAMD51 microcontroller along with an Intel MAX 10 FPGA.

Designed for use as an embeddable system-on-module, all of the standard Feather I/O are also routed to castellated vias along the edge of the board. There are 34 additional castellated digital I/O connected to the FPGA and accessible via the SAMD51.

Most digital I/O connections are routed through the FPGA to and from the primary and castellated I/O. This provides the opportunity for developers to immediately capture inputs or drive outputs from the FPGA without requiring direct interaction with the SAMD controller.

Evo M51 will support Alorium Technology-supplied pre-built FPGA images that target specific application use cases. In addition, designers will have the option to develop their own custom logic blocks and integrate them into the top-level MAX 10 FPGA design.

Evo was specifically designed to support running CircuitPython. It is also programmable with Arduino just like many other boards based upon the SAMD51.

Technical details

  • Atmel SAMD51 32-bit ARM Cortex-M4 Microcontroller
  • Intel MAX 10 FPGA
  • 512 KB FLASH and 192 KB RAM
  • 2 MB External QSPI FLASH
  • 6 Analog Inputs
  • 2 Analog Outputs
  • 55 Digital I/O
    • 21 Through-Hole/Castellated
    • 34 Additional Castellated-Only (3.3 V inputs/ouput)
  • 1 NeoPixel (D13)
  • STEMMA QT (QWIIC Compatible)
  • Feather Footprint
  • 0.9” x 2.2” (23 mm x 56 mm)


In order to take full advantage of the additional I/O on Evo M51 using CircuitPython, we have created a custom library bundle that can be found on the Alorium Technology GitHub page:



Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.1.0

This is the latest stable release of CircuitPython that will work with the AloriumTech Evo M51.

Use this release if you are new to CircuitPython.

Release Notes for 9.1.0

Built-in modules available: _asyncio, _bleio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, analogio, array, atexit, audiobusio, audiocore, audioio, audiomixer, binascii, bitbangio, bitmaptools, board, builtins, builtins.pow3, busdisplay, busio, busio.SPI, busio.UART, codeop, collections, countio, digitalio, displayio, epaperdisplay, errno, floppyio, fontio, fourwire, framebufferio, frequencyio, getpass, gifio, i2cdisplaybus, i2ctarget, io, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, locale, math, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, paralleldisplaybus, ps2io, pulseio, pwmio, rainbowio, random, re, rgbmatrix, rotaryio, rtc, samd, sdcardio, select, sharpdisplay, storage, struct, supervisor, sys, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, warnings, watchdog, zlib

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.