Skip to main content

AVR Microcontrollers

AVR Splash

Introduction

Continuous Integration (CI) is a crucial part of modern software development workflows, enabling teams to detect and fix errors early, improve code quality, and streamline the release process. While CI is commonly associated with web and mobile applications, it's also highly beneficial for embedded systems development, such as microcontroller programming.

In this tutorial, we'll explore how to implement CI for AVR microcontroller projects. AVR microcontrollers, developed by Atmel (now a part of Microchip Technology), are widely used in various embedded systems applications, including robotics, IoT devices, and consumer electronics.

We will be using the AVR64EA48 Curiosity Nano Evaluation Kit, but the principles here can be applied to any AVR microcontroller.

You can find the source code for this example here.

What You'll Learn

  • Setting up a CI environment for AVR microcontroller projects.
  • Automating build, test, and deployment processes.
  • Integrating CI tools with version control systems like Git.
  • Running tests and generating reports for AVR software.
  • Using specific features for embedded developers on BeetleboxCI.
  • Ensuring code quality and reliability in embedded systems development.

What’s in the tutorial series

  1. Setting up MPLAB and git: Learn how to setup a MPLAB project and enable UART to print on your board. You will then link your MPLAB project to a GitHub repo and then connect that repo to BeetleboxCI.
  2. Monitoring the microcontroller: In this tutorial, you will learn how to program the AVR board by using the MPLAB debugger and how to monitor the UART using BeetleboxCI
  3. Unit testing and Reporting: Finally, you will look at the unity c testing framework and how to print reports from the board. You will parse those reports for failures within BeetleboxCI.