usb cd rom emulation

Posted on Feb 6, 2014

This little project aims to create a USB CD-ROM device. Unlike the typical deviced which tries to imitate this isn`t a real CD-ROM drive, it just emulates it. The idea is to allow the user to store a ISO image or other kind of CD-ROM image in a SD card to expose it as a CD-ROM to the computer. At the time of writing it works quite well, only teste

usb cd rom emulation
Click here to download the full size of the above Circuit.

d with ISO images and doesn`t allow hot extraction of the SD card. This will be fixed, but requires some tweaks on SCSI commands and responses in order to allow the host to eject the CD too. The schematic is prepared for media sensing, as represented by the switch connected to RB7. My SD card slots have 2 pins which get shorted when a card is inside the slot. The card works at 3. 3V so a 5V to 3. 3V converter is needed in case you want to supply the circuit with the USB voltage source. This is done by using a simple zener and a resistor. Be careful with the values and the power dissipated, some pieces may become hot! The device exposes a MSD to the USB host. You can have a look at Microchip examples for reference and the USB MSD spec. It`s important to use wireshark to debug the commands and their responses, this way you`ll know where the host gets stuck (typically when device sends bad respones the host keeps trying and trying over and over again triggering device resets too). The most important part are the SCSI commands. They are poorly documented for CDROM drives (as opposed to disk drives) so it`s crucial to have a reference to have a look. I used a Sandisk U3 pendrive which features CDROM emulation for storing internal programs (so they can`t be removed and can be autoruned!). I won`t get into details, just simple description. You need to fill the descriptors properly (have a look at a pen drive with wireshark and the...

Leave Comment

characters left:

Related Circuits

  • New Circuits



    Popular Circuits

    12V to 3V Car adapter
    Buck boost converter circuit
    Simple RF Signal Generator
    Transistor time relay circuit