Arty XADC Demo


Features Used

Not Used Used
4 User Switches X
4 User LEDs X
4 User RGB LEDSs X
4 User Push Buttons X
4 Pmod Connectors X
XADC Analog Input X
Serial Flash for Application Data X


This simple XADC Demo project demonstrates a simple usage of ARTY's XADC pin capability. The behavior is as follows:

  • The 8 User LEDs increment from top right to left then bottom left to right as the voltage difference on the selected XADC pins gets larger.
  • The four switches select which channel to read from



  • Arty FPGA board
  • Micro-USB cable
  • Wires and a voltage to measure



Arty Support Repository – ZIP GIT Repo

How to...

1. Generate the Project

1.1) Download the repository linked in the download section and place it in the location of your choosing.
1.2) Generate the XADC_Demo project in the Projects folder by following this guide before continuing: How to Generate a Project from Digilent's Github

2. Build the Project

2.1) Click Generate Bitstream on the left hand menu towards the bottom. Vivado will run through both Run Synthesis and Run Implementation before it generates the bitstream automatically.

Note: If you want, you can click each step by itself in the order of Run Synthesis, Run Implementation and then Generate Bitstream.

3. Program the Board

3.1) Once you have generated your bit file, Click on the hardware manager and connect to your board by choosing the local server option.

3.2) Click program to load the project onto your Arty.

4. Run the Project

This portion will help you run the demo and observe all its features.

4.1) Applying a voltage to the XADC port

For this demo, A0-A5 are single ended analog pins then A6-A7, A8-A9, and A10-A11 are differential ports.
4.2) LEDs

The LEDs turn on from right to left then wrap around the bottom as the input voltage increases.

4.3) Selecting a channel

To display a different channel on the display and LEDs, change sw0, sw1, and sw2 to the desired channel.