Shop OBEX P1 Docs P2 Docs Learn Events
PropMP3 : The Propeller Powered MP3 Player — Parallax Forums

PropMP3 : The Propeller Powered MP3 Player

Kit MortonKit Morton Posts: 39
edited 2008-09-15 15:57 in Propeller 1
Hi all,
Here is my first Propeller project. hop.gif

The Prop MP3. An (almost) portable mp3 player controlled by the Propeller.

Pics%20004.jpg

The PropMP3 player uses the uOLED96 and 9 buttons to display song the current song information and browsing a song database.
The mp3 files are read off an SD Card using a slightly modified version of the fsrwFemto object. The data is then sent to a vs1002 mp3 decoder chip that decodes and amplifies the music. The song database is set of five binary files that are stored on the SD Card, and copied to the EEPROM at runtime. This allows access to the song database even when it is reading mp3 data from the SD Card. The database stores the song name, genre, artist, album, track number, and track length. The database can be sorted by genre, artist, or album. The player allows for control over display contrast, audio balance, Left Channel Inversion (used to emulate surround sound), and random playback.

The main board is a custom circuit board that I had made by [noparse][[/noparse]url = http://www.pcb-pool.com/ppuk/info.html]PCB Pool. This circuit board integrates with a stripped down MODMP3 board for mp3 playback and a uOLED-96 for display. Due to a few mistakes in the circuit board it required 5 volt power from a external source, but hopefully I can fix this problem with a new board.

More pictures can be found here picasaweb.google.com/kitmor/PropMP3.

I have attached a copy of the code. It probably isn't much good if you don't have the hardware, and it certainly isn't the prettiest or the most efficient code, but maybe someone can get some good out of it.

Lastly I would like to thank parallax for giving us such a great microcontroller. Also I would like to thank everyone on this forum for helping me get on my feet with the propeller, it is so great to have such a helpful community around this awesome microcontroller.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PHRED, FIRST Team 847, Member
Go -> PHRED


Post Edited (Kit Morton) : 4/13/2008 3:32:49 PM GMT

Comments

  • RaymanRayman Posts: 14,362
    edited 2008-04-10 23:39
    Nice. I've been dreaming of doing something like that myself... Why didn't you use the Oled-Prop-96 thing? I did look into reading the ID3 tag info, and I think it is very easy to do...
  • jazzedjazzed Posts: 11,803
    edited 2008-04-11 03:11
    Nice first project [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    jazzed·... about·living in·http://en.wikipedia.org/wiki/Silicon_Valley

    Traffic is slow at times, but Parallax orders·always get here fast 8)
  • Kit MortonKit Morton Posts: 39
    edited 2008-04-11 05:14
    Rayman said...
    Why didn't you use the Oled-Prop-96 thing?
    The main reason that I didn't, was that started this project before the OLED-Prop-96 was available. Also I am using I think 20 IO lines by time I have all the buttons plus everything, so the it falls many IOs short.
    -Kit

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PHRED, FIRST Team 847, Member
    Go -> PHRED
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2008-04-11 11:53
    WOW! Super project. I bet there are many people salivating here that would like further details.

    Nice job integrating everything. If future versions wanted to build off a uOLED-PROP-96 then perhaps they could use a uOLED-IOC from Brilldea (shameless plug, I know). For your design, how many lines of the properller would you say are "High speed" where you wouldn't want to run the data through a GPIO expansion chip? Nice graphics on the display too!

    The little project I am working on right now (to be revealed in two weeks) would allow your MP3 player to be even more iPOD like.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Timothy D. Swieter

    www.brilldea.com·- check out the uOLED-IOC, an I/O expansion for the uOLED-96-PROP
    www.tdswieter.com
    One little spark of imagination is all it takes for an idea to explode
  • Kit MortonKit Morton Posts: 39
    edited 2008-04-11 19:59
    I'd say twelve of them would have to be high speed. But four of those are for the SD card and two are for the screen it's self, and the uOLED-PROP-96 already has a SD Card and screen. So I would probably six, all for the MP3 chip.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    PHRED, FIRST Team 847, Member
    Go -> PHRED
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2008-04-11 23:29
    Hmm -

    The uOLED-IOC, if configured in extended mode, would leave four I/O pins that are unspecified, and two that are also used for Tx/Rx that could beused used for "high speed". The GPIO would have another 16 pins. If I was to re write the driver for the GPIO so that it was ASM, then perhaps the speed of the update on the GPIO chip would be suitable.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Timothy D. Swieter

    www.brilldea.com·- check out the uOLED-IOC, an I/O expansion for the uOLED-96-PROP
    www.tdswieter.com
    One little spark of imagination is all it takes for an idea to explode
  • tpw_mantpw_man Posts: 276
    edited 2008-04-12 19:07
    Great and well done first project. One minor complaint: it sounded like you had gotten the propeller to decode the mp3s natively.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am 1010, so be surprised!
  • Bob Lawrence (VE1RLL)Bob Lawrence (VE1RLL) Posts: 1,720
    edited 2008-09-11 14:57
    Excellent project! jumpin.gif How reliable has the playback file system been?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Aka: CosmicBob
  • tpw_mantpw_man Posts: 276
    edited 2008-09-11 20:12
    One thing to note. I think it would be better to have an 'update database' option, or a database version number to be checked on startup, because even though the EEPROM can support ~100,000 write cycles(correct me if I'm wrong), it still probably is not a good idea.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am 1011, so be surprised!


    Advertisement sponsored by dfletch:
    Come and join us on the Propeller IRC channel for fast and easy help!
    Channel: #propeller
    Server: irc.freenode.net or freenode.net
    If you don't want to bother installing an IRC client, use Mibbit. www.mibbit.com
    tongue.gif
  • Sachiel7Sachiel7 Posts: 41
    edited 2008-09-15 15:57
    Really cool project! I had thought about writing a software mp3 decoder, but decided it would be too much for me to be relevant...
    Kit Morton said...
    ·Also I am using I think 20 IO lines by time I have all the buttons plus everything, so the it falls many IOs short.
    Multiplexer?

    http://en.wikipedia.org/wiki/Multiplexer

    yeah.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    -=Sachiel7=-

Sign In or Register to comment.