DIY CD drive based on a computer CDROM

I just ordered one of pradit_p's kits.

Already have a Samsung VFD sitting here, and my original plans were to "convert" a very nice looking DVD player I have, which is already based on an IDE drive (which happens to have an I2S output on the PCB already 😀).

The display wouldn't fit into the case without some serious modifications, so I scrapped that idea.

For now, I think I'll fire up Sketchup and design something, then have the panels cut out.

I like the idea of converting the drive to top loading, using a suitable gear train to open and close the door. Fortunately, my work has several thousand scrapped DVD players and portable audio units that I can cannabalize for parts.

I still havent decided if I should build a power supply from scratch, or if I should use one of the pre-built 5/12v supplies we have here...

Decisions decisions 🙂

I'll keep you updated.
 
Hello,
I see that is interest in ATA / ATAPI "drivers", well I 've been working for some time at one of this. The first version was build around PIC16F877A, the second one uses PIC18F452 uC. I believe that some of you are familiar with rockna controller kits... I was made that firmware for PIC16F877A uC and "inspired" from SFF8020.pdf ATA/ATAPI datasheet wich is... a little bit old now 😉.
If I can help let me know at info@luckit.biz
Best regards!
Sorry for my lack of english but i think that you are understand the message 🙂
 
To Andrea:
here is code that I use to Open/Close CD/DVD Tray (see attachment).
 

Attachments

  • eject.jpg
    eject.jpg
    98 KB · Views: 1,644
I have finally built it, after 6 months on the shelf, using a microATX case (lots of room for improvements), and Praditt's kit (with the blue LCD) 😀

As i'm bandwidth concious for other users, the pics are linked

Gluing the LCD (first of many many times), and the IR receiver.Aren't these 500gr solder bobbins handy? 😀

http://classicotuning.no.sapo.pt/spit/IMAG0109.JPG

Close-up of the LCD. The IR receiver stands inside next to the Power-on LED, where the HDD led used to be.

http://classicotuning.no.sapo.pt/spit/IMAG0122.JPG

My listening room. CD-ROM audio player on top of my age-old Bush cd-player, a magic eye line-meter, and my KT88 amp.

http://classicotuning.no.sapo.pt/spit/IMAG0125.JPG

A frontal view of the player

http://classicotuning.no.sapo.pt/spit/IMAG0126.JPG

I need to get my self an external dac, for sure. It lacks bass quite a bit! even tough the detail sounds verygood to me.
Well, either that or the cd-rom line out hasn't got enough "humph" to drive the ECC88 input tube. In that case, an opamp buffer should do the trick.

Thanks for the kit Praditt!
 
Hello Dave,
in my therms, 'initialization' is similar to that made for LCDs at startup or DSA Modules, when you tell them how to configure DACs or other pheripherals to work properly or accordingly to your needs, etc... About the first command... (in my actual version of firmware) is 'Inquiry' (0x12) to see if it's any device connected on ata bus and then those commands related to Read-TOC. I apologies for this disagreement and i'm sure that my code is very similar to yours regarding Ata / Atapi.
 
My Pradit kit arrived today.

Shown here as a sneak preview 😉

The drive I'm using has a Philips mech, and the PCB has SPDIF out that conforms to specs (not +5V).

Now it's time to decide - SMPS or Transformer PSU, and how do I design the case. I like the idea of top loading, but this drive seems to work perfectly well (not to mention feels very solid) as a tray loader.

An externally hosted image should be here but it was not working when we last tested it.


The Samsung VFD is very sexy, so I'm planning on changing all the displays within the program to look nicer. Big appreciation to pradit_p for using a socket to attach the MCU to the board.

Stay tuned for more!
 
metaxus said:

The drive I'm using has a Philips mech, and the PCB has SPDIF out that conforms to specs (not +5V).

In CD-ROM with Philips mech (Philips, BTC...) the DAC chip is separated from DSP, so try to find LRCK/BCK/DATA lines (look to DSP or DAC datasheet) on the board and connect it with TDA1543/TDA1543A (check format I2S/S format in DAC datasheet). No need for SPDIF.

Regards,
Josip
 
As far as a simple power supply for 12V/5V, I used a 19V 3A laptop power supply and regulated the voltage down to 12V and 5V with an LM317. Works fine for my SAmsung 52x CD Rom and controller (non Pradit type)...

The only thing I dislike is the CD 52x Spin NOISE...irratating as hell...but a nice quiet enclosure will definitely help...
 
john65b said:
As far as a simple power supply for 12V/5V, I used a 19V 3A laptop power supply and regulated the voltage down to 12V and 5V with an LM317. Works fine for my SAmsung 52x CD Rom and controller (non Pradit type)...

For testing I use any old PC supply , doesn't seem to need a working fan at that current draw.
 
To Dave:
I just want to say that I don't work for lupulroz anymore... so, there is Not our site and didn't was/is 'lulproz and luucifix's fine work'... it's just 'luucifix' 🙂.
I see that he give the source code (Intel Hex) for his CD/DVD-Rom controller kit. Before you enjoy that you should probably know that it is one of the oldest versions that I made (a few years ago ~ 2003) for PIC16F877 microcontroller (which memory is partitioned in 4 Banks.. very unuseful for C coding) and it was build around SFF8020i.pdf ATA/ATAPI interface specifications ( - in time I discovered that is full of bugs - see web for that). From independent reasons of my will I was forced to release a 'final' version and later I was blamed for that: the software doesn't work properly and/or easely crashes.
Some examples:
- the presence of the dot-matrix display is mandatory as the system will not initialize without it... of course! because first of all, software try to Init the lcd (4 data lines, clear LCD, Goto first character)... so if there is no LCD connected, firmware will wait for response ... indefinitely
- due to power glitches, noise and internal timings, some Displays (especially PLEDs) not respond to commands accordingly and firmware doesn't have timeout to process that type of errors
- sometimes firmware crashes at the end of CD (when reaches Lead-Out) in 'Playing', 'Paused' (and other ??) Modes,
- often displays 'STOPPED' even the user didn't give the STOP command,
- 5V Supply is insufficient to power the CD-ROM, uC and pheripherals (including LCD Backlight)... when this is happening (CD Spin Up or Read-TOC) the microcontroller is instable or execute Reset Conditions (internal.. form BrownOut or external.. given by Reset circuit).
- I didn't have time to test / debug this software completely so it didn't work on some drives.
- Too few ATA/ATAPI error processing rutines.
- ... and more... which I only see.
Sorry for that Dave, but in my opinion it is FAR AWAY from a "fine work".
To ALL: Use it at your own risk! In addition to that hex... soon I'll give to you schematics and firmware for the same application but works with PIC18F452 (minor modification in software... same bugs, more flexibility) 😀.
Best coding to all!
P.S. I don't want to be impolite... but all that I say refer to this application Only.