Orange MePod

About: I make projects, they have names. Some are obscure and some straightforward. Form or Function; I go either way. Battery powered or edible, I love making things.

Firstly, why would I make a music player when one can be purchased for so little and Apple iPods are so great?  Well, I'll tell you.  After several cheap MP3 clones have died due to their Lipo batteries and my cracked, inoperable screen on my current iPod touch; I've had it with locked down devices that I can't fix and or change.  Also Adafruit's Wave Shield is by far my favorite Arduino shield and I just can't get enough of finding fun ways of using it.   

This is real simple build with few parts and totally ripped code.  But it'll be something I end up using everyday.   Be a sweetheart and vote for me in the Pocket-sized contest.  It's at the top of the screen.  One Button click, that's all I ask.  

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: How Many Mp3 Players Have You Owned?

In my short lifetime I've purchased have a dozen MP3 players, bout the same amount of CD players and almost got suckered into a MiniDisc player(Phew, glad I missed that one).  These are my most recent broken Locked-Down music players.   This consumer is done, I'll take a bulky arduino player over some 8thgen iPod Pico anyday now. 

Step 2: Gather the Parts

The Parts:

Adafruit Wave Shield   $22
Arduino Uno                 $25
4AA battery holder       $3
Orange Duct Tape       $5
Re-purposed Card stock  $FREE
4AA Batteries              $2
This is cheaper than some junky MP3 players.  

Step 3: The Code

#include <AF_Wave.h>
#include <avr/pgmspace.h>
#include "util.h"
#include "wave.h"

AF_Wave card;
File f;
Wavefile wave;      // only one!

#define redled 9

uint16_t samplerate;

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Wave test!");

  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(redled, OUTPUT);
  if (!card.init_card()) {
    putstring_nl("Card init. failed!"); return;
  if (!card.open_partition()) {
    putstring_nl("No partition!"); return;
  if (!card.open_filesys()) {
    putstring_nl("Couldn't open filesys"); return;

if (!card.open_rootdir()) {
    putstring_nl("Couldn't open dir"); return;

  putstring_nl("Files found:");

void ls() {
  char name[13];
  int ret;
  putstring_nl("Files found:");
  while (1) {
    ret = card.get_next_name_in_dir(name);
    if (!ret) {

uint8_t tracknum = 0;

void loop() {
   uint8_t i, r;
   char c, name[15];

   // scroll through the files in the directory
   for (i=0; i<tracknum+1; i++) {
     r = card.get_next_name_in_dir(name);
     if (!r) {
       // ran out of tracks! start over
       tracknum = 0;
   putstring("\n\rPlaying "); Serial.print(name);
   // reset the directory so we can find the file

void playcomplete(char *name) {
  uint16_t potval;
  uint32_t newsamplerate;
  samplerate = wave.dwSamplesPerSec;
  while (wave.isplaying) {    
// you can do stuff here!

void playfile(char *name) {
   f = card.open_file(name);
   if (!f) {
      putstring_nl(" Couldn't open file"); return;
   if (!wave.create(f)) {
     putstring_nl(" Not a valid WAV"); return;
   // ok time to play!;

Step 4: Making the Case

Pretty simple.  Mark out component holes is some card stock.  Cut it out.  Tape over it,  Cut through the tape now covering the holes for the components.  Embelish with extras and Stickers!  Viola a case is made.  

Step 5: The Case Strap/ Battery Compartment

So these batteries are going to last for a long time, But not forever.  I'll need a way to easy change them.  I decided on making a simple latch with the duct tape.  Folding it onto its-self provided the strap.  Tape the strap down.  Make some loops for it to go into and around.  BOOM! add some awesome stickers and your done.  
As a bonus, these can be used as belt loops.  Arduino Fanny Pack anyone?

Step 6: Go Get Jiggy Wit It

Go around town and see how many security guards you can freak out and how many people will stare toward your midsection.  People are darn curious bout my WavPlaya.  Keep it Cool!  

Hack It! Challenge

Participated in the
Hack It! Challenge

Pocket-Sized Contest

Participated in the
Pocket-Sized Contest

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    5 Discussions

    Phil B

    7 years ago on Introduction

    I have a little 1 GB Chinese knock-off of the 2nd generation iPod touch. It still works, but when the battery dies I plan to attach the player to a battery holder and solder its leads to the circuit board. I admire what you have done. I have no experience with Arduino, so I cannot evaluate what you have done. It looks good, though.

    2 replies
    GrissiniPhil B

    Reply 7 years ago on Introduction

    Thanks Phil. It's a pleasure to have a "god" member comment on one of my little projects. This was a cakewalk. It's mostly going to live in my car and be attached with an aux cable. I'd can't wait for your iPod to die to see how you do it. Just trying to open these things(iPods) without demolishing them is tricky.

    Phil BGrissini

    Reply 7 years ago on Introduction

    Thanks for your comment. I really do admire people who are fluent in Arduino.

    I am hardly a "god" member, just a guy who likes tools and has managed to find fixes for a bunch of needs I hope might also be useful to somebody else.

    My little player came with Sylvania's name stamped on it. Similar players have been sold by Deal Exteme on-line. It does have a small Philips head screw on the side. Strapping a battery holder onto it will make it look ugly, but if it works, I will be happy. I will try to give you a report when I do it. The player is about 17 months old right now and still working.

    I wanted a better charger for it than plugging the player into a USB port. I learned by trial and error that the socket on the player is identical to the charger for a Blackberry, so I bought one. The charger puts out 500ma. The player is supposed to be charged at no more than 350ma, so I added an in-line resistor after making a calculation with Ohm's Law.


    7 years ago on Step 6

    Thats awesome! I see you are keeping yourself occupied...miss ya dude, hope you and your lady are doing fantastic!

    1 reply

    Reply 7 years ago on Introduction

    Thx La, Miss you too. Keeping myself very occupied and doing well. Things will be fantastic this weekend when we finally move into our new house. Two months without a kitchen, dremel, or serious power tools has taken a toll.