PYNQ-Z2 Dev Board: Python Productivity for Zynq® - Review

Table of contents

RoadTest: PYNQ-Z2 Dev Board: Python Productivity for Zynq®

Author: gsgill112

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Avenet Mini Zed Starter Kit

What were the biggest problems encountered?:

Detailed Review:

First of all, Thank You Element 14 Community to give me this awesome opportunity to RoadTest yet another awesome piece of hardware. This indeed was an exciting Roadtest and a solid product from TUL ans PYNQ.

 

NOTE : I am a Newbie in the field of FPGA and am still under process learning Zynq platform. So As of NOW I will review this kit from a Hardware and Design prospective and a Newbie  prospective of programmable logic systems. I will try to get into FPGA/ Zynq and will blog my journey of implementing a ML Model in future.   

 

That being said, Let's dive deeper.

 

1.   Unboxing

As expected from Element 14, kit came packed very well and with NO Damage during the transit. One thing I noted was the kit was a BASIC KIT and NOT the Advanced kit that the Roadtest page mentioned, But It had everything to get me started with the board so no worries there

 

The actual PYNQ-Z2 Board was enclosed in the lovely Pink Box and it had the board introduction Out Of The Box (quite literally)

{gallery} Board pictures

Board Front BoX

Board Front

Board Back BoX

Board Back

The package also included a AC-DC SMPS adapter, a 16GB uSD card with Pynq2.3 pre installed, an ethernet cable and a USB Type A to MicroUsb 

{gallery} Kit Assy Pictures

Power Adapter Box

Switching Power Adapter with Assy

Switching Power Adapter Ratings

Straight CAT 6 Eth Cable

USB High Speed 2.0 Cable with Choke

Memory Card 16 GB Class 10

 

 

2.   Getting

 

{gallery} Geting Started

Finding the Board on Router

First Introduction : By the Way the default password is "Xilinx"

Main Page

Base Overlay Page

Common Overlay Page

Logictools Overlay Page

Getting Started Sub Menu

 

3.   Python and Jupiter Notebook

 

Getting Sample Code Installed is the most easiest thing to do ( This kit is designed for Ease of Use definitely) Just get the git repo and clone it

 

Once you start using Jupiter it will be really clear as on why Xilinx and the Pynq community choose it. it is Kinna the way we were taught in Primary Schooling And it is really effective way to learn. This approach also promotes documenting the code simultaneously

 

4.   Demos

This was one of the kit where I found that though it had plenty of demos I felt a lack of demos specially for the RPi, PMOD and Arduino I/F ( I hope to contribute in that regard once I understand the software better )  nonetheless the provided Jupiter notebooks are simply detailed and quite understandable. Xilinx and the PYNQ community also even added and introduction to Jupiter Notebook, Sweet.

 

I will try and do a video review on few demos and tabulate it for better space management

 

{tabbedtable} Tab LabelTab Content
PYNQ OpenCV HDMI Face detection Example

The Face Detection Demo I wanted to test out the capabilities associated with OpenCV and the computational time required by the PL and ohh Boy I was surprised

 

PYNQ OpenCV Face detection using Webcam  Example

Fun Example but not quite went the right way and no matter how much I tried Pynq didn't thought me as Pink enough

PYNQ OpenCV Live Filter using Webcam  Demo

As mentioned in the Video I Was able to get some Output and it was literally real time but @ 640x480 24Bit a decent High end processor with soft GPU could achieve the same results So Some More Digging needs to be done .. .. ....

Analog Input Tests

So for this test I was trying to find a Joystick but was not able to grab hold of either a Groove Shield or a Joystick module. So I programmed a Ramp function on a MSP430FR2443 MCU and hooked that to the Analog in (Don't worry Both are 3.3V tolerant) So I got the following results which is really decent. Given that this was recorded by MicroBlaze soft processor. Next would be to try some Direct Analog Data acquisition.

Audio Recording and Playback

So I recorded couple of samples and was not able to make out the weird sound that the speaker was producing. I do ought to use some filers though.

 

Static Noise on Audio out connected to a Wireless Spkr over 3.5mm 2 Mtr cable

Amplitude/Freq Spectrum of Audio recording

Another fun demo showing the capabilities of the kit.

 

 

5.   Few Issues I faced (or maybe didn't understand properly)

(a)    Booting the kit.      So the first issue I faced was when ever I took out the board from its Pink box and plugged it to the wall supply it NEVER booted right away (Only the Done LED glows and nothing else) I had to remove the sd card, re insert the SD card and re-power the board at least once to get it to load the bin file.

 

(b)     Loading Bit File every time.

 

(c)     Power board from HDMI OUT port.

 

 

6. Conclusion     I would like to conclude by saying that I was just able to scratch the surface and this is the Titanic of PS/PL systems and there's yet a ton to learn. I would also like you to please correct me if I may have made any mistake on understanding the concept or might have simply drifted away. I am still a Newbie to PL/PS and passionate to learn . Finally the kit is really a kit designed for people like me to getting started and make me feel quite comfortable handling the kit rather than staring at it all day long .

 

Finally I would like to thank Element 14, The Community members and for giving me a chance to explore this domain, moreover letting me take some more time to do this quite challenging review.

 

I Know, I have missed on couple of interesting things like How to create your own Overlays and Libraries and obviously some preliminary RISC V and ML/AL stuff so, I am planning to cover that in future blog posts as my journey learning the system better.

 

Thanks for reading through the Review

Regards,

GS Gill

Anonymous
  • I finding the need for a Oscilloscope also. Time to pinch pennies to get one.

    Clem

  • According to Extron it is part of the DDC specification.

     

    "The DDC specifications define a +5V supply connection for the source to provide power to a display's EDID circuitry so that communication can be enabled, even if the display is powered off."

    https://www.extron.com/article/uedid

     

    "+5V is needed as a power source for the DDC and EDID circuits of a display monitor when the host is attempting to read the monitor’s EDID data and the monitor’s own local power supply is not yet turned on. This capability is especially important when a PC is initially booting up or when a mobile PC user enables the external video port, so that the PC can properly detect the type of display attached. This is the main use of +5V defined in the Enhanced DDC Standard. (The EDID and DDC circuits in a display monitor should always be powered from the monitor’s own local power supply whenever it is available.) The E-DDC Standard does not directly define or constrain other possible uses for the +5V output, provided that the specified loading limits are not exceeded. For example, when the display monitor is powered on, +5V may be used as a logic signal to control display power states, i.e., signaling to the display whether or not the host PC video port is active, so that the monitor can decide when to go into a reduced power mode. This is the reason why the +5V must be provided continuously whenever the host PC video port is active. Since the host PC might be a mobile PC running on battery power, the total load on the +5V from the host PC must be limited to 1 mA maximum when the display has local power. Ref.: Section 4.2 & 4.4."

    https://vesa.org/vesa-standards/standards-faq/

  • Hi

    HDMI does have +5v output but that's at a very low amp and I could only find MHL as a use case ?

    Don't know much still digging into it though..

     

    Regards,

    GS Gill

  • In the VGA days the +5v line from the source device was normally there so as it can power the PROM on the sink (display) device so as it can obtain the EDID display information from the sink device over the DDC I2C bus whilst the sink device is powered off. Not sure if this is still a requirement in the HDMI specification or not.

     

    I guess this gets a bit complicated with a FPGA device if the EDID information is being held in the PL part of the FPGA as it will require it to be powered up and the appropriate bitstream data loaded.

     

    It perhaps gets even more complicated as the HDMI ports on the FPGA dev board are likely to be bidirectional. Even though they may be marked up as input and output on the board, because they are connected directly to the FPGA device, it will depend on how the PL is configured whether they actually behave as inputs or outputs.

  • Hi Thanks for the comments,

    Unfortunately I do not own an Oscilloscope. Have to start Saving for the same

     

    Regards,

  • Nice road test report.

    I too would be disturbed to find that the HDMI connector can power the board.

    I suspect that it was a design oversight, but it does open up the board for noise and power spikes.

     

    If you have an oscilloscope handy you might want to take a look at the 5v line to see what kind of noise gets into the board over the HDMI cable.

     

    DAB