Contact Us
Blog / RP2040 + Cyclone 10 FPGA PCB Design Project

RP2040 + Cyclone 10 FPGA PCB Design Project

Posted:06:13 PM June 30, 2025 writer: vivian

We are excited to support Khaled Magdy's RP2040 + Cyclone 10 FPGA PCB Design Project, a cutting-edge embedded system combining Raspberry Pi's RP2040 microcontroller and Intel's Cyclone 10 FPGA. This project was designed using Kicad, a powerful open-source PCB design tool, and was made possible through our NextPCB Accelerator, which helps engineers bring their innovative hardware ideas to life.

Project Overview

In this project, Khaled Magdy demonstrates the design and implementation of a custom PCB development board that combines the Raspberry Pi Pico (RP2040 microcontroller) and the Intel Cyclone 10 FPGA. This hybrid architecture enables flexible embedded system development, allowing users to explore high-speed inter-chip communication, hardware-accelerated computing, and custom peripheral expansion.

Key Features of the RP2040 + FPGA Board

1. Dual-Chip Architecture

  • Raspberry Pi RP2040
    • Dual-core ARM Cortex-M0+ running at 133 MHz
    • Programmable I/O (PIO) for custom communication protocols
    • USB-C support for programming and debugging
    • Onboard 16MB QSPI Flash for firmware storage
  • Intel Cyclone 10 FPGA (10CL006)
    • 6K Logic Elements (LEs) for custom digital logic
    • Two PLLs for clock management (up to 400MHz)
    • 64Mbit QSPI Flash for FPGA configuration
    • Supports JTAG and Active Serial (AS) programming

2. High-Speed Communication Interfaces

  • SPI Bus (62.5 Mbps max)
    • Used for RP2040 ↔ FPGA data exchange
    • Supports DMA transfers for low CPU overhead
  • Custom PIO-Based Bus
    • Allows protocol-free parallel communication
    • Useful for real-time control & custom peripherals

3. Onboard Peripherals

RP2040 Side FPGA Side
0.96" OLED Display 8x DIP Switches
Rotary Potentiometer 8x LEDs
6-Axis IMU (ICM-42670) 4x Push Buttons
RGB LED (PWM) NeoPixel (WS2812)
USB-UART Bridge I2C EEPROM (24C64)

4. Power Management

  • 3.3V (RP2040 & FPGA I/O)
  • 1.2V (FPGA Core Voltage)
  • 2.5V (FPGA Auxiliary Voltage)
  • USB-C & External DC Input

5. PCB Design & Layout

The board was designed in KiCAD, with careful attention to signal integrity and power distribution. Key considerations included:

  • Separate power domains for the RP2040 and FPGA
  • Optimized SPI & PIO routing to minimize noise
  • User-friendly placement of buttons, LEDs, and connectors

3D Render of the Board

6. Testing and Validation

  1. RP2040 Testing: Successfully verified GPIO control, ADC sampling, PWM output, and OLED display driving.
  2. FPGA Testing: Confirmed JTAG programming, QSPI flash configuration, SPI slave communication, and achieved 62.5Mbps data transfer speeds.
  3. Co-Processor Testing: The RP2040 controls the FPGA’s PWM output via SPI, enabling real-time LED brightness adjustment based on ADC readings.

One of the most compelling aspects of this design is its high-speed communication architecture. The board implements a robust 4-wire SPI interface capable of operating at up to 62.5 Mbps, allowing for efficient data transfer between the processors. Additionally, the inclusion of a custom 4-wire PIO-based bus opens up possibilities for implementing specialized communication protocols that can be tailored to specific application requirements. Engineers can configure the FPGA through both JTAG and QSPI flash, implement high-speed data transfers between processors, and develop mixed-signal applications combining the RP2040's ADC with PWM outputs. The custom PIO-based communication channel offers particularly exciting possibilities for implementing novel digital interfaces.

We are proud to have supported this project that delivers a robust experimentation platform for embedded systems developers and FPGA enthusiasts, ideally suited for educational purposes, prototype development, and advanced hardware design applications.

For comprehensive technical details and implementation guides, please visit Khaled Magdy's technical blog: https://deepbluembedded.com/rp2040-cyclone-10-fpga-pcb-design-project/

YouTube tutorial channel: https://www.youtube.com/watch?v=bl_8qcS0tug

 

Tag: KiCad FPGA NextPCB Accelerator RP2040
  • PCB
    Prototype
  • PCB
    Assembly
  • SMD
    Stencil

Dimensions: (mm)

×

Quantity: (pcs)

5
5
10
15
20
25
30
40
50
75
100
120
150
200
250
300
350
400
450
500
600
700
800
900
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
8000
9000
10000

Other Quantities:(quantity*length*width is greater than 10㎡)

OK

Layers:

2

Thickness:

1.6 mm
Quote now