Interested in implementing artificial intelligence in your next design? Looking to broaden your understanding of designing with Xilinx’s latest Zynq UltraScale+ MPSoC? Want to shorten your prototype development efforts using Python and PYNQ? and Avnet are pleased to introduce six on-line training courses that will equip you with the knowledge and skills needed for your next Zynq UltraScale+ design.

Ultra96 Technical Training Courses

In the first three courses of this bundle you will learn the fundamentals of developing software applications, building a custom hardware platform, and running the PetaLinux tools to build embedded Linux for Ultra96. 

The three advanced courses allow you to dive deeper into application specific areas including SDSoC, Artificial Intelligence, and Python/PYNQ. 

Access the Ultra96 Technical Training Course Bundle


Ultra96 Bundle

for a limited time only


 This online course bundle gives you access to all six Ultra96 technical training courses at a pace you desire.

Each training course is composed of short 15-20 minute presentations followed by hands-on labs. The labs are built on Avnet’s Ultra96 - a low-cost, easy to use platform based on the Xilinx Zynq UltraScale+ MPSoC. All the labs support both the Ultra96-V1 and V2. Additional hardware that is required beyond the Ultra96 kit is highlighted below.

Technical Training Courses and Hands-on Labs

Ultra96 Introductory Courses

In the first 3 introductory courses of this 6-course technical training bundle, you will learn the fundamentals of developing software applications, building a custom hardware platform, and running the PetaLinux tools to build embedded Linux for Ultra96. 

Developing Zynq UltraScale + MPSoC Software

This course explores the fundamental concepts of the Xilinx Software Development Kit (SDK). Using a pre-built hardware platform, you will learn how to navigate the SDK environment and develop some basic C-code examples for the Ultra96 / Ultra96-V2 board.

Connect the SDK to hardware for execution and debug

Utlilize a peripheral interrupt to show real-time software response

Learn to use an external sensor module

Explore how to import hardware into your Xilinx SDK environment

Introduction to the Xilinx SDK

With Xilinx Software Development Kit 2018.3

Instructor: Adam Taylor

This course will teach you how to develop a Zynq UltraScale+ MPSoC hardware platform using the Xilinx Vivado tools while also learning ZU+ architecture. Vivado is used to configure the processing system parameters, including clocking, memory interface, and peripherals. Vivado is also used to develop custom hardware in the programmable logic. Build a working hardware platform that runs your code on the Ultra96 / Ultra96-V2 board.

Developing Zynq UltraScale + MPSoC Hardware

Introduction to the Zynq UltraScale + MPSoC Architecture, including the Arm Cortex™-A53 processor

Utilize the Xilinx embedded systems tool to:

  • Design a Zynq UltraScale + MPSoC system
  • Add Xilinx and custom IP
  • Run software applications to test the IP
  • Debug an embedded system

Introduction to the Zync UltraScale + MPSoC development flow with
Vivado's IP Integrator

With Xilinx Vivado 2018.3

Instructor: Adam Taylor


  • Developing Zynq UltraScale + MPSoC Software course or applicable experience 

Integrating Sensors on Ultra96 with PetaLinux 2018.3

From within an Ubuntu OS running within a virtual machine, learn how to install PetaLinux and build embedded Linux targeting Ultra96 or Ultra96-V2. In the hands-on labs learn about Yocto and PetaLinux tools to import your own FPGA hardware design, integrate user space applications, and configure/customize PetaLinux.

Import existing Vivado hardware designs into PetaLinux

Add custom applications into PetaLinux

Build, customize, and configure PetaLinux for Ultra96

Instructor: Adam Taylor


  • Developing Zynq UltraScale + MPSoC Software course or applicable experience 

Ultra96 Advanced Courses

The advanced courses allow you to dive deeper into application-specific areas including SDSoC, Artificial Intelligence, and Python/PYNQ.

Using proven flows for SDSoC, you will learn to navigate the SDSoC tool. Through hands-on labs, we will create a design for a provided platform and then create a platform for the Avnet Ultra96. You will see how to accelerate an algorithm during the course lab. The overall experience should give you the background needed to assist in developing custom platforms with custom algorithms, accelerated by SDSoC.

A Practical Guide to Getting Started with Xilinx
SDSoC 2018.3

Instructor: Dan Rozwood

Build a bare metal platform from scratch

Enable and test a PetaLinux BSP running on the Ultra96 Board

Introduction to the design concepts and problem-solving techniques of SDSoC

Test the platform using a simple matrix multiplier example


  • A working knowledge of Xilinx Vivado, SDK, and PetaLinux design tools OR attendance at our other three fundamentals courses
  • Experience with the Vivado 2018.3 tools is recommended but not required.  

Deep learning achieves human-like accuracy for many tasks considered algorithmically unsolvable with traditional machine learning. It is frequently used to develop applications such as face recognition, automated driving, and image classification.

Introduction to Deep Learning with Xilinx SoCs is a technical training course that provides a hands-on introduction to deep learning. The Xilinx Edge AI Inference solution is used to deploy the DNN for inference on the Xilinx MPSoC (Ultra96).

Introduction to Deep Learning with Xilinx SoCs

Instructor: Mario Bergeron


Quantize, compile, and deploy to the Ultra96

Reuse pre-validated CNN from the Xilinx Model Zoo

Create and train a simple convolutional neural network (CNN) from scratch

Create your own Edge AI platform for the Ultra96

Take Python to the next level with PYNQ and the Avnet Ultra96 hardware platform. PYNQ is an open source Python productivity framework for Xilinx MPSoC that comes integrated with AArch64 Linux based on Ubuntu 18.04 LTS. Ultra96 is a 96Boards certified, palm of your hand computing platform designed around the high-performance Xilinx MPSoC ZU3EG. The ZU3EG has 6 Arm™ CPUs, display port, multiple peripherals and programmable logic.

Turbocharge Python with Ultra96 PYNQ

Instructor: Fred Kellerman


  • Some knowledge of Python 3 is necessary
  • General Linux experience, Xilinx hardware design skills and understanding of C programming is recommended but not required.

Develop applications for Ultra96 with a web browser based IDE: Jupyter Labs

Re-use open source based projects with Ultra96

Write custom drivers completely in Python to interface with Xilinx programmable logic

Control hardware with Python

Accelerate Python with hardware

Create living-code documents with Jupyter Notebooks

Working examples will include: Machine learning image classification, hardware accelerated OpenCV and more...


Ultra96 Course 


for a limited time only


Recommended Hardware

To complete the labs for each course, the following Avnet hardware is required:

Click Mezzanine Bundle 



Required for introductory courses only




Required for all courses except advanced Ultra96 PYNQ course

Ultra96 Development Board



Includes a 16GB microSD card + voucher to license required Xilinx development tools

Power Supply



Attendees will also need the following:

Laptop with Xilinx Vivado Design Suite 2018.3 installed

Recommended cameras include Logitech BRIO, Logitech C920 and Logitech C270

Required for Introduction to Deep Learning Course ONLY

USB Camera

Required for all courses except the Ultra96 PYNQ course

Required for introductory courses only

4 Amp power supply required when using the click mezzanine. Using a 2 Amp version risks damage to your power supply.

What's Included in a Technical Training Course?

Private forum where you can connect with the instructors and other attendees

PDF documentation of each lab performed during this course + resources for further learning

A personalized Certificate of Completion in your inbox that can be used for advancing your career or bragging to your friends

Step-by-step getting started guide to help you set up any required hardware or software used in the labs

Course instruction and labs taught by industry professionals

Frequently Asked Questions


The courses can be accessed as soon as your purchase is complete via your Hackster profile. You will be notified when the PYNQ course is online and available to view. 


If you are unsatisfied with your purchase, please contact us at within 30 days of your purchase to request a refund. Some restrictions may apply. 


Some prior knowledge is recommended before completing the advanced Ultra96 courses. Prerequisites for each course can be found under the course objectives above.


No, the online courses are on-demand and can be purchased and watched at any time on


In order to participate in the labs you will need a computer with Xilinx Vivado Design Suite 2018.3 installed, an Ultra96 board, Ultra96 JTAG Pod, power supply, and additional course-specific hardware. See recommended hardware section above for more details and links to purchase.



If you have any questions regarding the Ultra96 Introductory or Advanced courses, please contact us at

Ultra96 Course Bundle

PetaLinux Tools for Ultra96 Development

Zynq UltraScale + MPSoC Software

Zynq UltraScale + MPSoC Hardware


*All 6 courses included in price

Introductory Courses

Turbocharge Python with Ultra96 PYNQ

Getting Started with Xilinx SDSoC 

Intro to Deep Learning with Xilinx SoCs

Advanced Courses

For a limited time only


Copyright © 2019 Hackster, an Avnet community