Skip to content

reltkaine/OpenCdNC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCdNC

I always wanted a fast way to make PCB prototype before send the project to a fabhouse and wait 2 or more months to see the result. This is why i built this CNC, it's made from cd-rom parts and was inspired viewing some similar projects on internet.


Articles

http://hackaday.com/2014/07/09/cd-drive-cnc-machine-steals-matt-groenings-job-says-ha-ha/
http://hackedgadgets.com/2014/07/15/opencdnc-cnc-project-made-from-cd-rom-drives/
http://dangerousprototypes.com/2014/07/17/opencdnc-cnc-project-made-from-cd-rom-drives/
http://www.geekweek.pl/aktualnosci/19815/maszyna-cnc-ze-starych-napedow-cd


Features


Cheap - Uses three cd-rom drives, some wood/screws, cheap electronics, wires and any pen!
Compact - 20x15 cm of size and 35x38 mm of work area (varies from cd-rom), small but great for home use, small projects, SMDs, DIY..
Functional - Is able to print over paper/PCB to do circuit boards and print images!
USB - Native Windows/Linux USB driver support, no serial/parallel port or drivers needed!
Easy - Just connect the USB cable to PC and supply the step motor driver with +5 VDC and GND
Eagle - Support one of the most famous PCB software design Cadsoft Eagle PCB (with limitations)
Gerber - Support GERBER RS274X protocol (with limitations)
Precise - 0.147 mm virtual precision (varies from cd-rom, step motor driver, frame build quality..)
Code - Small, clean and simple code. You can easily change/adapt to your own project!

What is used?

Hardware
1x Microchip PIC16F628A
3x Easy Driver v4.4 Step Motor Driver
1x PL2303HX USB-Serial TTL Converter
3x CD-ROM Drives
Some wood/screws for frame and wires for electronics


Software
Windows 7 x64 environment
Bloodshed Dev-C++ 4.9.9.2
Microchip MPlab 8.92
Hitech PICC Lite compiler
Cadsoft Eagle PCB 6.6.0
Windows MS Paint!

How the whole thing works?

Protocol
x00000y00000z1 - yeah, that's all the firmware understand and need! You just send the X and Y coordinate in 'micrometer' unit. For Z axis just send '1' or '2', where 1 = down and 2 = up. Details about the protocol on firmware source code comments.


Software
The software connect to CNC through a serial connection of 9600 kbps, send commands and wait the CNC process (move the motors), when done, CNC will return back a flag to software (an ASCII '*'), and then the software can send the next command.


Eagle
The software was built to work with files generated by eagle CAM processor using the 'GERBER_RS274X' as device. The limitation here is in the gerber rs274x protocol, i added support just to 'wire' tool on Eagle toolbox, that generate these type of gerber commands:
X000100Y000100D02*
X000100Y013874D01*
X013874Y013874D01*
X013081Y013908D02*
As you can see, to print anything you will need use the 'wire' tool or import an image(see below).


How to print images
First you need convert your image to monochrome bitmap, this can be done using Windows 'MS Paint', you need reduce the image size too (something between 35x35 and 300x300 pixels is recommended, where less pixels = fast print and script draw time, but low quality). Now at Eagle you must use an script that import the bitmap file and draw the image using the 'wire' tool. The default Eagle's script name is 'import_bmp.ulp', but it draw the image with the 'rectangle' tool (that is useless to my software), so i modified it to draw using the 'wire' tool.

About

A CNC made from CDROM parts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published