What is PYNQ?


Key technologies


The Jupyter notebook interface is browser based. Only a compatible web browser is needed to start programming PYNQ with Python. 

For higher performance, you can also use C/C++ with PYNQ. The Xilinx SDK software development environment is available for free.

You can also use third party software development tools. 

New hardware libraries and overlays can be created using standard Xilinx and third party hardware design tools.

Many Zynq boards are fully supported by the free WebPACK version of Xilinx Vivado. 

What software do I need?

Who is PYNQ for?


PYNQ is an open-source project from Xilinx® that makes it easy to design embedded systems with Xilinx Zynq® Systems on Chips (SoCs).

Using the Python language and libraries, designers can exploit the benefits of programmable logic and microprocessors in Zynq to build more capable and exciting embedded systems.

PYNQ users can now create high performance embedded applications with

  • parallel hardware execution
  • high frame-rate video processing
  • hardware accelerated algorithms
  • real-time signal processing
  • high bandwidth IO
  • low latency control


PYNQ is intended to be used by a wide range of designers and developers including:

  • Software developers who want to take advantage of the capabilities of Zynq and programmable hardware without having to use ASIC-style design tools to design hardware.
  • System architects who want an easy software interface and framework for rapid prototyping and development of their Zynq design.
  • Hardware designers who want their designs to be used by the widest possible audience.

Jupyter Notebook is a browser based interactive computing environment. Jupyter notebook documents can be created that include live code, interactive widgets, plots, explanatory text, equations, images and video. 

A PYNQ enabled Zynq board can be easily programmed in Jupyter Notebook using Python.

Using Python, developers can use hardware libraries and overlays on the programmable logic. Hardware libraries, or overlays, can speed up software running on a Zynq board, and customize the hardware platform and interfaces. 

The PYNQ image is a bootable Linux image, and includes the pynq Python package, and other open-source packages. 

How do I get started with PYNQ?

Download a PYNQ image

Get involved


The full source code for the PYNQ project is available the PYNQ GitHub.

If you would like to get involved or contact the PYNQ team, you can post a message on the PYNQ support forum

Check the PYNQ getting started guide



You can find the Pynq documentation on