Using Clip+ by wired control from PIC

Hi,

I am looking into the use of an MP3 player to proide the source of audio clips under control of a PIC (peripheral interface controller - think of it as a computer if you aren’t familiar).  I need to know whether a Clip+ would do what I want, so perhaps an owner could advise, based on the following information.

I narrowed my selection of MP3 player down by looking for those that can be powered (main-USB power pack) at the same time as playing (some ultra-cheap players share the headphone socket for power).  Battery life is not important as it would be powered by adaptor continuously.  I know that it can’t play whilst connected to a USB port of a computer (unless you block the two centre USB pins that are for data).  Cost was also a consideration, i.e. cheap as possible without compromising sound quality too much (the audio would go through a 30W amplifier for a public area).  

Here’s what I plan:

Take the Clip+ apart to gain access to the switches under all controls.  Q: Anyone taken a Clip+ apart?  If so, is it difficult or just a bit of teasing apart the plastic clips on the case?

Attach wires to the relevant switch contacts.  Cut away the case for wire exit and reassemble the player if possible (it probably wouldn’t matter if I had to leave the case off but would just be neater if all together again).

Connect the wires (via suitable electronic interface) to the PIC (I can do the electronics).

Now, I should be able to simulate pressing any of the controls by programming the microcontroller suitably.  I’ll be able to programme the duration, in case there’s any “press and hold for x seconds” requirement. 

I need to know which buttons/switches on the Clip+ that I’ll have to control, based on what I want it to do, which is:

Select a single track from several MP3 files, play just that track then stop/pause.  The single track might be say the fourth one of twenty, so I need to be able to get to it (maybe that’s press forward three times for instance?).  A while later (determined by the PIC), I might need to play the seventh track, again, just play the one track then stop.  If it needs repeated “press forward”, that would get a bit long-winded if I wanted say the 34th track, so any shortcuts to selecting track need to be considered.

I’ll probably have to elaborate but that’s your “starter for ten!” 

Cheers,

blackfish 

Why don’t you just get an mp3 player with an actual remote? Controlling most remotes via bitbanging GPIO or UART on a PIC is trivial.

Hi,

I probably misled by including the word “remote” in thread title (I’ve edited it). It doesn’t actually need to be “remote” as in “from a distance”.I just meant that the MP3 buttons need to be operated by the PIC rather than manually.

If I got an MP3 player with a remote control I would still need to hack the remote to wire it up to the PIC so I don’t think that reduces the task and adds another part that needs power.  As for bitbanging via UART, wouldn’t the receiving end also need UART?

Perhaps I can simplify my question by saying "what sequence of buttons do you press after power on to play the nth track alone?

blackfish

@blackfish wrote:

Hi,

 

I probably misled by including the word “remote” in thread title (I’ve edited it). It doesn’t actually need to be “remote” as in “from a distance”.I just meant that the MP3 buttons need to be operated by the PIC rather than manually.

 

No I understand that.  I suggested the remote since usually the remote control on an mp3 player is an externally controlable GPIO or UART connection that lets you control the player.  Its much easier to access that then to pull apart a board and try to get at the button GPIOs (which are often under surface mount components that are difficult to access).

But I guess if you’ve already wired up the Clip+, its a bit late to figure out an easier way to do this :slight_smile:

Hi Saratoga,

Not too late! I haven’t bought a player yet.  Are there any with remote that you’d point me towards? (I guess that might be a bit off topic unless you suggest Sandisk products so I’ll have a browse around).

Anyway, thanks for your advice in regard of remote being a better proposal for what I need to do.

blackfish.

Probably your best bet is an old ipod. You can buy break out boards for them:

http://www.sparkfun.com/products/8295 It uses RS232 for communications, so you should be able to wire it up to most microcontrollers’ UART. If you check google theres lots of pages explaining how to wire them, details for the protocol, etc. The downside is that the Apple protocol is very complex - it lets you control almost anything on the ipod. On the upside, a lot of code for talking to it has already been written.

If you want something simpler, many players have been made over the years with a remote that basically just presses the front panel buttons (iriver, toshiba, etc). Unfortunately these are rarer in recent times. I looked for a gigabeat F for instance (a popular player for hacking since its firmware is easy to hack and it exposes a high bandwidth I2S bus over its dock connector) and they’re rather hard to get. Finally, for a lot of players (including the clip), you can program their internal processors directly in a firmware like rockbox or ipodlinux and skip the external microcontroller entirely.

Of course you can also try to solder onto a Clip like you were thinking. However, the solder pitch on the clip is annoyingly small, and I’ve broken one before trying to wire up a JTAG connector to it. So I guess it depends on what you want to do, how good you are at soldering, and how much you want to deal with the software side of things.

Thanks again saratoga, plenty for me to go on there.  Might be a few months before I report back - need to sort out the finance first as the project is bigger than just the audio side.

blackfish.

What are you planning? Depending on your goals the cheapest option might be to drop the microcontroller entirely and run everything on the MP3 player. Although depending how much I/O you need that might be challenging. Most devices don’t expose all that many pins to the outside world.