MMwA: The Arduino Programming

Learn How to Code


The "Making Music with Arduino: The Arduino Programming" is a full Arduino programming course dedicated to musicians. If you only want to build MIDI controllers without learning how to code, you can watch only the MMwA, but if you want to get deeper, create your codes, understand my and other people's code, that's the course for you!

In this course, you'll learn the Arduino language (C based), and about electronics. This way, you'll be able to think about any project that comes to your mind and realize it, not depending on other people's code, circuits, etc.

So, if you want to take your creativity to the next level, creating solutions that look like magic to other people, you'll love the MMwA: The Arduino Programming!


  • Introduce yourself!

  • Join our Facebook/Discord Groups

  • How to Watch this Course

  • Download all the Files

  • How to Post your Doubts

  • How to troubleshoot

  • Materials and Where to Buy

  • Becoming a true maker! Learning how to code: Introduction

  • Materials

  • IDE

  • Blink

  • Using buttons and switches (digital pins)

  • Reading a Button (circuit)

  • Reading a Button (code)

  • Pull Up resistor #1

  • Pull Up resistor #2

  • Button Without Debounce

  • Button with Debounce

  • The MIDI library

  • The MIDI Library

  • Note On / Note Off

  • More Buttons

  • Using potentiometers and other sensors (analog pins)

  • Reading a Potentiometer (circuit)

  • PWM

  • Reading a Potentiometer (code)

  • Reading a Potentiometer and Sending MIDI CC #1

  • Reading a Potentiometer and Sending MIDI CC #2

  • Loops, arrays & pull up resistor

  • For Loops

  • Arrays

  • Pull Up Resistor + Arrays + For Loops

  • Potentiometers + Arrays + For Loops

  • Multidimensional Arrays

  • Functions

  • Void Functions

  • Void Functions (midi example)

  • Functions that return something (freqToMidi example)

  • Prototyping the controller

  • Preparing the Potentiometers

  • Preparing the Buttons

  • Complete Code

  • Choosing the components

  • Choosing the Components

  • Soldering potentiometers

  • The complete controller

  • Assembling the controller (in fast forward)

  • Materials

  • Soldering

  • Assembly

  • Code: with Hairless MIDI

  • Code: MIDI Class Compliant

  • How to NOT build a MIDI controller

  • Creating MIDI Banks

  • Using Buttons

  • Arduino as a USB-MIDI Class Compliant Device

  • Arduino Uno, Mega: ATmega16U2

  • Arduino (Pro) Micro, Leonardo: ATmega32U4 - the MIDIUSB library

  • Arduino (Pro) Micro, Leonardo: ATmega32U4 - a Real Life Example

  • Arduino (Pro) Micro, Leonardo: ATmega32U4 - Change the Name of your Arduino

  • Encoders

  • Intro

  • Quadrature

  • Code

  • External Interrupts

  • Internal Interrupts

  • MIDI cc with LED feedback

  • Encoder with Traktor and led Feedback

  • Multiplexers

  • CD4067

  • MIDI in

  • Led Feedback - Multiple Leds

  • Using addressable led strips (neoPixels)

  • Complete Code EXTENDED

  • Full code with updates

  • Code overview and #ifdef

  • Multiple Multiplexers

  • Multiple Multiplexers

  • Multiple Multiplexers

  • Custom Note Numbers (scales) and CC

  • Adding a Velocity Variable

  • Buttons Sending Control Change

  • Toggle Mode (led toggle example)

  • Toggle Mode with Buttons

  • MIDI in with addressable led strips - Summary

  • MIDI in with addressable led strips - In Depth

  • MidiMood - A Minimoog Based MIDI Controller

  • Intro

  • Enclosure

  • Circuit

  • Code

  • Assembly

  • Theremidi - MIDI Theremin

  • Tutorial

  • Other projects

  • MIDI led Strip (MIDI Piano)

  • Extra

  • Three way switch (or more)

  • Want to cancel your subscription, get a refund, or get a certificate?

  • Ask a refund or cancel a subscription

  • Want a certificate?

  • How to unbrick an Arduino Pro Micro


  • Access to our Making Music with Arduino Facebook closed group. Where a hub of makers share their doubts and help each other with their projects.

  • My personal contact in case you need help.

  • Access to my projects, PCBs, and templates.


Gustavo Silveira is a composer, multimedia artist, and maker. Silveira holds a Bachelor's degree in music composition from the Federal University of Pelotas and a Master's degree in Music and Technology from Georgia Southern University in the United States.

Since 2015, Gustavo has been creating musical interfaces with Arduino, such as MIDI controllers and synthesizers, and has created the blog Músico Nerd, where he shares various open source projects and tutorials in the field.

In 2018, he was a finalist in the Guthman New Music Instrument Competition, the world's most important competition for new musical instruments, with the XT Synth. In 2019, he worked as a Human-Computer Interaction Electronics Designer at the IDIA Lab at Ball State University in the United States, creating interactive audiovisual installations.

Gustavo has presented his work as a maker at major Maker Faires such as the Bay Area Maker Faire in San Francisco and the World Maker Faire in New York, and his work has been featured on specialized websites such as Gearnews, DJ Tech Tools, and the Arduino website.


Enrolling in the Making Music with Arduino

has ZERO RISK, you have a 30-day money

back guarantee. Your total satisfaction or

your money back, no questions, no




Lifetime access!

1 Time Payment


  • MMwA: The Arduino Programming course

  • Access to Gustavo's codes, templates, and designs

  • Access to our closed Facebook group

  • Gustavo's (your instructor) personal assistance when you need help with your projects

Chat with us on WhatsApp

Chat with us on WhatsApp