A Printer Made From a CD-ROM Drive

A simple DIY printer built from salvaged CD-ROM drive parts that prints using a regular marker. Low resolution, but a fun and educational project using stepper motors, an Arduino, and a Java-based drawing tool.

Here is a simple printer made from CD drive parts. It prints using a regular marker. Of course, its resolution isn't great, but I've wanted to bring this project to life for a long time.

Materials

The most important thing is a CD-ROM, or a DVD-ROM. Try to find a drive with a bipolar motor — mine used a DC motor, so I had to replace it with a stepper motor later. You'll also need another stepper motor, a rubber wheel, and a wooden base. Other electronic components will be described below.

CD-ROM drive materials

First Motor

Detach the motor along with the metal frame and horizontal guide rails.

First motor with guide rails Motor assembly detail

Second Motor

Remove this motor with all its "wheels." Also cut out the plastic housing to which this assembly was attached, and smooth the rough edges with sandpaper.

Second motor assembly Second motor with wheels Plastic housing trimmed

Making the "Cartridge"

Well, it's not really a cartridge — this is just where the marker will be attached. Mount a DC motor to the plastic, then apply glue to strengthen the assembly.

Cartridge DC motor mount Cartridge assembly with glue

Marker Holder

This small tube with a hole allows you to replace the marker. Glue a nut with a screw to the tube, then attach it to the last gear wheel as shown in the photo.

Marker holder tube Marker holder with nut and screw Marker holder attached to gear wheel

New Motor

My drive used a DC motor. Since it's not very efficient for this purpose, I replaced it with a bipolar stepper motor.

Bipolar stepper motor replacement New motor installed

Electronics

The electronics were assembled on a breadboard. The three switches in the picture will be used at the end of the project.

Electronics on breadboard Breadboard circuit detail Three control switches

Assembling All the Hardware

Hardware assembly step 1 Hardware assembly step 2 Hardware assembly step 3 Hardware assembly step 4 Hardware assembly step 5 Hardware assembly step 6 Hardware assembly step 7 Fully assembled printer

Main Code

You can check out the source code here: pastebin.com/9pPk0FkQ

Creating an Image for Printing

For ease of use, a program was written in Java. Simply open it, draw what you plan to print, and press "p". The program will automatically generate the corresponding code — you just need to paste it into the main code between the markers "aca empieza el codigo" (code starts here) and "aca termina el codigo" (code ends here).

Java drawing application Drawing interface

Examples

Printed example 1 Printed example 2 Printed example 3 Printed example 4 Printed example 5 Printed example 6

Files for Download

  • Impresora.hex
  • Impresora2.jar

UPDATE: Video

Printer in action Printing demonstration Final print result Printer overview Close-up of printing mechanism Printed output sample Another printed sample Video frame 1 Video frame 2 Video frame 3 Video frame 4 Video frame 5