Please bookmark this site: https://bit.ly/midiarduino
Inspiration? https://victoriaarduino.com/en/history/
Please bookmark this site: https://bit.ly/midiarduino
Inspiration? https://victoriaarduino.com/en/history/
This hands-on workshop is an introduction to physical computing using the popular Arduino microcontroller platform and MIDI - the Musical Instrument Digital Interface.
"MIDI is a technical standard that describes a communication protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and related audio devices for playing, editing, and recording music."
We'll learn how we can use the Arduino platform to create musical instrument user interfaces from buttons, sensor, and other input devices. And, how we can create MIDI-compatible instruments using Arduino.
This workshop is appropriate for all students including those with no prior programming experience.
Arduino Pro Micro 5 volt - many sources:
https://www.sparkfun.com/products/12640
solder-on headers need to be installed: https://www.sparkfun.com/products/116
How-to solder the headers: https://www.youtube.com/watch?v=37mW1i_oEpA
https://www.amazon.com/HiLetgo-Atmega328P-AU-Development-Microcontroller-Bootloadered/dp/B00E87VWQW
(headers included, but need to be soldered)
https://www.robotshop.com/products/cytron-arduino-pro-micro-compatible-w-pre-soldered-headers
(headers are included and soldered)
Micro USB cable
example from Amazon.
Breadboard (830 point) and jumper wires
Speaker w/Wires - 8 ohm
(4) LEDs
(4) buttons (SPST)
(1) potentiometer, 10K - Rotary Potentiometer Linear Taper B Type B10K
https://www.amazon.com/gp/product/B07DHKBGLG
or any other 1K to 100K+ potentiometer with breadboard pin connections. (Or solder jumper wires,)
hookup wire
You'll need Windows, Mac, or Linux noetbook with with a good Internet connection.
Pariticpants should have competent skills on their Windows or Mac computers, such as the ability to use a browser and install software.
If your computer has only USB C ports, you'll need a USB C adapter or hub to connect your Arduino kit.
USB C ports look like this: (new notebooks and MacBooks use these)
Example USB C adapter: (there are many products like this available!)
Amazon.com: Syntech USB C to USB Adapter ($8.99)
Target: Philips 6" USB-C to USB 3.1 Female Adapter Black ($14.99)
Follow the instructions in the Sparkfun Pro Micro Guide to install the "board manager" files that support the Pro Micro. (Refer to the Windows and Mac versions as apppropriate)
Open up Arduino, then go to the Preferences (File > Preferences). Then, towards the bottom of the window, copy and paste this URL into the "Additional Board Manager URLs" text box:
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/main/IDE_Board_Manager/package_sparkfun_index.json
Tools > Board > Board Manager
Search for "Sparkfun AVR"
"Sparkfun AVR Board" should appear in the list.
Click "INSTALL"
Tools > Board > SparkFun AVR Boards > SparkFun Pro Micro
Tools > Processor: ATMega32U5 (5V, 16Mhz)
Important! Be sure to select the 5V Processor!
(We are using 5 volt Pro Micros, not the 3.3 volt version.)
Otherwise, when you upload a sketch, you will "brick" the Pro Micro.
Refer to How to Revive a "Bricked" Pro Micro
Install the "MIDIUSB" library.
Tools > Manage Libraries ...
Search for "MIDIUSB"
Click "INSTALL"
Install the Sparkfun Pro Micro USB Driver
Windows Driver Installation
Test the USB connection to the Pro Micro
Plug in the MIDI Arduino kit USB cable into your computer
Run "Device Manager"
Under "Ports (COM & LPT), you should see:
Sparkfun Pro Micro (COMn)
Test your installation when you have access to the workshop kit.
See Kit and upload the "ProMicro_MIDI_Workshop_Test" sketch.
DAW software: This kit will work with any DAW (Digital Audio Workstation) software, such as Ableton, Pro Tools, etc. that communicate with MIDI devices.
You can also use "Signal," a simple MIDI editor that runs in a browser:
https://signal.vercel.app/
In your DAW, configure the MIDI devices and select "Sparkfun Pro Micro" as a MIDI input, MIDI output, or both.