When you open the tray of a CDROM drive and push back against the tray, it will close at a certain point. Also, when the tray is opened completely, you can close it by pushing back against the tray.

I've taken apart several CDROM drives by now, but I've never found any sort of mechanism that senses whether or not someone presses against the tray. Perhaps I missed it.

Can somebody tell me what kind of sensor or circuitry (if any) is used for this?

  • \$\begingroup\$ Tray motor back EMF? \$\endgroup\$
    – Antonio51
    Commented Sep 20, 2022 at 11:42
  • \$\begingroup\$ That could be a possible way to sense it, @Justme has already posted an answer explaining about the switches I've obviously missed... Perhaps the motor back EMF is used to sense a blocked tray? \$\endgroup\$
    – Joe
    Commented Sep 20, 2022 at 11:57
  • \$\begingroup\$ @Joe Sensing back-EMF is unlikely the cheapest way of doing it as there are likely cheaper ways of doing it. \$\endgroup\$
    – Justme
    Commented Sep 20, 2022 at 12:01
  • \$\begingroup\$ @Justme I see, and I've also read your other comment on the timing between switches, I think I understand it now. And I can also see how it would be a lot cheaper to just time the movement between switches. \$\endgroup\$
    – Joe
    Commented Sep 20, 2022 at 12:06
  • \$\begingroup\$ The ones I’ve seen have a flexure molded into the plastic that activates a microswitch, thus sensing the force. Dead cd players are dime a dozen, grab a couple and pull them apart. You might be surprised with what you learn. \$\endgroup\$
    – Kartman
    Commented Sep 20, 2022 at 12:46

1 Answer 1


There is usually a switch or a set of switches that sense when tray is fully open and fully closed.

When you push the eject button, the tray motor moves the tray out until the switch determines it is fully ejected so the motor stops.

If you push the tray a bit in the switch determines that it's not fully open any more so motor starts loading the tray in, and stops when switch indicates that the tray is fully closed.

There may be other mechanisms too.

  • \$\begingroup\$ I see, that would indeed explain it... but I don't think it explains why, when you block a tray mid-way, it retracts? Do you know of another mechanism that senses that? Could it be motor back EMF as @Antonio51 stated in his comment? Thanks for your quick anwser by the way!! \$\endgroup\$
    – Joe
    Commented Sep 20, 2022 at 11:55
  • \$\begingroup\$ Why it does not explain it? If it takes too long for the switch to signal that tray is fully out, the drive can do whatever it wishes, either start pulling the tray in or stop trying to moving it. \$\endgroup\$
    – Justme
    Commented Sep 20, 2022 at 11:58
  • \$\begingroup\$ Oh, wow... I hadn't even thought about the possibility of timing the event between the two switches, but that does indeed make a lot of sense! And it also explains why you can block a tray, feel some resistance for a short while, after which the tray retracts. Thanks again!! \$\endgroup\$
    – Joe
    Commented Sep 20, 2022 at 12:05
  • \$\begingroup\$ @Joe It's also very easy to detect if a motor is stalled by sensing that the current skyrockets. A sensible motor driver IC would disconnect the motor under those conditions to avoid damage and then signal a fault, which other parts of the system can then respond to however they want. \$\endgroup\$
    – Hearth
    Commented Sep 21, 2022 at 15:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.