Arty Z7 DMM Shield Oled Demo User Guide

Digilent provides an OLED demo for DMM Shield Zynq library for Digilent's Arty Z7-20 FPGA system board, to be used with the Xilinx SDK development tool.
It accesses the DMM Shield hardware in order to implement DMM Shield functionality.
It uses DMM Shield library, see Zynq Library.
The demo uses the basic UART command interpretter provided in DMMCMD module of the DMM Shield library.
Basic DMM information is displayed on the PmodOLED, which is used according to Pmod IPs tutorial
The library is designed to run on the Digilent Arty Z7-20 board, which acts as a system board for the DMM Shield. The DMM Shield is attached to the Arty Z7-20, that is accessing DMM Shield using digital pins.
The PmodOLED is attached to JA Pmod connector.



The Arty Z7 DMM Shield Oled demo is demonstrating the functionality of the DMM Shield with Arty Z7 as a system board. The Pmod Oled is used to display the values read by the DMM Shield. The DMM Shield Zynq library was used as a starting point.
The following changes were performed:

  • The Hardware configuration was modified in order to include PmodOLED IP core.
  • The DMMCMD Module was modified in order to initialize and display the basic DMM information on the PmodOLED.

Features Used

Not Used Used
2 user switches X
2 user LEDs X
2 user RGB LEDs X
4 user push buttons X
Micro SD card connector X
HDMI Sink and HDMI Source X
PWM mono audio out w/ 3.5mm jack X
10/100/1000 Ethernet PHY X
512MiB 1050Mb/s DDR3 Memory X
Quad-SPI Flash X
Two Pmod ports X
chipKIT connector X



  • Arty Z7-20 board
  • Micro-USB cable
  • DMM Shield
  • Pmod OLED
  • Banana Cables
  • 5k Ohm Resistor



Arty Z7-20 DMM Shield OLED Project Repository – ZIP Git Repo

Download and Launch the Arty Z7 DMM Shield OLED Demo

1) Follow the Using Digilent Github Demo Projects Tutorial.
2) Plug the DMM Shield in the Chipkit connector of the Arty Z7 board
3) Plug a banana cable into Voltage/Ohm banana connector of the DMM Shield. Do the same for the COM connector.
4) Connect the end of the cables to a through-hole resistor of a desired value. Ex 5k Ohm
5) Turn on your board and open a serial terminal (such as TeraTerm) on your computer to receive status messages. Setup the serial port to connect to the appropriate port for your board, with a baud rate of 115200, 8 data bits, no parity bit and 1 stop bit.
6) Enter DMMConfig Resistance5k command in the terminal. Then enter DMMMeasureAvg. The resistance value will be displayed both on terminal and on the Pmod OLED

Note: This is a simple example of measuring a resistance. The demo will work with every scale of resistances/voltage/current/diode/continuity/ in the correct configuration. For more details regarding the scales and UART commands please see: Library Modules

Hardware Structure

The Vivado hardware configuration implemented for this demo has the following features:

  • basic Zynq configuration, having UART_PS0 checked
  • AXI_GPIO core having 2 GPIO channels: GPIO0 for the 6 output IO signals (CS_Eprom, CS_DMM, SPI_CLK, DI, RLU, RLD, RLI) and GPIO2 for the input signal DO. These GPIO pins are used for the communication between Arty Z7-20 board and DMM Shield.
  • PmodOLED core connected to JA Pmod connector.

The following image shows the block design.


The DMMCMD module interprets the same set of commands as in the original version of the file, provided in the DMM Shield library. Additional, it was modified in the following manner:

  1. The PmodOLED is properly initialized.
  2. Basic DMM information is displayed on the PmodOLED:
  • current selected scale (or “No scale”, if no scale is selected).
  • current measured value (or “No value”, if no measure was performed).

Additional Resources