A feasibility question...

I have been working on developing an MP3 module since there doesn't seem to be one out there that does what I want. I have also been developing my own custom arduino board. The two ideas collided and I realized that the atmega32u4 used for the programming pretty much does nothing once a sketch has been loaded. What would prevent me from using it to handle the FAT, MP3, and uSD access for me? The idea is that I can access it from the main controller and have it open and serve up files and play MP3s for me with no real overhead on the main controller. Another idea would be to build an SD bootloader routine that could load a sketch from the SD card and program the main controller for field updates.

Am I right in assuming that the 32u4 just sits idle in between sketch uploads?

Am I right in assuming that the 32u4 just sits idle in between sketch uploads?

I don’t think idle is the best word, it is always active and looking to see if there is any serial data to pass to and from the serial data lines of the AVR chip and or the PC. That’s why you can send and receive serial data from a sketch to the IDE’s serial monitor at any time the sketch is running.


As far as I know, it's just a USB to TTL serial convertor. I don't think it does much, if anything, more than that besides shoving serial data back and forth to the PC thru the USB cable. I think that the bootloader in the 328 does all the real "magic". It does seem like a waste on the 32u4, especially since it gets the good 16MHz crystal and the 328 gets a ceramic resonator. I believe the Leonardo just has the one chip on it.

I'd like to see an FPGA doing the work and allowing us to program it. I have no experience at it, but I've wanted to learn for a long time. I just haven't had the time to dedicate to it.

Whats wrong with the current MP3 modules, and what do you want to do differently?

For one, I want to be able to call up MP3s by their filename directly, support multiple folders, and also be able to open and access other files for the arduino to process. The VMUSIC2 does all of that, but is designed for a USB stick instead of microSD (though a reader would solve that, I guess.) The VMUSIC2 is also not very cheap.

I do alot of interactive projects such as animatronics, exhibits, displays, etc... and it seems that I am doing pretty much the same things over and over. I am planning to build an arduino compatible show/prop controller that will have the scripts and MP3s built in and allow modules to be plugged in for the rest of the bits (buttons, LCDs, lights, EL wire, servos, motors... you get the idea.) So I want a module that not only plays MP3s, but allows me to load scripts, write statistics, etc. Also being able to update the program in the field would be a very useful feature as well.

How about this? It can be used as an sd card reader along with the ability to play music files. I believe that it also supports multiple file management through code. http://www.adafruit.com/products/94

Yep. As long as that is pretty much the only thing you do with the arduino. That shield is just a card socket, a DAC, and an audio amplifier. The Arduino is responsible for all the heavylifting, so it is capable of whatever you were to program it to do. But audio playback takes up alot of resources. That is why I am focused on a standalone module.