This is a minor update to my Arduino MIDI VS1003 Synth and Arduino MIDI VS1053 Synth projects. I mentioned that as part of the VS1003 support the code should be configurable for either the VS1003 or VS1053 modules, but at the time the VS1053 support was untested.
It is now tested! Read on for details.
Warning! I strongly recommend using an old or second hand keyboard for your MIDI experiments. I am not responsible for any damage to expensive instruments!
These are the key Arduino tutorials for the main concepts used in this project:
If you are new to Arduino, see the Getting Started pages.
I would still strongly recommend that if you want a simpler solution to having a MIDI/MP3 module for use with your Arduino, use one of the Adafruit or Sparkfun shields for the quickest “out of the box” experience.
- Arduino Uno
- VS1003 or VS1053 based breakout board
- MIDI receive circuit (see Arduino MIDI Interfaces)
- Breadboard and jumper wires
Refer to the previous tutorials, using the appropriate one for the module of your choice.
Add a MIDI receive circuit as appropriate to the Arduino’s RX input.
This code is an update over the original VS1053 code for several reasons:
- First, as already mentioned, it will now support either VS1003 or VS1053 modules.
- It uses a more complete “patch” from VLSI for the VS1053 that makes the serial port buffer larger and correctly ignores MIDI SysEx messages. The previous code used just enabled MIDI, it didn’t update the built-in MIDI functionality at all.
- This has more configuration options for use with analog inputs.
This is now the recommended code to use for either the VS1003 or the VS1053 modules.
It is nice and neat to have the same piece of code now supporting both modules. I might get on to building some kind of “stand alone” MIDI GM module now. It would be really useful as a portable solution for further experiments with MIDI controllers.