AloriumTech’s “XLR8” board is an Arduino Uno clone with an Altera MAX10 FPGA that enables faster processing of specific hardware-accelerated functions.
Alorium Technology (AloriumTech) has developed an Arduino Uno drop-in replacement powered by an FPGA, enabling much faster performance of hardware-accelerated functions. The XLR8 has the same 68.6 x 53.4mm footprint as the Uno, including identical pin headers for attaching shields. Sketches for any ATmega328 Arduino-compatible board will run on the XLR8, and you can load your code directly via the Arduino IDE, says the company.
(click image to enlarge)
The Altera MAX10 (10M08) FPGA hosts a soft implementation of an Atmel ATmega328-compatible microcontroller for implementing custom logic that can be interfaced directly to the processor.The XLR8 clocks the MAX10 to 16-32MHz, and backs it up with 32KB flash and 2KB SRAM.
The board is equipped with a USB-to-serial UART interface (FT230XQ), as well as a micro-USB port for communications or 7-12V power, the same range supported by the separate barrel power jack. Additional features include 14 digital I/O pins with 5V inputs and 3.3V outputs, as well as six digital PWM pins. There are also 6x analog inputs with 5V tolerance, 12-bit sustained resolution, and a 154k samples/second rate. A reset button is also available.
The FPGA enables the development of hardware-accelerated functional units AloriumTech calls Xcelerator Blocks (XBs). The board currently ships with a choice of three XBs, which can be changed via field updates via the USB port:
- NeoPixel Control — Improves control of NeoPixel shields, strips, and arrays, enabling arrays as large as 1,280 pixels
- Servo Control — Eliminates “jitter” when controlling drones or robots, or aligning sensors
- Floating Point Math — Implements hardware based floating point math for intense mathematical computation
Advanced developers can also use the JTAG port to communicate with the FPGA directly. Any floating point operation that developers want to accelerate in a sketch, or in libraries, needs to be converted into the XLR8-specific function call, says the company.
AloriumTech plans to add more XBs, starting with some areas highlighted by developer feedback. Future options may address requested applications such as proportional-Integral-Derivative (PID) control, event counters and timers, quadtrature encoders/decoders, PWM, and multiple UARTS.
AloriumTech currently provides only limited support for users who want to create their own XBs and interface. However, “Down the road, we do plan to provide access to enough source code and documentation to make it possible for someone proficient with Verilog or VHDL, and with Quartus, to create their own XBs,” says the company.
AloriumTech has posted a YouTube video about an IoT application that uses the XLR8 with the open source Blynk mobile app. Blynk, which also works with the Raspberry Pi, lets you build a graphic digital dashboard interface for IoT projects “by simply dragging and dropping widgets,” says the Blynk community.
Video on using XLR8 with Blynk IoT control app