Jotrin Electronics
Beschreibung Menge Insgesamt (USD) Betrieb
Einkaufswagen Produkte
Einkaufswagen Produkte : 0
Startseite > Other > Combining FPGA and ESP32 - Spartan FPGA Edge Acceleration Development

Combining FPGA and ESP32 - Spartan FPGA Edge Acceleration Development Board Review

Updatezeit: 2021-11-12 10:59:59


The ecology of open source hardware Arduino is getting richer and richer, Arduino development boards based on various microcontrollers can no longer meet the development desire of the majority of open source hardware enthusiasts, Arduino official launched the FPGA-based Arduino development board - Arduino MKR Vidor 4000, some time ago, Seeed Studio also launched the Spartan Edge accelerated Arduino Shield, compared with the official Arduino MKR Vidor 4000, the Spartan Edge gas pedal board has similar performance, while the price is less than half! The Spartan Edge accelerator board uses Xilinx's low-cost and cost-effective Spartan 7 XC7S15 FPGA as the main controller, which can be used both as an Arduino expansion board for hardware acceleration and as a separate FPGA development board. In addition, an ESP32 is integrated on the board, which supports 2.4GHz WiFi and Bluetooth 4.1 protocol.

Such an amazing crossover product, let's explore the following.

Hardware Features

The Spartan Edge gas pedal board meets the size specifications of Arduino UNO Shield and is built around the Xilinx Spartan-7 XC7S15 FPGA with 12.8K logic cells, 360Kb Block RAM, running at 100Mhz and flexible IOs that can be configured for PWM, SPI, I2C, UART and other peripherals. UART and other peripherals.


The development board has rich peripherals and interfaces, with powerful playability. For example, 8-bit ADC, 6-axis accelerometer, 2 RGB LEDs, MINI HDMI interface, CSI camera interface, two Grove interfaces, etc. It supports 802.11 b / g / n 2.4GHz WiFi and Bluetooth 4.1 with BLE.

2development board.jpg

Parametric specifications.

  • FPGA chip - Spartan-7 XC7S15

  • Logic Cells - 12,800

  • Slices - 2,000

  • CLB registers - 16,000

  • Maximum distributed RAM (Kb): 150

  • Block RAM/FIFO w/ ECC (36Kb each): 10

  • Total blocks of RAM: 360Kb

  • Clock Management (1MMCM+1PLL): 2

  • DSP Slices: 20

  • Wireless Chip - Espressif ESP32-D0WDQ6

  • WiFi - 802.11 b/g/n 2.4GHz

  • Bluetooth - Bluetooth 4.1 with BLE

  • Peripherals

  • Video: Mini HDMI x1

  • Camera: CSI/MIPI interface x1 (compatible with Raspberry Pi Camera V1 - OV5640)

  • SD card: Micro SD/TF card slot x1

  • FPGA GPIO: 10 pins header (IO9~IO0)

  • Arduino GPIO: 32 pins header (Arduino form factor)

  • Connection with Grove peripherals: Grove Connector x2 (I2C/D2)

  • LEDs

  • 2 monochrome LEDs

  • 2 x 3-color RGB LEDs

  • Keypad

  • 1 Boot

  • 1 Reset

  • 1 FPGA Reset

  • 2 user buttons

  • Switches

  • 1 Power Mode Switch

  • 1 x 5-channel DIP switch

  • Power supply

  • Operating voltage: 5V

  • IO voltage: 5V

  • Power supply method

  • USB Type C 5V

  • VIN 8-17V

  • Arduino Micro USB 5V

  • Other Peripherals

  • 8-bit ADC1173 15MSPS ADC

  • Accelerometer and gyroscope: 6-axis LSM6DS3TR

Hands-on experience

The Spartan Edge accelerator board has two modes of operation, Arduino Shield mode and FPGA standalone mode.

It doesn't matter if the developer knows nothing about FPGA theory, there is a complete official Arduino FPGA API that helps developers use FPGA resources to control the Arduino IDE's FPGA I/O, providing Arduino with once unimaginable features such as edge technology, image recognition, signal sampling and processing, etc.

Arduino Shield Mode

3Arduino Shield Mode.jpg

The Spartan Edge accelerator board is used as an expansion board for Arduino in conjunction with the Arduino IDE or Seeeduino V4.2. The FPGA configuration Bitstream is imported from the SD card into the FPGA via the ESP32 on the board.

Operation steps.

(1) Install the board support package of ESP32 in Arduino

Select File-Preferences-Additional Boards Manager URLs in ArduinoIDE, add the third-party board download link, through the board Manager to add ESP32 platform, after installation, select tool->board->DOIT ESP32 DEVKIT.

(2) Download ESP32 Boot Library

Seeed officially provides the download of ESP32 boot library

4boot library.png

01LoadDefaultBitstream, the function of this example is to import the /overlay/default.bit file from the SD card to the FPGA.

02LoadConfigBitstream This example will read an ini format file /board_config.ini from the SD card and write the key value of overlay_on_boot in the bitstream to the FPGA.

(3) Preparing the SD card

Format the SD card to FAT32 format.

Create a new folder named overlay in the SD card.

Put the bitstream file into the overlay folder.

(4) Run the example

If you want to run the first example 01LoadDefaultBitstream, rename the bitstream file in the overlay folder to default.bit.

5Run the example.jpg

If you want to run the second example 02LoadConfigBitstream, put the board_config.ini into the root directory of the SD card. Insert the SD card into the Spartan Edge accelerator board

(5) Using the IO example

The official IO example of Spartan Edge accelerator board is provided to control the GPIO/ADC/DAC/RGB-LED on the board.

First you need to download Spartan Edge IO Example Library and install the library into Arduino IDE.

(6) Download and run

Use USB Type-C cable to connect the board and PC, press and hold the 'BOOT' key on the board for more than 1s to enter Bootloader mode, click 'Upload' to download the program to ESP32. make sure DIP switch K5 is ON, press and hold 'RST' to reset the board, then the FPGA is ready to run.

FPGA Standalone Mode

The Spartan Edge accelerator board can be used as a normal FPGA board, which requires the use of Xilinx FPGA development software Vivado.

6FPGA Standalone Mode.jpg

The tutorial on the use of Vivado will not be overly described here.


The Spartan Edge gas pedal board combines Arduino and FPGA together, providing developers with more interesting ways to play with Arduino, which is simple and easy to get started, but also has the advantages of FPGA flexibility and parallel acceleration.


Vorherige: The art of making chips "smaller"

Nächste: IoT Top10 semiconductor manufacturers Q3 earnings focus