chipKIT® Development Platform

Inspired by Arduino™

My DIY PCB Drill Machine

Created Sun, 15 Feb 2015 23:54:13 +0000 by Mashadow


Sun, 15 Feb 2015 23:54:13 +0000

Hi, I have been redesigning a cnc router which was built by my friend for use in his workshop. 3 months ago; he tried to solder a wire to main controller board but caused a short-circuit and burnt the entire system accidentally. He was about to cry when I said I could help with getting it to work again. I choose chipkit uno32 to control the machine and in just mere 2 weeks of coding the machine is ready to serve..

We also added some new features such as a "joystick" control, automatic Z axis to table offset, Automatic Tool Changing (That took 1 month of numereus try-n-fails) and plan to add Automatic PCB Position And Angle Detection feature using an HD-Webcam =)

Today we tried to drill a pcb and results were really impressive for us. The long story short; WE LOVE CHIPKIT, DIGILENT AND THE DEVELOPERS BEHIND IT.

BTW: Because of the good results, we also want to build a CNC PICK & PLACE machine to automatically place SMT components to the pcbs.

PS: Brian's video of showing 3 or 4 big stepper motors controlled by chipkit uno32 was a big inspiration for me, so Thank You.

I will add more photos and videos after I find somewhere to upload them. For more info: /* will be updated soon */

The video is here


Mon, 16 Feb 2015 16:37:19 +0000

That's AWESOME! Nice job - glad you're enjoying chipKIT!


Jacob Christ

Mon, 16 Feb 2015 17:27:37 +0000

What library are you using for stepper control? Can you send G-Code to the machine?



Mon, 16 Feb 2015 23:53:53 +0000

Thanks Brian and Jacob, I am a big fan of you and your work guys.

@Jacob; I first tried using AccelStepper library with chipkit but saw that it has somewhat quirky acceleration and deceleration algorithms and they were not precise "steps". AccelStepper library is also working asyncronously and that causes 2 or more stepper motors to not know each other's position.

So i reinvented the wheel and wrote my own routines which i call "linear interpolated motion control for steppers. I also implemented Bresenham Line Algorithm for unlimited amount of stepper motors to move in interpolated motion.

Currently I am trying to write some of the core mechanism to run on a separate timer thus allowing more performance. I will also implement circle, arc and some weird shape motion capability to my library.

All of this is tested and done on chipkit, with 1/25 microstep ratio (metric) runs flawlessly with around 100uS~ intervals of pulses.

My intention is to make my library open source for arduino and chipkit community when I feel its usable by anyone

Btw: Yes the machine works with G-codes, NC files and excellon files currently. Apart from that, I have implemented my own op-code like mechanism to turn of ventiles/valves for auto tool changing system etc. All motor speeds, acceleration&deceleration mechanism can be modified over the software on the pc, and then saved to chipkit eeprom. On chipkit we also have a rf receiver to receive commands from an handheld device to easily handle the machine.

Thank you