The SpiderSoM is a programmable, non-volatile solution based on Intel® MAX®10 FPGA, which enables it to deliver full-featured FPGA capabilities: support for various soft-core CPUs, video-processing algorithms, etc. The SpiderSoM promotes the free and open design concept: all resources, like i.e. design files, gerber, source code, etc. are available under certain open licenses. The SpiderSoM is available as a low cost and extremely flexible platform which enables user to setup a running system according to the required specification in a very short time.
This module can be considered as a cost-optimized alternative to the MX10 module.
- MAX 10 FPGA in F256 package
- Module supports wide range of the devices: from 10M04DC to 10M50DA
- Optional 4 MByte SPI NOR
- Optional 4 GByte e.MMC
- Optional 128/256/512MByte DDR3 DRAM (for 10M 16/25/40/50 FPGAs)
- Programmable clock generator and PLL, with optional external reference input
- 178 FPGA GPIO pins, including 13 LVDS transmitters and 54 receivers
- RTC with battery backup
- Programmable high-efficient PMIC, FPGA IO voltages are configurable
- Optional Li-Ion/Li-Pol charger
- Size: 70mm x 35mm
MX10 and SpiderSoM modules provide a USB device interface implemented with a Microchip PIC16F1454 microcontroller (MCU).
On the host side Linux is supported as Operating System, currently Ubuntu 16.04 LTS is marked as a reference base.
On the SoM side the MCU is connected to three interfaces:
- UART - Accessible as standard serial device ( /dev/ttyACMx ).
- Connected to the FPGA.
- I2C - Accessible as standard i2c device ( /dev/i2c-x ). Requires driver.
- Connected to module PMIC, charge controller, RTC and FPGA.
- JTAG - Used with OpenOCD to program the FPGA (see Getting Started: Quartus Prime & OpenOCD for more).
- Additionally the MCU implements a bootloader supporting the DFU (Device Firmware Update) protocol (see Compiling and Programming PIC Firmware for more).
Currently Windows is not fully supported. One can use the serial interface by manually installing the USB Serial driver.
- Open device manager and select "Other devices" > "Unknown Device". Open its properties and verify that under the details tab the property "Device install path" reads "USB\VID_04D8&PID_EFD0&MI_02\..." Then in the general tab, select "Update driver". Here select "Browse my computer..." and "Let me pick from a list...". Select "Ports (COM & LPT)" then select manufacturer "Microsoft" and model "USB Serial Device". A new COMx device will then be created which can be used with serial tools.
- Alternative way is to use Zadig (https://zadig.akeo.ie/). With this tool you can overwrite the Composite-Device-driver with a USB Serial driver. Make sure that in the Options tab "List All devices" is checked and "Ignore Hubs or Composite Parents" is unchecked. Then select "MX10/Spider MCU (Composite Parent)" and USB Serial (CDC) and click "Replace Driver".
- Pin Assignment Table for SpiderSoM and MX10
- Compiling and Programming PIC Firmware
- Installing OpenOCD
The following components are available for download:
- Linux I2C Driver for SpiderSoM & MX10 on Github
- PIC Firmware for SpiderSoM & MX10 on GitHub
- KiCad Project Files
- Bill of Materials
- Gerber Data
The SpiderSoM is an Open Hardware. All design files are available under CERN_OHL_V1.2