# How hard would it be to hack a “personal soundtrack shirt”

I imagine this is an unusual question for this SE site but here it goes.

I just bought a "personal soundtrack shirt" from think geek.

This shirt is really cool. It comes with a built in speaker an amplifier (batteries not included) and a wired remote. To take an up close look at the whole setup here is a slideshow of some snaps...

Or to open the gallery without the slideshow...

I want to use this to make a christmas sweater with a tree and ornaments. I want to activate songs by clicking ornaments on the tree. In other words I want to essentially replace the wired remote with my own wired remote (or hack the existing one by disassembling it and making the buttons so they can be placed randomly on the sweater.)

How would I go about doing this? I have very limited knowledge of electronics but I am pretty handy and technical.

Bottom line...how do I "hack" the wired remote on this thing or make my own wired remote? IS there a way to power the current wired remote (assuming I could use the white wire) and then push each button on the wired remote to see what signal is sent for each button push?

Thanks for your help with this fun project.

You should be able to use a multimeter (without power) to figure out how the buttons are setup.

I would guess they are multiplexed, as there are 10 wires, and 6 rows and 4 columns on the keypad. As you can see from the below diagram (of a 4 x 4 matrix), the uC cycles through, setting each column high in turn and checking for a high on any of the inputs. In this example you can see how the press of C3 is detected.

So assuming this is how it is set up, set your multimeter to continuity test mode and apply the probes to two of the connector pins. Press each button until you hear a beep, note button/contact numbers and move on.
You will soon figure out which pin is connected to which row or column. When you have done this make your own switch matrix to use for your christmas sweater.

EDIT - For the continuity testing, I meant a multimeter on the ohms range (or the dedicated diode/continuity setting, which beeps when there is a short between the probes)
You are looking for which two lines are shorted when each button is pressed (so the display will show high/infinite resistance until button is pressed at which point it will drop to around zero ohms)

Here are a couple of link describing how to make a button matrix:
Keyboard Matrix

If you don't want to make your own you could buy something like this. Even if you don't buy one, the datasheet from that keypad might be instructive to look at.

• Can you give me some clues (perhaps a link) on how to make a switch matrix? And when you say continuity tester are you talking about DC or ohms testing on the multimeter? – Seth Spearman Dec 1 '11 at 12:06
• @SethSpearman - See edits to question. Let me know if there is anything you don't understand. – Oli Glaser Dec 1 '11 at 14:14
• Oli, I do have another questions. The ohms checker is the one that actually uses the battery to supply power to the circuit, right? Which means testing as you described it will work even without supplying power to the "power lead" of the wired remote (I assume that is the white wire.) – Seth Spearman Dec 1 '11 at 17:27
• Yes, don't supply power for ohms range, the multimeter applies it's own current to test the resistance so any power applied will confuse it. The white lead may just be to indicate wire number 1. It's quite possible I'm wrong and there is something else going on, but this is what I'd test for first as it's most likely. If you can't get any results then open it up (assuming that's easy enough) and have a look inside, maybe post a picture of it here and we can look again. – Oli Glaser Dec 1 '11 at 21:28

Here is a pinout to the remote I found in one of the reviews for the t-shirt at Amazon.com:

Pin + Pin = Button

1     5     1
1     6     5
1     7     9
1     8     13
1     9     17
2     5     2
2     6     6
2     7     10
2     8     14
2     9     18
3     5     3
3     6     7
3     8     15
3     9     19
4     5     4
4     6     8
4     7     12
4     8     16
4     9     20
1     10    Volume Up
2     10    Volume Down
3     10    Pause Play