"Show-In-A-Box"
VS1053 MIDI Synth UART Modification
 
  One of the addtions to the SAIB (Show-In-A-Box) Project is a tiny GM MIDI synthesizer. I want to have basic drums ( in addition to the Akai MPX-8 ) of some sort on board, for really simple setups so I don't have to haul around a "real" MIDI synth or drums.

 After some searching I found the VS1053, which seems to be mainly a mp3/ogg/wave player (or record with big/fast enough uP and memory) but has MIDI added in.
I couldn't find much in the way of sound quality for the MIDI, only a couple of videos on youTube and only one had decent audio. What I did hear sounded OK so I ordered one on eBay, super cheap <$5 from China, and added it into the design.

 As I already mentioned, most Makers are using this board for the MP3 decoding, so they are using the SPI bus. There's even Arduino sketches written for it I believe. My focus was to use the UART VSLI added on along with MIDI synth. This way I can just access it from one of the MIDI ports on the SAIB......

  Right away I realized the board wasn't set up to do this at all!

1) The UART's RX pin was connected to the +3.3V supply ( under the board of course! )

2) The GPIO-1 pin needed to be pulled up, and

3) GPIO pins 2&3 needed to be pulled low to exit "ear-speaker" mode (lol)

  This is a horribly tiny chip, <0.4mm I think, and the pins are like tin-foil, so I intended to wait until the moment I'd be brave enough to try, but that moment was immediately!  I used a sewing needle to gently lift, left and right, the RX pin (# 26) and because the solder is so thin, it came up relatively easily.

Next I had to make a ridiculously tiny board to run wires off of the "big" board. It's just a hand drawn thing that took 3 drops of etchant to do hehe.

  As can be seen in the photo to the right, a fine single strand from some ribbon cable has been soldered on to the lifted pin. Because the raw MIDI ports on my board will be 5 volts, a 3.9k resistor then a 10k to Gnd acts as a voltage divider to 3.3V. Another has been connected to pin 34 (GPIO-1) to pull up with a 100k resistor..
After this photo I pulled pins 9 & 10 low to disable the earspeaker thingy, which was easy.
The photo is a bit tricky where the blue wire is, that's only a GND that I needed to connect to my teensy board glued on there...not the resistor it's above, the Gnd is on the left of that resistor.

 
 This close up shows a better view of the mod. I was feeling pretty proud of myself, but when I connected it up to a sequencer, no werky! Then I realized the SPI bus header probably is just floating in a bad way, so I pulled the RST pin on it high to 3.3V...Music!!

So yet another part of this massive project underway has been completed.

    As for the sound quality, here's some licks of unprocessed audio from it:
     VS1503midiTest.mp3  (Annoying little instrumental to test max poly on it, did well!)
     VS1503midiTest2.mp3 (Happy tune for it, Tu ma's Promis orig. for Yammy)
-I can't say I really love the piano sounds, they are pretty far from pianos.
-I was surprised to see a reverb FX: CC12 is global amount, and CC91 is indiv. Chan. Reverb
-The audio is actually in
stereo! Already better than my Casio Box.
-A nasty thing I have noticed, which may not be the fault of the VS1053, is horrible harmonics
 on the higher notes. Almost like aliasing, but smoother. Some instruments are worse, I may check
 that on the scope later. I avoided those higher notes so it's not apparent in these recordings.

All in all I'm pretty happy with this thing, and it's better than I expected, and fits my
budget fine....hmm maybe I should get another one...

Cheers!

   to  mySynth2 built-in synth module
or... Back to Show-In-A-Box

 April 15th 2014

 

Disclaimer: This is not an instructional page to build or manufacture the above project, nor are there any guarantees of accuracy herein.
This page is an "of interest" discussion, and the project is intended for my own personal use.
If you have any questions, or wish to pursue this project, you may contact me (Sandra) at fresh(at)freshnelly.com