Skip to content

patrickxchong/Arduino-MIDI-over-Bluetooth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arduino MIDI over Bluetooth using SparkFun MIDI Shield

A MIDI based Arduino project using SparkFun's MIDI Shield. I created my own method of parsing MIDI signals in the code because the MIDI Library by Forty Seven Effects was not accurate enough for my intended purposes - to send MIDI Signals from the keyboard to my laptop wirelessly over Bluetooth. Since Serial in Arduino can be both accessed via USB and Bluetooth, no modification is required to use this code via USB. In fact, this guide assumes that setup is done via USB, and the Bluetooth component is covered later as an extension.

I tried to make my code as well commented as possible to aid anyone working with microcontrollers and MIDI, but if anything is not clear, do open an issue and I'll try my best to make things clearer/clarify your queries!

Diagram of completed MIDI over Bluetooth prototype MIDI-with-Arduino-and-SparkFun-MIDI-Shield

Getting Started/Prerequisites

Hardware:

  • Arduino UNO
  • Sparkfun's MIDI Shield (https://www.sparkfun.com/products/12898) - best if set up using stackable headers especially if you want to send MIDI Signals to the laptop over bluetooth
  • Jumper wires/cables
  • MIDI cable(s)
  • HC-06 Bluetooth module (can be easily found online)

Software (Arduino Code):

Software (Laptop):

Installing

  • Set up hardware and install required software
  • Download MIDI-Arduino-Sparkfun.ino and adapt it to your purposes.
  • Flash code to Arduino
  • Enjoy!

Extension: Bluetooth

As mentioned earlier, this project was meant to create a working prototype that sends MIDI signals from a piano keyboard to a laptop wirelessly over Bluetooth. No code modification is necessary besides installing a Bluetooth module and connecting it to the Arduino's TX and RX pins. The Bluetooth module used in my project was a HC-06.

Authors

  • Patrick Chong Jin Hua - Initial work and main contributer

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • QueueList Library For Arduino by Efstathios Chatzikyriakidis (contact@efxa.org)
  • SparkFun's MIDI Shield Hookup Guide
  • Simon Alexander Adams, my ENTR390-008 lecturer, who's constant encouragement whenever I hit roadblocks allowed me to finally create a funtional and practical prototype that sends MIDI signals over Bluetooth to a DAW in my laptop
  • Hunter from my ENTR390-008 section. Seeing him use a Stack for his project made me realize that I can use data structures to store the MIDI signals first before bulk releasing them in order to avoid incomplete MIDI signals

Resources

Buy me a coffee (or bubble tea)

ko-fi

About

A MIDI based Arduino project using SparkFun's MIDI Shield

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages