Course: IoT and FPGAs: Building a cloud-connected VHDL design

Bring your VHDL project online. Set up a neat GUI dashboard using the Blynk IoT platform and a Raspberry Pi and send over-the-air (OTA) updates to your FPGA.

Category: Tags: , ,

Description

Connecting your FPGA design to the Internet doesn’t have to be complicated. Let’s bring your VHDL project online and set up a neat GUI dashboard using the Blynk Internet of Things (IoT) platform and a Raspberry Pi.

First, we’ll use VHDL modules from VHDLwhiz to create a design that works and a simple testbench.

Then, we set up the Raspberry Pi single-board computer to configure and communicate with the FPGA.

In the next lessons, we design a dashboard for controlling and visualizing the servo’s position from a web browser. It’s easy to do with Blynk.io, and you only need to create a free account to do this course.

VHDLwhiz is not affiliated with Blynk.

Finally, we will enable over-the-air (OTA) updates for your FPGA. You will learn to set up a system that periodically checks for updates online and flashes the FPGA when you upload a new firmware version to the cloud.

This course is only available in the VHDLwhiz Membership.

The membership subscription gives you access to this and many other courses and VHDL resources.

You pay monthly to access the membership and can cancel the automatic renewal anytime. There is no lock-in period or hidden fees.

Hardware used in the course

Software used in the course

I am using Windows 11 in the course. All the other software is available for free:

Notice: free educational license required

Lattice Semiconductor now charges over $350/year for the iCEcube2 software.

Fortunately, VHDLwhiz, in cooperation with Lattice, offers a 1-year educational license for iCEcube2 to customers who purchase a course that uses the iCE40 FPGA.

Reply to the purchase confirmation email to request a free license.

Course outline

Number of lessons:
12
Average video duration:
14m01s
Total video duration:
2h48m

The overview below shows the lessons in this course.

video lesson icon/default Created with Sketch.

1 - Introduction

Welcome to the course! This is what we will do.

video lesson icon/default Created with Sketch.

2 - Top-level VHDL module

We can conveniently implement the entire RTL code by using resources already available in the VHDLwhiz Membership.

video lesson icon/default Created with Sketch.

3 - Top-level testbench

Let's create a testbench for the top-level VHDL module to run in the Questa simulator.

video lesson icon/default Created with Sketch.

4 - Implementing and testing the design

We'll synthesize the VHDL design and program the FPGA to see if we can control the RC servo using UART commands.

video lesson icon/default Created with Sketch.

5 - Setting up the Raspberry Pi

It's time to install Linux on the Raspberry Pi and see that we can use it to control the FPGA.

video lesson icon/default Created with Sketch.

6 - Creating the Blynk dashboard

We'll use the Blynk IoT framework to design our web-based control dashboard.

video lesson icon/default Created with Sketch.

7 - Bringing the Raspberry Pi and FPGA online

Let's write the Python script on the Raspberry Pi to connect the FPGA to the cloud.

video lesson icon/default Created with Sketch.

8 - Sending periodic data from the FPGA to the cloud

In addition to the uptime, we'll read the servo command byte from the FPGA every second and plot it in a live graph.

video lesson icon/default Created with Sketch.

9 - Setting up blynk_if.py as a Linux daemon

We want the Blynk Python script to start automatically when the Raspberry Pi boots.

video lesson icon/default Created with Sketch.

10 - Firmware deployment Zip and shell script

We need a scheme for uploading new software and hardware packages to the Raspberry Pi and FPGA.

video lesson icon/default Created with Sketch.

11 - Over-the-air updates

Let's enable over-the-air (OTA) updates for the FPGA and Raspberry Pi scripts.

video lesson icon/default Created with Sketch.

12 - Local or cloud deployment script

Use this Python script to conveniently upload the firmware over WiFi or to the cloud server.

This course is only available in the VHDLwhiz Membership.

The membership subscription gives you access to this and many other courses and VHDL resources.

You pay monthly to access the membership and can cancel the automatic renewal anytime. There is no lock-in period or hidden fees.

Reviews

There are no reviews yet.

Be the first to review “Course: IoT and FPGAs: Building a cloud-connected VHDL design”

Your email address will not be published. Required fields are marked *