From Tim's website
Jump to: navigation, search

Electronic Projects - Minidisc Control Lead

I built this connector to control the Sharp MD-MT161 Minidisc player with a home computer. The remote control port on the player is connected to the parallel port on a PC. A piece of software is then used to simulate pressing the buttons on the Minidisc player. This allows full control of the player, and helps with titling Minidiscs.

To enter titles on my minidisc player I have to scroll through the alphabet to select each letter. I can manage about 20 characters per minute like this, so it takes half an hour or so to title a complete disc. I was looking on http://www.minidisc.org when I found a page by Thomas H Meier, who had designed and built a circuit to send signals to the remote control socket on the MD-MS701. I decided to make a circuit to do the same job (using only resistors and diodes) and a friend (Richard Jarvis) and I adapted Thomas Meier's program to work for my MD-MT161.

Description

The first problem was to make a suitable connector. This is shown in the above photo and is made from a standard 3.5mm jack plug and a piece of strip board. The strip board is filed down to be thinner so that it will fit in the slot next to the headphone socket. The copper track is left in place and makes a connection to the outer spring contact inside the slot. A gap is cut in the side of the plug case, and the strip board is soldered onto the connectors inside the case to make a fairly robust connector.

The cable has two conductors. The first is the ground, which connects to the part of the 3.5mm stero plug furthest from the tip. The second connection is made to the copper on the strip board - the red wire in the photo. Note that the casing on the plug must be pushed on, as it cannot be screwed on with the strip board in place. I also added a drop of glue to the thread to keep the casing in place.

Circuit Design

The Minidisc player passes a constant current from the spring connector in the slot to the ground point to the 3.5mm jack. The voltage across this connection is then measured and different voltages indicate different buttons have been pressed on the remote control. This can be simulated most simply by placing a resistor across the connection, and this is basically what my circuit does. The circuit designed by Thomas Meier drives the voltage directly, and so it may be more reliable, although the circuit is more complex. My resistor network is shown below:

Minidisc Control Lead Circuit.png

By default all the output pins on the parallel port are set high. Although the diodes do not conduct in this direction, pin 7 can supply a small current through the 100k resistor and make the Minidisc player think that there is a high resistance at the remote control. This indicates no buttons are being pressed. The remaining resistors can then be connected to ground by sending a zero to the required pin. Sending zeros to all the pins makes the player think there is a short circuit at the remote control indicating Stop has been pressed. The combinations and their voltages are as follows:

COMMAND HEX BINARY VOLTAGE
None FF 11111111 2.73v
Mode FB 11111011 1.78v
Disp FA 11111010 1.57v
Bass DD 11011101 1.43v
Vol Down DC 11011100 1.26v
Vol Up D8 11011000 1.03v
Rewind D5 11010101 0.89v
Forward E6 11100110 0.72v
Stop 80 10000000 0.52v

Software

Unfortunately the Enter button cannot be controlled through the remote port, and so this must be pressed manually. The program works by taking in an input string. The Minidisc player is then set to the initial condition (ready to enter the letter 'a'). The program then 'presses' the buttons in sequence to go to the next character and beeps. All the user has to do is press the Enter key on the Minidisc player each time the program beeps. It is interesting to watch the screen as the user will see the Minidisc player scrolling to the next character in the quickest direction and selecting the appropriate case or symbol. In its current state the program gives the user half a second to press the Enter button before it moves on to the next character. I find it easiest not to look at the screen, and just to press Enter every time the computer beeps. If Enter is pressed early or late, the Minidisc player will pause on the wrong letter, and all future characters will be wrong.

I have looked inside my Minidisc player and tried to attach a signal to control the Enter key, but I couldn't find a neat way of doing so. With the program I can manage 60 to 80 characters per minute, an improvement of 4 times. So it only takes 10 minutes to enter an entire album, labeling each track with the artist and title. If you wish to copy this system or modify it for a different model and need help, please feel free to contact me - see my User:Tim page.

To use the program, copy the text from the Minidisc Control Program page and save as titleaid.bas (or something) and then open it using QBasic. QBasic is supplied with MS-DOS and Windows. It should also be freely available on the web. I have not ported it to another language as I don't use it very often, although I would be interested to hear if anyone does port it.

Links