Meet the ZYBO

So… you’ve got a ZYBO. At first glance, it looks like a normal dev board. Some LEDs, some ports, a chip in the middle — nothing too crazy.

Then you realize that chip is the Zynq-7000, which is basically a dual-core ARM Cortex-A9 sitting right next to a full FPGA, and now things start to feel a little different. This isn’t just a microcontroller. It’s not just an FPGA either. It’s both — and the whole point is making them work together.

In this series, we’re not going to waste time blinking LEDs like it’s a rite of passage. The goal is to turn the ZYBO into a real, usable system — starting with Linux, then building our way into custom hardware, acceleration, and projects that actually feel worth doing.

Project Scope

The goal here is simple:

  • Turn the ZYBO into a fully functional embedded Linux system, and then start bending it to our will.

We’re going to:

  • Set up the hardware platform in Vivado

  • Boot PetaLinux on the board

  • Get access to UART, Ethernet, USB, and other peripherals

  • Build a stable system we can reuse for future projects

And then, once that foundation is in place:

  • Start interacting with hardware from Linux

  • Add custom logic in the FPGA (PL)

  • Build drivers and interfaces

  • Eventually push into things like HDMI and SDR integration

This isn’t a one-off tutorial — this is the starting point for everything that comes after.

Tools (Equipment and Software)

This is the equipment and/or parts list you will need to complete this series of tutorials:

  • ZYBO Z7 board (Z7-10 or Z7-20)

  • SD card (for booting Linux)

  • A computer that can run Xilinx tools without catching fire

Software

  • Vivado — hardware design

  • Vitis — software development (bare-metal, later on)

  • PetaLinux tools — building the Linux system

  • Serial terminal (PuTTY, TeraTerm, etc.)

Implementation (The How)

We’re going to break this into a few focused steps. Each one has its own walkthrough so this page doesn’t turn into a novel.

  • Understanding the ZYBO Architecture

    PS vs PL, what lives where, and why it matters.

  • Development Workflow

    What Vivado and Vitis actually do, and how they fit together.

  • Vivado Hardware Setup

    Build the base hardware platform (PS configuration, peripherals, etc.).

  • PetaLinux Setup

    Take the hardware and turn it into a bootable Linux system.

  • Vitis Setup

    Set up the environment for writing and deploying software to the ARM cores.

  • First Boot & Validation

    Boot Linux, connect over UART/SSH, and make sure everything actually works.

Outcome (Did it work)

If everything worked, you should now have:

A ZYBO that boots into Linux from an SD card
UART console access
Ethernet connectivity (SSH into the board)
USB support
A stable platform you can build on

More importantly:
You now have a system where software and hardware can actually work together.

At this point, we’ve barely touched the FPGA — and that’s about to change. Next up, we’ll start interacting with hardware from Linux and then move into building our own custom logic in the PL. And eventually… we’ll make this thing push pixels over HDMI.