Choice of components to build a HMI for musical performance

In this post I will talk about the choice of the components for the construction of my first human machine interface (HMI) prototype for my master’s.

HMIs are electronic equipment responsible for collecting, sending and receiving data and commands between the user and the computer. They may have specific application, such as the HMI that I built, which has the function of transmitting (and sending) information from the musician to the computer during a musical performance.

For the processing and communication between sensors and the computer I used the Arduino. Arduino is an open-source hardware prototyping platform, that is, a set of interchangeable equipment and components that can be used to assemble electronic devices for any needs, including control of real-time sound manipulation. A great difficulty faced in any electronic devices creation is the microcontroller programming for the accomplishment of certain tasks. The Arduino platform has a easy programable microcontroller as core element and this programming can be made directly through USB connection present in the own board (ARDUINO, homepage. Getting Started with Arduino).

Because it is an open-source hardware platform we can find Arduino-compatible boards and components. In addition, Arduino’s programming environment is based on Wiring and C ++, widely distributed and well-documented programming languages.

One of my project’s premises is to keep the HMI as simple and cheap as possible. The Arduino is considered a low cost microcontroller. However, we still have more economic options: the Arduino clones. I chose the Freaduino Leonardo R3, an Arduino Leonardo R3 clone that offers me the same characteristics of the original.

Freaduino Leonardo R3

The Leonardo uses the ATmega32u4 processor and has 20 digital in/out, microUSB conector, reset button and mouse/keyboard emulation.

As the initial proposal is to control any audio processes during performance using the guitar and HMI, I chose to use an80 characters LCD (JHD162a) for visual feedback, as well as resistors and cables to connect the sensors.


The chosen sensors and components for interaction with the musician and the instrument were:

  • 1 ultrasonic sensor (HC-SR04)
  • 1 three axis accelerometer (ADXL345)
  • 5 SPST footswitches

The ultrasonic sensor will be placed in the instrument to capture free gestures performed with the right hand of the guitarist. These sensors measure distance and can be programmed to control the intensity or presence / absence of certain sound process.


The chosen accelerometer allows several functions. It will be arranged outside the instrument and allows to read the guitar movement in 3 axes (X, Y and Z), also having TAP function (it detects a “tap” or a light touch on the sensor or the guitar), DOUBLE TAP (similar to TAP, but works like the “2 clicks” of a mouse) and FREEFALL (as the name suggests, detects “free fall” of the object).



The accelerometer allows reading all its functions independently, providing complex gestural mappings and enabling the manipulation of several sound events simultaneously. Is interesting to capture the performer’s ancillary gestures.

The result of this first prototype can be seen in the pictures below:

In the next posts I will discuss how to enable communication between the HMI and Pure Data.