Example Projects with Tutorial

Smart Route Following Robot

In this tutorial: We want to make a robot that can drive a pre defined route and surround objects blocking the route.

What you need: Motors with encoder, ultrasonic sensors and something you want to use as chassis.

Camera with Object Detection

In this tutorial: You learn how to use a camera and HDMI with an FPGA.
You learn how to apply filters to the received images and finally create an object detection.

What you need: Raspberry Pi camera and display with HDMI

Light Tracker

In this tutorial: You learn how to use a camera and servos.
The white parts of the camera image are detected and with two servos the camera is turned into the direction of the light.

What you need: Raspberry Pi camera, 2 servos and display with HDMI

LED Matrix

In this tutorial: We want to make an LED matrix that can display a custom text or show an image. This can be extended into a clock, games or a spectrum analyzer.

What you need: LED Matrix

Spectrum Analyzer

In this tutorial: We want to use a microphone to record the ambient sound and then filter the different frequencies out of the sound. This is done by a so called "fast Fourier transform", that usually is a complex operation, but quickly made by the FPGA. Finally we want to display the result with an LED matrix.

What you need: LED Matrix and microphone

If you want to see what is possible and what you can achieve, go check out what other people have done so far with VHDPlus. You can find many more examples here.

Did you make your own project/libraries or found an error in our libraries?

Our libraries are open-source, and we would appreciate it if you added your examples or libraries. By adding the libraries we have written for different sensors, hardware... we hope everybody can become faster with their programming. Currently, for FPGAs, it is very difficult to find your needed libraries and when you do find them, you often have to spend money to buy them. We want to change that.
To add your library, simply make a GitHub account, fork the repository, add your changes and make a pull request. After this we can add your changes.


Need help with VHDP?

If you have any problems understanding something, try searching on Stackoverflow for similar problems or create a new one. You can also ask questions on Discord or check out our YouTube Videos. Since VHDP just expands the features of VHDL it might be helpful to use VHDL as a search tag sometimes.

You get errors while compiling?

In the "Quartus Errors" list, you find the errors with description and the IDE finds the position of the error in the VHDP code, if possible. If you don't know how to fix the problem, go to the compiler output, copy the error code (e.g. "Error (10500)") and search for it. There are a lot of people that use Quartus and probably some of them had the same issue.

Make sure that the path doesn't include special characters and that you have the device support for your FPGA. To install the device support, download the .qdz file for Quartus 18.1 std., open the Quartus Setup exe you downloaded to install Quartus and follow the installation.

Found an issue in our IDE?

Simply write us at
Send us the Documents\VHDPlus\CrashReports file if the IDE has crashed,
copy the VHDP and VHDL file if there was a problem with the compiler and
describe as much as possible what you did before the problem occurred, This will help us to fix it as fast as possible. Also a video of the occurrence helps a lot.

Often it helps to just restart the IDE. You can try to delete the Documents\VHDPlus\DefaultQuartusFile.xml file or some of the AppData\Roaming\VHDPlus files. Also sometimes there are settings you have to set in Quartus. Changes in Quartus will also work with the VHDPlus IDE.

Can't upload the compiled project?

Check if you installed the drivers, selected the correct FPGA, connected the FPGA with the PC and try to use the Quartus program window like in this tutorial.

Your program isn't working?

Check if you connected the correct Pins and that you have the correct IO voltage for the device you want to connect. To check the code, try a simulation like in this tutorial.

Help us improve this website

Our website is completely open-source. If you want to support this project you can help us to improve our documentation and add tutorials here.
We greatly appreciate your help ❤

Last updated on by Hendrik Mennen