The Digilent Basys MX3 board is a versatile embedded systems platform that can be used for data acquisition and control. This workshop covers the basics of using the Basys MX3 platform and freeRTOS, and details how this hardware and software can be used in a Mechanical Engineering data acquisition and instrumentation course.

The workshop highlights four labs from a mechanical engineering course: multitasking and timing; experimentally determining the convective heat transfer coefficient of a sphere; measuring fundamental frequency of a vibrating beam; and implementing feedback control with a servomotor and encoder. Each lab is discussed in detail with respect to its learning objectives and required hardware. The workshop includes a set of hands on activities, using a Basys MX3 board and freeRTOS, that are related to these labs.


The website outlines the five activities covered in the workshop. Each activity includes detailed instruction for the workshop project and a description of a related project used in an instrumentation course at Seattle University.

  1. Seven Segment Display

    demonstrates how to use freeRTOS tasks, queues and timers to monitor a button on the Basys MX3 and update the built-in seven segment display.
  2. Convective Heat Transfer Coefficient

    demonstrates how the Basys MX3 might be used to collected temperature data in a heat transfer experiment. The activity also demonstrates how to use an SPI device and how to stream data from the Basys MX3 to a PC.
  3. Natural Frequency of a Cantilevered Beam

    demonstrates how the Basys MX3 might be used to collect data in a vibration experiment. The activity also demonstrates how to store and retrieve data on the Basys MX3's built-in 4MB flash memory.
  4. Position Control of a DC Motor

    demonstrates how the Basys MX3 might be used in an experiment to control a servomotor. The activity also demonstrates how to use PWM and hardware interrupts on the PIC32 and how to use the built-in H-Bridge on the Basys MX3.
  5. Frequency of an Audio Signal

    demonstrates how to use freeRTOS and hardware timers to control sample rate. The activity also demonstrates how to use the PIC32 DSP Library FFT function.


Workshop activites assume some familiarity with C programming and operating system concepts. Activities require a Basys MX3 board, supporting hardware for the workshop labs, and a laptop, Mac or PC, capable of running MPLAB X.

The Resources tab on this site includes software and instructions for installing MPLAB X and the XC32 compiler on a PC or a MAC. Linux versions of the software are available on the Microchip website. See links in the Resources tab.