FPGA and MCU Projects

 

Coverage for articles and projects for FPGAs and MCUs





   

Books

 

With billions of devices connecting to the cloud, the need for more programmers with a range of skill sets is more present than ever. Most high schools in the United States teach high-level languages such as Java, Python, or Javascript. These programming languages are perfect for web or application programming, but many of the billions of devices run on MCUs or FPGAs, which require C programming. Microsoft has been shifting its product and support plan for the MCU space for some time. Azure IoT C SDK is the solution to connect MCU devices to Azure, and there are examples of how to write applications to run on Windows. Azure Sphere is a system-on-chip solution with a built-in Linux distribution that allows developers to write applications in Visual Studio. Eclipse ThreadX, formally Azure RTOS, has a port to Win32 so you can build test ThreadX applications with Visual Studio on Windows. There are other books that cover the GCC compiler; but the confluence of school curriculums, the need for low-level programmers, and the offerings from Microsoft makes C and Visual Studio a niche book for learning C programming using one of the most popular IDEs in the industry.

C and Visual Studio applies the Computer Science pedagogical approach that is used for other programming languages to the C language. Combined with the authors' hands-on style, anyone familiar with a higher-level language will be able to get up the learning curve quickly.

The first 9 chapters of the book cover the fundamentals of C programming from data types, program flow, arrays, pointers, data types, search, sort, memory management, and file I/O. The last 3 chapters introduce Azure IoT C SDK, Azure Sphere, and Eclipse ThreadX. There are over 50 hands-on exercises to get you familiar with the C programming language and features of Visual Studio.





 

Articles

 
Azure RTOS and ST Microelectronics STM32 Discovery Kit IoT (STM32L4S5) – May 2023

The final Azure RTOS article for this run covers the ST Microelectronics STM32 MCU. Like the previous articles, this third article walks through all the little steps to set up the development tools and an application on Azure IoT Central. With all the tools installed, Visual Studio Code allows you to step through the source code running on the STM32L4S5 Discovery Kit.

Azure RTOS and Microchip ATSAME54-XPro Evaluation kit - May 2023

Our second article for Azure RTOS covers the SAM E54 MCU from Microchip. Like the first article in the series, this second article walks through all the little steps to set up the development tools and an application on Azure IoT Central. With all the tools installed, Visual Studio Code allows you to step through the source code running on the ATSAME54-XPro Evaluation kit.

Azure RTOS and the MXCHIP IoT DevKit - April 2023

Last year, we kicked off a series of articles with “The Current MCU Strategy for Azure”. The article proposed what appears to be Microsoft filling the gap to address support for MCUs and connection to Azure. The series of articles that followed focused on FPGA development, which lay the foundation for phase 2 later this year. Before we get there, we have a series of articles on one of the go-to market MCU products: Azure RTOS. There are a number of quick-start guides for Azure RTOS. These guides simply build the firmware from the command line and upload to the board. Simple and easy to get something up and running, but real development requires stepping through code with a debugger. The quick-start guides mention debugging in passing. This first article titled “Azure RTOS and the MXCHIP IoT DevKit” walks through all the little steps to setup the development tools and build files to debug the firmware using Visual Studio Code.

Nios® II and I2C Master Implementation on the on the Intel® MAX® 10-10M08 Evaluation Kit - January 2023

We close out phase 1 of our FPGA articles with adding I2C port to a Nios® II design. The Inter-Integrated Circuit (I2C or I2C) provides chip-to-chip communication on a two-wire bus. I2C has become very popular as more sensor chip manufacturers provide more solutions with I2C as the interface bus. For NIOS II, there is an I2C Master IP that can be added to a design so you can connect various external sensor and memory I2C devices, but there is a catch as some extra circuity is needed to create the two wire interface. The article demonstrates a solution to create the two wire interface and communication with a I2C temperature sensor.

Nios® II and the Interval Timers’ Alarm and Timestamp Functionality on the Intel® MAX® 10-10M08 Evaluation Kit - January 2023

Timing is everything. The Interval Time IP that comes with Quartus not only provides the date and time for a Nios II processor but also supports alarms and timestamp functionality. The paper walks through a couple of applications that test both.

Nios® II + UART Project on Intel® MAX® 10-10M08 Evaluation Kit - December 2022

Serial ports are the most common I/O in any MCU. Building on the previous Intel® Max® 10 + Nios® II articles, this article looks at adding a UART to a  Nios® II processor.

Nios® II ADC Implementation on Intel® MAX® 10-10M08 Evaluation Kit - November 2022

The previous article covered creating a design with the Nios® II soft processor. This article adds the built ADC peripheral to the Nios® II. Taking advantage of the hardware on the Intel® MAX® 10-10M08 Evaluation Kit, an application will be written to test the ADC input. As with the other articles it is the little things that trip a designer up, and this example is no exception. In this case, a work around to a generated BSP issue is required.

A Simple Nios® II Implementation on Intel® MAX® 10-10M08 Evaluation Kit - November 2022


The Nios® II softcore processor allows developers to create their own MCU with peripherals and other glue logic in an FPGA. The article looks at creating a Nios® II design using the Intel® Quartus® development tools, and writing a C program to test the design.
Implementing the ADC on Intel® MAX® 10-10M08 Evaluation Kit - October 2022

The paper explores the MAX 10's built in ADC and the ADC Toolkit that comes with Intel® Quartus® Prime.

Getting Started with Intel® Quartus® Prime v21.0 and the Intel® MAX® 10-10M08 Evaluation Kit - October 2022

The first FGPA article discussed how to install the Intel® Quartus® Prime tools. In this second FPGA article, we look at creating a couple of circuits using VHDL and the schematic editor. The Intel Max 10 -10M08 Evaluation Kit will be used to test both designs.

Intel® Quartus® Prime Lite and Nios® II SBT for Eclipse Installation Instructions - October 2022

This article covers the setup for Quartusl® Prime Lite and Nios® II SBT for Eclipse for two different development systems: Windows 10 and Ubuntu 18.0.4.

The Current MCU Strategy for Azure - September 2022

With Windows CE long gone, Microsoft has slowly developed a strategy to support 32-Bit MCUs and connecting these devices to Azure.
Azure Sphere SDK: First Look - January 2019

A review of the new MCU IoT offering from Microsoft