DIY CD drive based on a computer CDROM

Newbie is right, I just bought a DVD player today (bought the cheapest I saw) it happened to be almost the same shape of a CD-ROM drive, the size and price are why I bought it ($50). I bought it before I read the last two pages of this thread, and after reading Newbies comment I went and undid the 5 screws holding on the top of the chasis, yup DVD-ROM drive, and a whole two circuit boards, controlling it.

The worst part is the whole unit seems to be well made, sturdy and with a little work could be used to build a much better CD player. When I'm done my latest amp I'll give it a go...
 
I have missed the part about anyone wanting to put a DAC into this design, but I'm with Gregory about not doing so. I'm looking at building some TDAA's (true digital audio amplifiers) based on Texas Instruments' chips, so I don't need a DAC anyway.

A PIC might be a good (and very cheap) solution for the interface, and code is fairly easy to write.

What languages does the Atmel chips support, Holger? And do you have the needed software to code it? If so, any chance I can get it from you? The Mega 16 looks promising, but I'd like to look at a few other controllers before I form my final opinion on which would be best.

DJ
 
microcontroller

Current status of my project.

Already have a CD-ROM drive. Samsung SE-148
Got a power supply. Old power supply from a DEC tape streamer.
Got a display. IEE 03601-95
Got buttons from an old computer.
Ordered a microcontroller (sample). DS89C420
Remote Control, have to think about that-one.

So, what are my goals and ideas?

Builld a CD-ROM based CD-Transport
Use the Digital out already available on the CD-ROM drive. I might try to implement a buffered digital out from extracted data later on in the project.
First implement basic functions. (PLAY, STOP, Previous, Next).
Show basic information on the display.
Remote Control.

To get myself started I will take te software from this project http://www.8052.com/users/jsno as a basis.

Will setup a webpage for this but that will be in September.

MGB
 
Of course real men only use assembler
*lol* That's of course what I will do as I am quite familiar with it 😀.
There is a nice integrated development platform availeable for free from the Atmel website called AVR Studio 3.56 (get it here). This is far more but an assembler, it contains a simulator and a lot of debugging features.
I will post my prototype board and the programming tool later this day.
 
Just a tought

Hi people. I've read this thread from the first page and I'm impressed. Also it was wery confusing becouse I'm no master in electronics but find my way around.

So far you all made propositions on how to do some things in this project. Someone stated before that all should work on it but so far everyone is talking about their own atempts of building it and no team work on one unit is shown (or I'm blind 🙂 However by looking the links you posted (on korean and other sites) thread look's promising in a way that you will make something great. I just hope it doesn't get to be "it is DIY but I only sell schematics" on the end 🙂

Cheers
 
You guys better not give up on this!
I personally have thrown away about 6 CD drives. Imagine if I could have converted them into neat chipamp/CD player combos for family and friends. Imagine if I could buy a Teac or other premium drive to make a high end player. This has been discussed a lot . If someone just decyphers a simple control unit for comp drives, I'm sure thousands will be made and that would be awfully satisfying I'd think! I personally just need the basic buttons. I guess a readout should be an option....
Certainly the DAC should be a separate project.
 
Don't worry Variac, I for one won't give up on this project.

As for what EDY said, I agree to some extent. I was also under the impression we were all going to work together on this project, but it seems some people like mgb are already half way down the first straight. It seems that instead of step-by-step teamwork (which also implies the use of the same hardware etc), we should rather focus on teamwork such as posting tips and tricks we come accross here to help out one another. So don't despair EDY, we are actually working together.

By the way mgb, the DS89C420 is an excellent choice, I might use one myself since I have more than a few lying around. The rest of you might also want to take a look at it, it's a quite potent microcontroller.

Thanks for the link Holger. Don't let your love for Atmel blind you though, there may be better chips for the job out there! Just a suggestion for you golden oldies (that's you and Peter aka analog_sa), perhaps we should try to code in C instead. The reason I say this is because it will allow more people to mod their players by modifying the code (if anyone builds players based on our work later on). Just so you know, I don't have a problem coding in Assembler, so I guess I'm a real man too.

Your thoughts and suggestions are welcome as usual.

DJ
 
By the way mgb, the DS89C420 is an excellent choice

I worked a lot with DS89C420, if you plan to use it for a simple CD-Rom controller, then it's pure waste of power and cash (they're are much more expensive than a motorola, pic and atmel)

However, if you plan to use a RAM buffer then it's the perfect choice. Be aware that using computer RAM implies that it needs to be constantly refreshed. Static RAM doesn't need to but it's damn expensive.
 
Chosing the right controller is the same as using tool: use the one you are used to and which has proven to be able to fulfill your needs.
After having a brief look at the DS89C420 I agree, it is a very powerful chip, especially for it's high clock rates. Concerning the peripheral features it's nearly the same as the Atmel ATmega16.

Ther are two reasons I won't use it:
1. It is hard to get here in Germany and extremely expensive. The only price I have found is 45 Euros for one(!) piece. I can get the Atmels for about 8-9 Euros.
2. I am completely out of 8051 programming.

If you would like to go with the Atmels, you may have a look at my (redesigned) prototype board. You can download the design files here:

http://www.hb001.de/atapictrl1_0.zip

The archive contains schematic, 600 dpi board layout (PDF, single sided) and stuffing guides.
It works with two controllers (as stated earlier), allows the connection of 8 switches, a standard LCD can be directly plugged in, a connection for an infrared receiver, power regulators for the circuit and the CD ROM.

I haven't built it yet, perhaps you might have a look and tell me where the errors are - there should be several.

This is how it looks:
 

Attachments

  • atapictrl.gif
    atapictrl.gif
    72.3 KB · Views: 5,351
Nice work Holger. I'll give it a good look this afternoon and let you know if I see any mistakes.

If you would like to use the DS89C420, you can get free samples from the website. Here's the URL:

http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2963

Just scroll right down, you'll see where you have to click to order.

I agree with Elkaid, and the idea of using PC RAM (that I do have lying around) still looks promising, so the DS89C420 is still on top of my list. I might change my mind though, if Holger's PCB is as good as it looks, and if I can get Atmel chips over here.

What software did you use to do the layout?

Cheers

DJ
 
Regarding the microcontroller

Hi All,

The reason I choose for the DS89C420 was that it looked like I could get a free sample (have not received it yet) and that it was 8051 based. I found same software regarding interfacing the IDE controller that was based on an 8051. It was written in BASIC, so I don't think speed is an issue here. I didn't consider the price or the availabillity of the processor.

I Guess it's a good Idea to think about a processor all together. Some specs the processor needs to have are:

IO 16 pins for IDE communication.
IO for keyboard and display.
IO for in circuit programming.
Watchdog (option).

Yes, you can program in assembler but there are a few drawbacks when programming in assembler.
It's slow (programming that is).
It's hard to debug.
You probably will lose most of the thread followers since programming in Assembly is hard.
It's not portable.
Even QUAKE is not coded in assembly.

If you program in a language like C, BASIC or PASCAL. Porting the software to a different processor might be more easy. Also, the code would be eassier maintainable and the list of people willing to add snippets of code to the project will be larger.

Regarding the RAM. I think extra RAM should be an option to this project. First focus on the basic functionality of the CD-Player which does not need additional RAM.

MGB