Skip to content

Setting up your system (Remote Development Servers)

Pau Gómez edited this page Jan 24, 2026 · 35 revisions

⚠️ The instructions below only apply to registered participants of the FPGA training course with remote AWS development servers. Please disregard them if you are setting up a local development environment.


Access FPGA Server Control

  • Navigate to http://51.94.77.149:8000
  • Introduce your server tag and user password (see credentials cheat sheet below)
  • Select Get Server State and hit Submit
  • Inspect the response and keep the IP address (you will need it in the following sections)
  • Use the Start Server and Stop Server options to start or stop your remote server

Configure Redpitaya

  • Download the preconfigured SD card image from Pynq-Redpitaya-125-14-3.0.1-preconfig.img (alternative download link).
  • Flash the SD card (min 16GB). Instructions for writing SD card images can be found in pynq-doc and redpitaya-doc.
  • Once SD card has been flashed, insert it into your PC and open the PYNQ partition. Copy-paste the content from boot.py into the boot.py file within your PYNQ partition (previous contents of boot.py should be fully erased).
  • Put your server's IP address into line 5:
    server_address = None   #Change to server IP address obtained in previous section, e.g. "49.54.1.101"
    
  • (Optional) If required, edit the FPGA network parameters within boot.py to assign a static IP address. Otherwise, DHCP will be used.
  • Save and eject SD card
  • Insert SD card into your Redpitaya (should be powered down)
  • Use an ethernet cable to connect your Redpitaya to the your router/switch (with access to internet)
  • Power up your Redpitaya

ℹ️ Once powered up, only the green LED of your Redpitaya will shine. The blue LED is initially powered off, it will turn on during the upcoming lectures whenever a bitstream gets loaded. Other status LEDs described in the documentation are not implemented in the firmware for this course.

ℹ️ To check that your Redpitaya is operative, please proceed to the following section (verify full system connectivity) or access its Ubuntu Terminal via the COM port (instructions here).


Verify Connectivity

  • Open FPGA Server Control
  • Start your Server (please remember to stop you server when unused)
  • Connect via remote desktop. Protocol: RDP. Address: server IP. Credentials: see cheat sheet below
  • On your remote machine, open the Firefox web browser and navigate to 10.0.0.2:9090
  • You should be prompted to the PYNQ Jupyter Notebook welcome page (password: see credentials cheat sheet below).

ℹ️ The FPGA and AWS server are linked through a private VPN connection. The VPN typically works fine when connecting the Redpitaya to your router at home but might be blocked by the firewall of your university/work. In this case, please contact your IT department to:

  • Enable UDP traffic to X.X.X.X:51820, where X.X.X.X is your AWS server public IP address

For more details have a look the Wireguard VPN client configuration file that is included in the preconfigured OS of this course.


Create and share RSA key pair

We will generate an RSA key pair that will prevent you from using passwords in your SSH and SCP commands:

  • Open a command line terminal (Ubuntu Applications Menu)
  • Generate the key pair:
ssh-keygen -t rsa
  • You can proceed with the default configurations and hit Enter.
  • Upload the the generated key pair to the Redpitaya-125-14 (password: xilinx).
ssh-copy-id xilinx@10.0.0.2
  • Verify that you can use SSH without having to provide a password.
ssh xilinx@10.0.0.2

Create a Vivado IDE shortcut to upload overlays

Overlays are file bundles created around a custom FPGA image, which include the generated bitstream and hardware_handoff files to provide information on the instantiated IPs, memory interfaces, etc. These files are typically manually collected out of the Vivado project, renamed and uploaded to the FPGA. The process is simple but require a few minutes of your time. I have created a simple TCL script that fully automates this process and which can be launched via a shortcut in the Vivado IDE. To set this up, you need to:

  • Open Vivado (Ubuntu Applications Menu).
  • Open the upper toolbar and go to Tools --> Custom Commands --> Customize Commands.
  • Add a new command that executes ~/Documents/FPGA-Notes-for-Scientists/tcl/upload_overlay.tcl.
  • After pressing OK, a new button appears on the Vivado toolbar. We will use it after bitstream creation to automatically construct the corresponding overlay and upload it to your Redpitaya-125-14.
  • Close Vivado.

Credentials Cheat Sheet

Resource User Password
FPGA (scp, ssh, jupyter notebook) xilinx xilinx
Remote Server (RDP) ubuntu top_secret
FPGA Server Ctrl tag sent via e-mail pwd sent via e-mail

Common Pitfalls

  • FPGA type: this course only supports the Redpitaya-125-14 (125-10 is not compatible)

  • Correct server IP address within boot.py (see instructions). Remember to add the quotation marks when writing the server IP address in server_address = "X.X.X.X" #CHANGE TO YOUR SERVER IP

  • Power the Redpitaya with the provided 5V power supply or a reliable USB-3 charger (some phone charger do not provide sufficient current). Remember to connect the micro-usb cable to the PWR port of your Redpitaya.

  • Internet connectivity issue. Make sure your Redpitaya is connected with an Ethernet cable to a router that has internet access. If you are at work/university, the VPN might be blocked by a firewall (see note below Verify Connectivity)

  • Downloaded SD card image integrity. The md5sum of Pynq-Redpitaya-125-14-3.0.1-preconfig.img yields 8492ee47f0d3dcdb7e91fa98f5b4d2d8. In the past I have seen that sometimes the flashed SD card image is corrupt and that you have to flash it again

  • If none of these solve the issue I recommend you to use a 2nd micro-usb connector, connect it to the CON port and have a look at the serial console (instructions here). It is quite useful to monitor the serial console while power cycling the board and see if the boot process gets stacked at some point. For example a corrupt SD card image often leads to a "kernel panic" during boot.

Clone this wiki locally