Getting started with VMUSIC2

Getting started with VMUSIC2
The VMUSIC2 is a complete MP3 player module from FTDI, Inc. which makes it easy to integrate MP3 functionality in to your next microcontroller project. It has two interfaces: SPI or UART (serial)

Some example applications:
1. Make your robot talk and play sound effects based on some condition or trigger
2. Add sound to your models and dioramas; Provide some interactivity or history to your piece
3. Interactive art installations
4. Spice up your Pinball or other arcade machine
5. Use the module to load a script from a flash drive defining an animation, such as playing back a sound file while performing some mechanical routine as used in animatronics. The play time is output in seconds which can be used for (crude) syncing (HINT: This last one is what I have planned for a later instructable)

The documentation from FTDI describing how to use this module is not laid out very well and I had some trouble getting started with mine. While looking for information, I have seen many posts in various forums from people also having trouble getting started, so after finally getting mine running, I decided to create this instructable to help others.

This instructable will cover getting connected and controlling your VMUSIC2 module from hyperterminal. I recommend starting out this way because it will allow you to get familiar with the commands and get a feel for how it works before connecting it to your microcontroller. I will follow up with another instructable on controlling it from a microcontroller.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Introduction to the VMUSIC2 module

Introduction to the VMUSIC2 module
The VMUSIC2 module is based on the Vinculum VNC1L USB Host controller from FTDI and the VS1003 MP3 encoder/decoder from VLSI. The VMUSIC2 allows you to plug in a USB flash drive filled with MP3s and play them from your microcontroller.

This module is inexpensive and comes in an enclosure that can easily be mounted in a panel cutout to give a professional look to you project.

The main advantage to using this module is that it only requires a few pins to control it, and the software overhead is very small. This allows your microcontroller to focus on the rest of your project (monitoring switches, etc...) while the MP3 is playing. It also means you can get away with using microcontrollers with less program memory and fewer I/O. Another advantage is that you don't need to know anything about programming for FAT32, USB host, or MP3s.

While the VMUSIC2 module is designed for playing back MP3s, the USB host interface can also be used to access (both read and write) any files on the flash drive. When I get to the instructable where I connect this to a microcontroller, it will be apparent how useful this is.

You are going to need the following items to complete this instructable:
*VMUSIC2 Module from FTDI.
*RS232 to RS232-TTL-3.3v converter (if you connect this module directly to your PC serial port, you risk damaging it. See step 3 for a suggestion)
*5V power supply
*A computer with hyperterminal (included with windows) or some other terminal program

Got everything? Good let's take a look at the module:
« Previous StepDownload PDFView All StepsNext Step »
27 comments
Oct 4, 2011. 9:47 AMRonCzap says:
I recently bought a VMUSIC2 but have used the VDIP1 USB host before.
They both use the VNC1L chip.
I contacted FTDI about whether the VMUSIC pins are 5V tolerant - they are...

Here is the response from FTDI tech support:

"The VNC1L inside of the VMUSIC2 has 5V tolerant inputs, however the outputs are referenced to 3.3V, with a minimum Voh of Vcc-0.4 (or 2.9V). You’ll need to check the datasheet of the device you are connecting to the VNC1L be sure these levels meet their minimum Vih."
Aug 3, 2010. 6:41 AMrustyroadie says:
just a note: if you make up a cable with a Nokia DKU-5 using this guide, http://buffalo.nas-central.org/index.php/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation the RXD and TXD wires on cable go to the RXD and TXD pins respectively on the vmusic - not the opposite as implied above. i.e. Cable pin 6 - Vmusic pin RXD Cable pin 7 - Vmusic pin TXD Cable pin 8 - Vmusic GND
Jul 14, 2009. 5:37 AMSenseiTG says:
Hey all...

Mentioned code for the PIC16F676 in my last post. Eventually got around to posting it all online - no need for PM's you can download schematics and code right here:

http://www.vivisect.se/targetbunny/rbox/

Hopefully it'll serve as a good base for anyone doing a similar project.
Jun 29, 2009. 3:44 AMSenseiTG says:
Also been having a deal of trouble with my VMUSIC2. All is now solved.
Heres a few bits of information that might help others:

Regarding FIRMWARE:

Many units come shipped with a VERY OLD FIRMWARE that does not work with some/most/all(?) usb sticks.
NONE of my sticks worked which also meant I could not upgrade using the "regular" file-on-a-stick method.

Regarding REPROGRAMMING:

Files and software are available from the vinculum website!

To reprogram using a standard com port you need an max232 (or any rs232 <-> ttl level convertor) chip. You need to hook up ALL FOUR WIRES (tx and rx alone won't work - I tried). That is RX->TX, TX->RX, CTS->RTS, RTS->CTS. If any of the wires are wrong you'll get "failed to read ack" or "failed to synch". This way is alot cheaper than an ft232r cable, but it works just as well!

To reprogram using an FTDI ft232r cable just match up the colors. The cable does come in a 2mm pitch variant which will hook up straight to the device without the need to make an adapter - could not get this in time myself though. Both the 5V and 3.3V cables will work and they WILL POWER THE DEVICE - no external power required in programming mode.

Jumper (inside device) must be moved to put device in programming mode.

Regarding CORRUPTED FIRMWARE:

Even if you've corrupted the firmware - DO NOT WORRY - the device will ALWAYS be reprogrammable using the jumper/cable method
unless the device itself is broken.

With a corrupted firmware you will only be able to reprogram using a cable - ie: file-on-a-stick method won't work.

Regarding the #CTS-LINE:

Using UART mode you will always have to hook up the CTS line for proper operation!
The VMUSIC2 cannot transmit data unless you let it know that it's Clear To Send, ie: CTS=LOW/GND/0V.
If left "floating" it is interpreted as HIGH - the VMUSIC2 buffer fill up and the device cannot initialize (or stops if already initialized).

On the latest firmware the LED will flash RED/GREEN until CTS is pulled LOW.
On the shipping firmware the device seems dead (no response whatsoever) until CTS is pulled LOW.

Regarding OTHER ISSUES:

1) My device was LOCKED IN UART MODE - moving the UART/SPI jumper HAD NO EFFECT and the device was still communicating in UART MODE. I am unsure if this was due to a hardware defect or a firmware issue.
Seems alot of people have SPI problems - could be related?

2) In UART mode #RTS was ALWAYS LOW - even when the device had nothing to send. Since I was using #RTS to detect and receive a character in my software-based "UART" code it did not work because of this.

3) The firmware seemed to lock up from time to time for various reasons requiring a reboot before I was able to communicate with it again.

I have not yet had time to try either SPI-mode or proper #RTS operation with the latest firmware.

Regarding CODE REQUESTS:

I have Microchip PIC code that will interface an PIC16F676 to the VMUSIC2 using both SPI (untested but should work) and UART (software based) modes. If interested you're welcome to PM me.
May 6, 2009. 12:49 PMrazsadeq says:
Urgent Reply Needed! I connected my vmusic 2 to the hyperTerminal previously and tried all the commands, they worked great. but now I have tried to connect it (vmusic2) to a pic16f877a mcu, and send a string saying "v3a cr" to it, i made all the connections, and interfacing circuits, but it didnt work. So I connected the vmusic2 back to the hyperTermnial but its not working now! the led keeps flashing red-green-red-green-.. even when i insert the flash drive, it doesnt send a prompt now, instead it send one weird character, different one each time i restart. What is happening?!
Apr 25, 2009. 5:09 PMrazsadeq says:
Great job Retro! Ive followed the steps carefully, but when I reached step3 and inserted the USB. nothing happened, no blinking, no red, no green :( at the begging I used a samsung charger as a power supply, but looks like it wasnt enough for powering up the device, so I got an actual power supply, connected gnd to gnd, and 5V to 5V on vmusic2, but the led did not light green, is this normal? (I read the comments of other people, and I saw you guys are talking about CTS# pin being connected to ground, is this important at this stage?) then inserted the USB and also nothing happened. Is there a chance I ruined the module when I tried running it using the samsung mobile charger, although the problem with that was not enough current? Waiting for your response!
Apr 28, 2009. 10:35 PMrazsadeq says:
Dear Retro, I read all the comments and found them very useful, I ended up reflashing it the hard way. What made it really hard is that I have few days to finish a project I am working on, so i don't have time to order the cable and waiting 10 days till it ships. for those who have the same situation or just dont want to buy the cable, here is what I need to hook vmusic2 to the computer without the cable: USB-Serial adapter. Serial Cable Max3232 -voltage level shifter. The vmusic2 now works just fine. I was wondering if you can provide us with the instructable for connecting VMUSIC2 to a microcontroller (hopefully from microchip). The documentation's example is not very helpful. Many Thanks,
Mar 2, 2009. 2:58 PMwoyzeck says:
I ran into some trouble here. I bought the TTL-232R-3V3 from FTDI, matched up the colors of the cable that came with the Vmusic2 and don't get any blinking light. What do I connect the ground to other than the USB cable that I got? What am I missing?
Mar 3, 2009. 8:07 AMwoyzeck says:
Thanks so much for the reply. I was not using a separate power supply. I thought the USB connection would power it. :P So, just to clarify, I'll need to connect a separate 5V from an independent power source to the 1st (ground), the 3rd (pos), and the 5th (gnd) pin even if there is already a black and red and green lead on there from the USB cable? Thanks so much for the help. newb here.
Mar 12, 2009. 4:52 PMandyman2u says:
First off - thanks so much for writing this. The timing was totally serendipitous.

Being a newbie, I'm having a little trouble with this step. I managed to load the firmware, but I'm not sure in what direction I should head next (regarding the TTL-232R-3V3). I do have a USB adapter (link) that I bought with a BASIC Stamp kit, from Parallax, that looks like it's based on the FTDI chip. Can I use that adapter?

Thanks again,
Andy
Feb 25, 2009. 10:18 AMboikonur says:
I am wondering does it have a delay when changing songs, or it does it rapidly?
Jan 26, 2009. 8:58 AMstric910r says:
I would not buy the Vmusic module. Many students, including me, at SPSU in Atlanta Georgia used this module for the Digital III class. The documentation was horrible, and the tech support would take days to get back with you. They had no clue how their own product worked. We would ask them questions about their documentation that were simple; it took days to get a response. After weeks of testing we finaly got the component to work, but it was wasted time due to their documentation being incorrect. We had to figure out how this product worked on our own using a frequency counter. Very unprofessional documentation, lack of flow charting their own work. The only useful thing they had was an example in Pic code, but if you do not know Pic and you're software runs on a different language, you're not helped. Maybe they've changed by now and gotten better. This was not the case in Summer of 2007. I would highly advise not using this product.
Jan 12, 2009. 7:09 PMjoegangi says:
Thanks so much for making up for the inadequacies of the manufacturer's documentation. I have two of the VMUSIC2 modules and neither one seems to be functional. Can you tell me if in a new, and presumably unprogrammed VMUSIC2, does the panel LED light when you apply only 5 VDC and Ground to these connector pins. The documentation implies that it should, but knowing what I know about this sort of stuff, the LED may be a programmed LED which will only light when it is told to. I went thru all of your instructions up to the point of putting the FTRFB.FTD file onto the USB drive ( a CRUZER 2GB) and plugging it into the VMUSIC2, applying 5 VDC, etc exactly as you describe and "No Dice" on either of the two units I have. Do you know if others have experienced out-of-the-box failures with these? Any ideas for my situation? Thanks Much, joegangi
Feb 1, 2009. 3:41 PMjoegangi says:
RetroPlayer, Thanks for your reply. I did NOT see CN4, thanks for pointing it out and describing its function. I did get my two modules working. The trick was this: the CTS# and RTS# signals on CN2 need to be connected together. Once they are connected a monitor prompt will be sent on the TXD output at 9600 baud. (I forget the exact composition of the prompt, it goes away once you've downloaded the operating system firmware.) Once that prompt was showing on my HyperTerminal set-up, (I do have a 3.3 V to RS-232 converter box from previous projects.) then when I plugged in the USB drive with the FTRFB.FTD file, the action started!!! The V-Music2 panel LED started blinking as well as the USB drive LED. I let the thing take its course as you described, and after a few minutes the drive prompt displayed (i.e. "D:") and I was able to use the commands as you described. In no time at all I was playing MP3 files! I have previously dealt with FTDI on a USB project I designed for a client about a year ago. FTDI's documentation is amongst the poorest I've encountered. Voluminous for sure, but it certainly skips over, or hides, important details that can waste hours of your time trying to discover thru trial and error. I even spoke with their application engineers when I was doing the USB project. They were as equally confused as the data sheets. Eventually, I discovered the secrets on my own and got it to work. So, I am extremely grateful for the trail blazing you did on the VMusic module. You are a Prince to publish your findings. Highest Regards, Joe Gangi Pottstown, PA.
Nov 21, 2008. 12:10 PMalquimus says:
Hi, about the cluster size. I found your instructive very helpful. I was trying to upgrade the firmware with no results. Then I realize that my cluster size was 2014 bytes, so the VMUSIC2 module wont respond to it. After reformatting my USB memory and everything was OK. So, if any of you is having that problem, that may be helpful. Greetings from PERU
Sep 26, 2008. 10:49 AMevanwehrer says:
How much does this cost and where can I get it?
Jul 14, 2008. 4:57 AMGWJax says:
Your right Retro great for the Elvinator Project ++++ and a vote for you!

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
4
Followers
1
Author:RetroPlayer