XLR8_Logo_White_250x47

Intel MAX 10 FPGA Development Board

Arduino Inspired, FPGA-Based

Although XLR8 was created to bring FPGA capabilities to the Arduino ecosystem, it is also a high quality, affordable option for FPGA designers.

Advantages

  • SUPPORTED by Intel Quartus Prime Lite Edition – FREE!
  • PROGRAMMABLE via JTAG or USB with OpenXLR8 and Arduino IDE
  • COMPATIBLE with vast ecosystem of Arduino shields and accessories

Usage Models

Bare-Metal FPGA Design

If you are looking to develop your FPGA design from scratch, XLR8 gives you a familiar board design form factor.  Just add a pin header, fire-up Intel’s Quartus Prime, and use USB Blaster to load your design to the MAX10 though the JTAG port.

OpenXLR8

If you like the idea of keeping XLR8 Arduino-compatible, you can implement your FPGA logic in the form of Xcelerator Blocks and use OpenXLR8 to load them to the FPGA.  This gives you the ability to program the MAX10 with  your custom functionality across the USB interface on XLR8.

No JTAG and No USB Blaster required!

OpenXLR8

OpenXLR8 is the methodology we are actively developing that allows XLR8 users to create their own custom Xcelerator Blocks and integrate them into the FPGA.

An Introduction to Xcelerator Blocks

What’s an Xcelerator Block?

An Xcelerator Block is an optimized hardware implementation of a unique processor intensive function.   Since everything needs a cool acronym, we simply refer to one of these blocks as an “XB”.

XLR8 ships with pre-installed XBs that target application-specific behavior.  XLR8 can be field-updated to change the XBs implemented on the FPGA.

A list of initial XBs available with XLR8 is provided on the right.  Early feedback from developers indicates interest in Xcelerator Blocks targeted toward functions such as:

  • Proportional-Integral-Derivative (PID) control
  • Event Counters and Timers
  • Quadtrature Encoders/Decoders
  • Pulse Width Modulation (PWM)
  • Multiple UARTS

Alorium will implement future XBs based on feedback from early adopters and new potential customers.  If you have an idea for an XB you’d like to see, jump over to the XB Forum and share your thoughts and requests.

Available XBs

Enhanced Analog-to-Digital Converter

The Enhanced Analog-to-Digital Converter (ADC) XB provides a solution that improves sampling performance and overall results. With the ADC XB, XLR8 can sustain a 12-bit output resolution and can achieve a sample rate of 154k samples/second! This means XLR8 could be a great solution for interesting audio applications or other projects where finer ADC resolution is required.

NeoPixel Control

The NeoPixel Control XB provides three key improvements for controlling NeoPixel shields, strips, and arrays:

  1. Data memory is not used for pixel color storage.
  2. Interrupts are not disabled while updating the pixel array.
  3. Changing pixel brightness does not corrupt color data.

These improvements open the door to new and enhanced ways of implementing NeoPixels in your projects.  In addition, the XLR8 board can drive arrays as large as 1280 pixels!

Servo Control

This XB completely eliminates the “jitter” problem that commonly faces developers using Arduino to control servos for drones, robotic platforms, sensor alignment or other applications.  The XLR8 servo control block can be used by simply including a different header file and then leaving the rest of your sketch completely unchanged!

Floating Point Math

Intense mathematical computation is a known challenge for applications using Arduino-compatible solutions.  The Floating Point XB provides hardware based floating point math implemented in the FPGA fabric. Functions and operations can be accessed from your sketch by installing our library and using our floating point arithmetic functions.

Specifications

XLR8 Top
R

Physical Dimensions

  • Based on the Arduino Uno
  • Matches the Uno’s physical footprint – including pin headers for attaching shields
  • Mounting brackets or shields that fit Uno will also fit XLR8
R

Digital I/O

  • 5V Inputs
  • 3.3V Outputs
  • 14 Digital I/O Pins
  • 6 PWM Digital I/O Pins
  • 6 Analog Pins
R

Analog Inputs

  • 5V tolerant
  • Op-amp circuit emulates 0-5V behavior of the ADCs on the Arduino Uno
  • Correct ADC results regardless of whether it’s powered from USB or from the barrel connector
  • Performance: 1 MHz
  • Resolution: 12-bit sustained
  • Sample Rate: 154k samples/second

The History of XLR8

The XLR8 concept was born as a result of brainstorming ideas for how we could offer the advantages of FPGA processing and acceleration to the Arduino ecosystem.  At the same time, one of our own makers was running into some problems with a home project.  The rest, as they say, is history.

Here's our Kickstarter video from last fall that tells the story.

Hardware Versions

Rev 1 Prototype

This is the first version of XLR8 that we designed. This board went from concept to hardware in our labs in about two months, and it worked like a champ!

Rev 2

Rev 2 of the XLR8 board includes level shifting circuitry to provide true 5-volt compatibility for legacy 5V shields.  There were also some small mechanical changes and a new color.

Production

The production version of our board includes a new silk screen, some additional test points for automated production testing, and some minor circuit modifications.

XLR8 Rev1: Arduino-Compatible Altera MAX 10 FPGA Development Board
XLR8 Rev2: Arduino-Compatible Altera MAX 10 FPGA Development Board
XLR8 Production Board: Arduino-Compatible and Altera MAX 10 FPGA-Based

What people are saying about XLR8

Although Arduino is an excellent platform for rapidly and inexpensively building new product designs, it is resource limited. Alorium Technology’s XLR8 board solves this problem in a cost-effective manner by integrating an Arduino compatible processor into an FPGA with custom Xcelerator Blocks that significantly improve Arduino-based projects.

Tom Pomphrey
Dragonfly Software