Recommended Free Tools
The Microchip PolarFire SoC Icicle Kit runs Linux on four SiFive U54 RISC-V application cores while a separate E51 monitor core and the MPFS250T FPGA fabric handle control, real-time and hardware-accelerated work. The reliable path is to boot Microchip’s supplied image using the QuickStart wiring, then move to a Yocto-built image when you need different packages, device-tree settings or FPGA-connected peripherals.
What the Icicle Kit combines
The Icicle Kit is a development board built around the MPFS250T PolarFire SoC FPGA. Microchip describes the device this way: “Microchip’s PolarFire SoC devices combine a RISC-V 5x core Microprocessor Subsystem capable of running Linux and the PolarFire FPGA fabric in a single device.” Microchip’s embedded-software guide documents the Linux-capable processor subsystem and the FPGA side together.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Microchip Technology, MPFS-Icicle-KIT-ES, PolarFire SoC FPGA SiFive RISC-V Icicle Kit MPFS250T... | $1,085.72 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
| Part of the device | Role when running Linux |
|---|---|
| SiFive E51 monitor core | Monitor and low-level management duties in the five-core subsystem. |
| Four SiFive U54 application cores | Run the Linux kernel, services and user applications. |
| PolarFire FPGA fabric | Implements custom digital logic, deterministic datapaths and accelerators alongside Linux. |
The current kit documentation lists 254K logic elements. The board exposes Gigabit Ethernet, USB, an SD-card slot, PCIe, CAN and expansion connectors; the exact connector arrangement and bring-up procedure are in the PolarFire SoC Icicle Kit QuickStart Guide.
Check the board revision before connecting power
Microchip documentation distinguishes the current MPFS-ICICLE-KIT from an earlier engineering-sample kit. Read the label on your hardware and use the matching revision of the Icicle Kit embedded-software documentation. Pin assignments, images and setup details should not be assumed interchangeable between revisions.
#1 Best Overall
A Linux or WSL host is sufficient for the software portion of the workflow. For the initial boot, have the board’s supplied power hardware, an Ethernet cable and a micro-USB cable available. A microSD card is useful because the board has an SD-card slot, but the cited documentation does not establish one universally approved capacity or speed class.
First boot with the supplied Linux image
Use the official QuickStart sequence for the first power-on rather than starting with a custom build.
- Identify the board revision and place the supplied boot media in the board as directed by the QuickStart Guide.
- Connect the supplied 12 V power source.
- Connect Gigabit Ethernet if you want network access during or after boot.
- Connect the micro-USB UART interface to the host and open the resulting serial console with the terminal settings specified in the guide.
- Power the board and observe the boot messages. The supplied Linux image should reach a login prompt or shell through the UART console.
If the console remains silent, check the selected USB serial device, cable, board power and revision-specific instructions before changing the image. Do not infer a failed Linux boot solely from missing Ethernet activity; the UART console is the primary first-boot diagnostic path described by the guide.
Confirm the running system
After logging in, establish what actually booted before modifying anything:
uname -areports the running kernel and architecture.ip addrshows whether the Ethernet interface received a link or address.lscpuidentifies the visible RISC-V processors.ls /dev/spidev*checks whether a userspace SPI device has been enabled in the image and device tree.
These checks separate a successful Linux boot from a peripheral configuration problem. A missing /dev/spidev* node, for example, does not mean the SPI controller is absent; it can indicate that the relevant device-tree node or userspace driver was not enabled.
Build a custom Linux image with Yocto
Custom images use Microchip’s linux4microchip Yocto manifest and the Icicle board configuration. The Microchip Developer Help GPIO example provides the supported pattern for setting up the build and changing board software: PolarFire SoC GPIO application.
1. Prepare the build host
Use a supported Linux distribution or WSL environment, install the host packages required by the Yocto release referenced by Microchip, and keep the build in a case-sensitive filesystem with enough free space. The exact package list and branch move with the manifest revision, so use the commands and branch named in the current Microchip instructions rather than copying an older tutorial.
Free tools Windows power users keep installed
One-click scans. No signup required.
2. Initialize the Microchip manifest
Initialize the linux4microchip Yocto manifest, select the revision that matches your Icicle documentation, and synchronize the layers. This supplies the board machine configuration, kernel, bootloader and recipes used by the supported image.
3. Select the Icicle target
Choose the Icicle Kit machine or target specified by the manifest documentation before starting the build. A target for another PolarFire SoC board can produce a valid image that nevertheless has the wrong pin mux, boot media or peripheral nodes for the Icicle.
4. Add packages and hardware settings
Place application packages in the appropriate Yocto image configuration and modify the board device tree for enabled GPIO, SPI or custom logic connections. Keep hardware description changes in a layer or configuration fragment so they can be reproduced when the manifest is updated.
5. Build, deploy and validate
Run the build task named by the selected Microchip manifest, write the resulting boot media or image using the deployment method in the Icicle guide, then boot over UART. Validate the change on the board: check the expected device nodes, exercise the interface and confirm that unrelated peripherals still initialize.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallGPIO development pattern
Microchip’s GPIO application guide illustrates the normal progression: configure the Yocto image, describe the board GPIO in the device tree, rebuild, deploy and test from Linux. Use that pattern for LEDs, buttons or an external GPIO header instead of hard-coding pins in an application. The page was last modified on April 17, 2026, so check it alongside the board revision and current manifest.
SPI: start in Linux userspace, then accelerate selectively
The Microchip SPI application guide shows two supported validation routes:
- Enable the SPI controller and its chip-select in the device tree and include the userspace support needed for
spidev. - Use
spidev_testto verify transfers and chip-select wiring. - Move to a small C program when your protocol needs application-specific framing or error handling.
- Only after the Linux path is understood, place timing-critical or high-throughput portions in FPGA fabric and connect them through the documented SoC interfaces.
This staged approach makes a wiring or device-tree error visible before it is hidden inside a larger FPGA design.
Decide what belongs in Linux and what belongs in the FPGA
| Workload | Better starting point | Reason |
|---|---|---|
| Networking, filesystems, updates and user interfaces | Linux on the U54 application cores | Uses the operating system’s drivers, processes and networking stack. |
| Control-plane logic and configuration | Linux application | Easier to develop, log and update in software. |
| Strictly timed I/O or pulse generation | FPGA fabric, coordinated by Linux | Hardware logic provides deterministic timing while Linux supplies policy. |
| Streaming transforms or protocol offload | FPGA fabric with a Linux control path | Parallel datapaths can run beside the application processors. |
| Rapid proof of concept | Linux userspace first | GPIO and SPI can be validated before committing to custom RTL. |
The point of the Icicle platform is not to choose between a processor board and an FPGA board. It lets a design assign each function to the subsystem that fits its timing, throughput and maintainability requirements.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Interfaces available for a prototype
| Interface or resource | Practical use |
|---|---|
| Gigabit Ethernet | Remote shell, data transfer, network services and test automation. |
| USB | Host or peripheral connectivity, depending on the board configuration. |
| SD card | Boot and removable storage workflows supported by the board image. |
| PCIe | High-bandwidth expansion or endpoint experiments when the design enables the required hardware and software. |
| CAN | Embedded and industrial network experiments. |
| Expansion connectors | External GPIO, serial and custom FPGA-connected circuitry, subject to the connector pinout and device-tree setup. |
Availability of an interface on the board does not by itself enable it in Linux. The kernel configuration, device tree, FPGA design and physical pin multiplexing must agree.
Toolchain, security and evidence limits
A complete project spans the Linux/Yocto software stack and Microchip’s FPGA design flow. Select the vendor tool versions and board files that match the Icicle documentation revision; mixing a device-tree description from one revision with an FPGA design or image from another is a common source of confusing failures.
For a deployable product, evaluate secure-boot and image-signing support in the applicable PolarFire SoC and board documentation rather than assuming that a development image is production-secure. Microchip’s product overview is the starting point for the device-level feature set: PolarFire SoC FPGAs.
No independent performance benchmark or power measurement is established by the cited material. Treat the Icicle as a flexible development platform, and measure throughput, latency, thermals and power on your own design.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Troubleshooting checklist
| Symptom | Likely area to check | Next action |
|---|---|---|
| No UART output | Power, cable, serial device or board revision | Repeat the QuickStart wiring and confirm the revision-specific console instructions. |
| Linux boots but Ethernet is absent | Cable, link partner, network configuration or image support | Check link LEDs and ip addr; verify the image and device tree for the selected board. |
| GPIO does not respond | Pin mux, device-tree node or package configuration | Compare the node with Microchip’s GPIO example, rebuild and retest. |
No /dev/spidev* |
SPI node, chip-select or spidev support | Follow the SPI guide, enable the node and userspace driver, then run spidev_test. |
| Custom image fails before login | Wrong machine, manifest revision or deployment media | Return to the known-good supplied image, confirm the target and rebuild from the matching manifest. |
What the Icicle Kit is best suited for
- Learning how Linux and RISC-V software interact with FPGA logic in one device.
- Building networked or storage-aware FPGA prototypes with a Linux control plane.
- Testing deterministic I/O, sensor pipelines, communications and hardware acceleration.
- Creating a reproducible Yocto distribution tailored to a custom carrier, peripheral set or application.
Bottom line
Start with the revision-matched QuickStart image and UART console. Once that baseline works, use the linux4microchip Yocto manifest to create a reproducible Icicle image, describe peripherals in the device tree, and validate GPIO or SPI in Linux before moving timing-critical functions into the FPGA fabric. That processor-plus-FPGA split is the board’s defining advantage over a Linux-only single-board computer or an FPGA-only development board.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




