Getting started with VMUSIC2 by RetroPlayer
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 1: 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:
RonCzap says: Oct 4, 2011. 9:47 AM
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."
rustyroadie says: Aug 3, 2010. 6:41 AM
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
SenseiTG says: Jul 14, 2009. 5:37 AM
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.
SenseiTG says: Jun 29, 2009. 3:44 AM
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.
razsadeq says: May 6, 2009. 12:49 PM
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?!
razsadeq says: Apr 25, 2009. 5:09 PM
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!
RetroPlayer (author) says: Apr 28, 2009. 7:52 PM
I doubt that you damaged your module with the charger. As long as it was 5V you should be fine. No activity on the light almost sounds like you have the firmware already installed and just need to move on to the hyperterminal part. Either connect CTS# to RTS# on the module, or connect CTS# to ground. Be sure to look at joegangi's comment below. It sounds like your situation is identical to his. He was kind enough to return here to post his solution. Let me know how it works out. I should be able to connect one up again tomorrow to check anything you might need to help you along.
razsadeq says: Apr 28, 2009. 10:35 PM
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,
woyzeck says: Mar 2, 2009. 2:58 PM
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?
RetroPlayer (author) says: Mar 3, 2009. 12:45 AM
You left alot of detail out, but I assume that you are connecting up the 5V and ground on the VMUSIC2 module to some 5V supply, right? The FTDI cable is not going to supply power to the module. It is only for communication with it. You have to power the module separately. The ground from the FTDI cable will connect to the ground on your 5V power supply, And remember that the CTS signal of the VMUSIC2 needs to be connected to ground as well. So, you will have three signals going to ground.
woyzeck says: Mar 3, 2009. 8:07 AM
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.
RetroPlayer (author) says: Mar 12, 2009. 6:07 PM
Woyzeck, also check out Joe Gangi's posts below. He was asking a similar question and he discovered on his own that the CTS and RTS should have been connected together. You should disconnect them from the FTDI cable first, though. Try that first since it is easier to do. Then look into the suggestion I made above.
RetroPlayer (author) says: Mar 12, 2009. 5:37 PM
I just went and looked at the specs on the cable again and you are correct. It supposedly will provide 5V from the cable. It can supply up to 75mA which I would think would be enough to power the module. And connecting the colors together should have worked. I apologize for that. It sounds like you are missing even the loader and may have to do it the more complicated way. Thankfully, the FTDI cable does have all the signals that you need. You are going to need to go to the FTDI website and grab the VProg reflash utility that I mentioned above. You will also need to be sure that you have the D2XX drivers for your cable (should have come with your cable.) This will probably require that you go into device manager on your computer and choose update driver for the cable and manually choose the D2XX driver instead of the VCP driver that it would install by default. Once you do this, you should be able to use the VPROG utility to load the firmware in. An additional note to everyone: Sorry for such late replies. I just changed my email address on here because I wasn't checking the old email address very often any more and wasn't seeing your comments. Now, I should be able to get them right away.
andyman2u says: Mar 12, 2009. 4:52 PM
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
RetroPlayer (author) says: Mar 12, 2009. 5:16 PM
Unfortunately no. That converts USB to regular RS232 which will use the wrong voltages. The 3.3V is extremely important. Anything higher than that (5V or >9V for RS232) may damage the Vmusic2 module.
boikonur says: Feb 25, 2009. 10:18 AM
I am wondering does it have a delay when changing songs, or it does it rapidly?
RetroPlayer (author) says: Mar 3, 2009. 12:47 AM
I don't remember there being an unusually long delay. It isn't immediate, if that is what you mean. I don't have one connected up at the moment to check this for you, but a delay didn't seem noticeable to me at all.
stric910r says: Jan 26, 2009. 8:58 AM
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.
RetroPlayer (author) says: Feb 2, 2009. 6:22 AM
I can certainly understand your trouble with it. I had a lot of trouble getting started (I never tried to call their tech support, though.) And looking for information online just lead me to lots and lots of posts from people that hadn't been able to get theirs working, either. Unfortunately, this is pretty much the only game in town for a device like this. So, hopefully my instructable will help others that need to use it.
joegangi says: Jan 12, 2009. 7:09 PM
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
RetroPlayer (author) says: Jan 31, 2009. 11:16 AM
If you haven't figured it out already (sorry for the late reply) make sure you download the VPROG REFLASHER utility in the links above. There is a manual included that will help you along. It does mention a jumper,but doesn't tell you what jumper they are talking about. The jumper is next the USB port inside the case (labeled CN4). Normal mode has the jumper on the top two pins and program mode has the jumper on the bottom two pins (if I remember correctly, try also removing it completely for programming.)

You are correct that the LED is under program control and will only light up if the firmware is running.

To do this process, you are going to need a serial converter based on a FT232RL that gives you access to the CTS and RTS signals and it will need to be installed with the CDM drivers instead of the normal "virtual serial port drivers." I bought a nice breadboard converter that allows me to use 2.5v,3.3v,5v, or any level voltage for conversion. I believe I paid $20 for it on ebay.

I have the predecessor to this one:
http://cgi.ebay.com/USB-serial-UART-TTL-RS232-Converter-Adapter_W0QQitemZ260340621837QQcmdZViewItemQQptZBI_Electronic_Components?hash=item260340621837&_trksid=p3286.c0.m14&_trkparms=66%3A2%7C65%3A1%7C39%3A1%7C240%3A1318
joegangi says: Feb 1, 2009. 3:41 PM
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.
RetroPlayer (author) says: Feb 2, 2009. 6:15 AM
Thanks for the kind words. I wonder if your need to connect RTS and CTS together has anything to do with the need to connect CTS to ground. Since I did it the "hard way" the first time, and turned off flow control in the process, that might have kept me from having to connect the two together when I tested the above instructions. Thanks for the information.
alquimus says: Nov 21, 2008. 12:10 PM
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
evanwehrer says: Sep 26, 2008. 10:49 AM
How much does this cost and where can I get it?
RetroPlayer (author) says: Oct 9, 2008. 4:04 AM
Wow, sorry for such a late reply. I ordered mine directly from FTDI: http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=55&title=VMUSIC2

I believe it was about $35 plus shipping at the time.
GWJax says: Jul 14, 2008. 4:57 AM
Your right Retro great for the Elvinator Project ++++ and a vote for you!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!