DIY CD drive based on a computer CDROM

Elkaid said:

Then, once finished, we'll be be able to focus on a nice DAC like the Nonoz II :) There's even a tube version of this DAC !

Looks familiar :)

I am now busy with it's follow-up. Sounds much better, though I have to fix some issues yet...
And I have to decide if it will be the Nonoz II+ or Nonoz III.

Nice project here with the CD-roms! Also, have a look at the Meridian 588 thread:
http://www.diyaudio.com/forums/showthread.php?s=&postid=213850#post213850

It would be very cool if the sound data can be processed with a DSP afterwards. So to implement functions like oversampling (or not :) ), absolute polarity, EQ etc.

Fedde
 
My "victim" has just arrived :D.
This is the CD ROM I am going to use for this project. It is a modern model, an AOPEN CD956E with 56x speed. Paid 20 Euros for it (brandnew of course):
 

Attachments

  • aopen1.jpg
    aopen1.jpg
    52.7 KB · Views: 3,905
@rikkitikkitavi:
Just opened my PC to get the drive powered. Dropped a CD in, plugged the headphone in, and... it's working without any problems.
Although the drive is not very noisy at all, it seems to run at a much higher speed then 1x when playing an audio CD.
And: it sounds awful :D. This of course shouldn't be the transport's fault but the unbelieveable bad headphone amplifier...
 
Jeez you guys posted a lot since yesterday!

OK. Well it looks like no-one is willing to try out the "unbeaten path" and everyone wants to stick to the language they already know best. Sadly this means you oldies want to use Assembler. As previously stated this won't bother me much, but the poor guys who want to mod the software later will suffer unless we add adequate comments in the source file/s. Can we all at least agree on that?

Nice drives you guys have "harvested". I also agree that a tray is no good, and I would also like to make mine a toploader.

I'll be drawing up my schematic and PCB layout this weekend, and start coding the software as well.

Cheers

DJ
 
CD-ROM drive

Hai all,

DJ,
Did we all agree about the programming language? Not that I'm aware off. I still feel for a higher programming language. Maybe use assembly for the time critical parts. For the first phase of this project speed is not really an issue. Maybe only for the Infrared part. Is it a good idea to start programming in pseudo code first. First setup a basic flowchart for the program and than fill in the details. That way it's possible to split the programming part into small chunks so different people can work on the same project at the same time. Also modular programming makes it possible to add functionality to the program without rewriting everything. Than when the project finishes, if ever a project is finished, you can add or delete modules depending on what you want with the CD-Player.

Holger,
Your drive looks quite similar to mine (Samsung 48 speed). I inserted a disc without the top cover on the drive and the disc was launched through the room. When I pressed on the disc to keep it from launching I noticed that the drive motor is strong. So a clamp should be possible if we can initialize the drive to run at 1x.

MGB
 
MUG

Hi Douchekop,

I once received a broken CD-ROM player from a friend of mine. He wrote on it "press eject to place mug". So he found a ussefull second live for the drive. After some fiddling I got the drive working again so now it lives a second live in my server.

MGB:)
 
Mornin all

I have to agree with MGB on the language choice, but for a totally different reason.
A higher level language such as C can be compiled to run on a whole variety of processors, such as Microchip, Atmel, Motorolla, Hitachi etc..
Assembler on the other hand is specific to a particular processor family. There is no standard for assembly language as there is for C <ANSI> i.e: Atmel assembly language will not compile for a Microchip processor, or anything else other than an Atmel.

In the future we will all be able to use ARM which seems to be accepted as a standard by many of the microprocessor manufacturers, however at this stage is limited to the big bad-*** devices.

If we are really going to stick with assembler, then we'd better agree on a processor first.

I wonder who will win????

Cheers,
Stuart
 
Stuart's words are very true, but sadly it seems we can't agree on anything here. So perhaps going two different ways would be the answer, like agreeing to disagree.

One way is using a specific controller with Assembler only code, and the other is (my way of choice) C programming to allow the use of a variety of hardware and modification of the code by less experienced programmers/DIYers.

I'm willing to go with pretty much any controller, but I will build (at least) my prototype with the DS89C420 which I already have. I would also have been open to using different languages, if not for the points previously mentioned. Sadly the other guys seem to want to stay in their comfort-zones and use only what they know. I like learning.

Nevertheless we have a good thing going here, so lets keep this thread alive and share what we learn, whether you use C or Assembler.

DJ