What is XLR8?
- Arduino compatible development board
- Embedded 8-bit AVR instruction set compatible microcontroller
- Programmable with Arduino iDE
- FASTER clock rates and overall application speed
- HIGHER-PERFORMANCE through hardware accelerated functionality
- CONFIGURABLE with custom Xcelerator Blocks on the FPGA
XLR8 can improve the speed, performance and functionality of your Arduino-based applications and projects!
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.
Hardware-accelerated functions run in a fraction of the clock cycles required to execute the same function in software.
This results in faster overall application performance.
Shorter times to complete complex tasks in hardware result in more clock cycles available for additional software functions.
Computation performance is significantly improved.
The functionality and capabilities accelerated in the FPGA hardware can be expanded and scaled for many different applications.
We are just scratching the surface of what is possible to accelerate!
- 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
- 5V Inputs
- 3.3V Outputs
- 14 Digital I/O Pins
- 6 PWM Digital I/O Pins
- 6 Analog Pins
- 5V tolerant
- Performance: 1 MHz
- Resolution: 12-bit sustained
- Sample Rate: 154k samples/second
XLR8 is a drop-in replacement for an Arduino Uno with an interesting twist. It is an Arduino-compatible board that uses a Field-Programmable Gate Array (FPGA) as the main processing chip.
The FPGA provides a reconfigurable hardware platform that hosts an ATmega328 instruction set compatible microcontroller.
The FPGA also accelerates specific functionality that is slow, problematic or even impossible for an 8-bit microcontroller.
The FPGA-based hardware acceleration and offload provided by XLR8 results in significantly improved performance in the same physical footprint and using the same tool chain as standard Arduino Uno boards.
XLR8 is a great solution for accelerating your Arduino-based applications and projects!
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.
The NeoPixel Control XB provides three key improvements for controlling NeoPixel shields, strips, and arrays:
- Data memory is not used for pixel color storage.
- Interrupts are not disabled while updating the pixel array.
- 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!
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.
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.
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.
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 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.
The production version of our board includes a new silk screen, some additional test points for automated production testing, and some minor circuit modifications.