Resourceful CNC Router Built From Hardware Store Parts

[siemen] has entered the wonderful world of Hobby CNC with his low-buck build of this gantry-style router. It embodies everything we here at HaD love: resourcefulness, perseverance and results. [siemen] has designed his frame using ideas he has found while surfing around the ‘net and is made entirely out of particle board. For linear movement, the Y and Z axes rely on ball bearing drawer slides while the X axis use a pipe and skate bearing arrangement. NEMA 17 stepper motors coupled to threaded rod move each axis.

The electronics are packaged in a nice little project box which houses an Arduino and 3 Sparkfun EasyStepper stepper motor drivers. [siemen] also cut a hole in the project box and installed a fan in order to keep those motor drivers cool. The Arduino is flashed with the CNC machine controller called GRBL. GRBL takes g-code sent from a PC to the Arduino and then in turn sends the required step and direction signals to the stepper motor drivers.

Overall, [siemen] did a great job with his first CNC project which came in at 200 Euro ($240). He’s currently working on version 2 and we are looking forward to covering it when it’s done. If you dig this project, you may also like this wooden wood router or this bolt-together one.

Continue reading “Resourceful CNC Router Built From Hardware Store Parts”

Peculiar Radial Mill from Car Parts

Whether 3D printer, lasercutter, or mill, most CNC machines use human-friendly, square-angle Cartesian geometry. This intriguing concept mill instead uses radial axes where motion is derived from scrap Chevy flywheels. It may look and feel weird at first, but it works – sort of.

Cartesian axes are intuitive. If you want to go to the right, increase X. If you want to go to away from you, increase Y. If you want to lift, increase Z. On a manual mill this is easy for making rectangles and blocks, or, with creative clamping, straight lines of any sort. But if you want to carve a circle? As we all learned on an Etch-A-Sketch, you increase your swearing and then throw it in the corner.

HAD - Radial Mill2[Jason] knew that with a CNC machine all geometry problems are reduced to math done by software. With two offset discs, any position is possible by rotating both the correct way. It may look odd that both plates drunkenly meander about just to draw a straight line but the computer is ambivalent. Software can be complicated without penalty and is free once written – more on that later. If a machine is physically simple then it can be built and repaired easily and cheaply. This design does away with almost all the familiar – and [Jason] argues complicated – components of normal hobby CNC machines. No slides, rails, carriages or belts here. His design uses only about a dozen parts.

Because automotive flywheels are made from cast iron the machine is rigid and naturally dampening. Sticking with the junkyard theme he pulled bearings from an F-450 truck, good for a few thousand pounds. Some steppers and a Raspberry Pi and he was done – well, sort of.

[Jason] let us know that his project has sat for long enough that he has become passionate about other things and decided to move on. He documented his progress and submitted the tip in hope to inspire someone else to continue the design further. Any type of CNC is possible, not just a mill. 3D printer perhaps?

Two big caveats: it needs a Z-axis (linear, probably standard) and there appears to be deeper-seated-than-expected G-code demands to chit-chat about rectangles and only rectangles. Nothing insurmountable, just nothing he has solved yet himself.

[Jason] said not to expect any further updates from him but he would love to see what the next person could do with it.

See the video after the break of the mill drawing our skull and wrenches logo, (soft of, without a Z-axis to lift).

Continue reading “Peculiar Radial Mill from Car Parts”

Flashing Chips With A CNC

[Eberhard] needed to flash several hundred ATMegas for a project he was working on. This was a problem, but the task did have a few things going for it that made automation easy. The boards the ‘Megas were soldered to weren’t depanelized yet, and he had a neat and weird bed of nails programming connector. There was also a CNC machine close by. This sounds like the ideal situation for automation, and it turns out the setup was pretty easy.

The boards in question were for FPV/radio control telemetry adapter and thankfully the assembly house didn’t depanelize the 40 PCBs on each board before shipping them out. A very cool ATMega flashing tool handled the electrical connections between the computer and the microcontroller, but a real, live human being was still required to move this flashing tool from one chip to the next, upload the firmware, and repeat the process all over again.

The solution came by putting a few metal pins in the bed of a CNC mill, 3D print an adapter for the flashing tool, and writing a little code to move the flashing tool from one chip to the next. An extremely simple app takes care of moving the programmer to an unflashed chip, uploading the firmware, and continuing on to the next chip.

There’s still some work to be done that would basically tie together the Gcode and AVRdude commands into a single interface, but even now a complete panel of 40 PCBs can be programmed in a little over 10 minutes. You can check out a video of that below.

Continue reading “Flashing Chips With A CNC”

Mill Warped PCB Blanks On An Uneven Bed

Milling a PCB at home is a great way to save some time and money if you are making one-off circuit boards. There is a downside though, it’s a little tough. Sure, just export your Eagle design to CNC-Machine-understandable g-code and fire up your mill…. well, it’s not that easy.

The copper on a PCB blank can be anywhere from about 0.001 to 0.006 inches thick. When milling a board the ideal situation is to mill just deep enough to get through the copper but not cut too deep into the fiberglass backer board. Cutting too deep can weaken the board, break a bit, or in an extreme case, cut through the entire board.

Shallow cuts can result in another problem, inconsistent cut depth over the surface of the board. Check out the left photo above. The traces on the left side of the board appears to have just faded away. This happened because the circuit board was not flat. The side where the traces are missing from is lower than the other so the tool bit is not able to reach that part of the board. Since an ideal depth of cut is about 0.010 inches, even a very small amount of waviness or out of flatness can cause a serious problem in the milling process. If you have a hard time picturing what 0.010 inches is, think the thickness of two pieces of paper, it’s not a lot. There are two main contributors to the flatness problem; the PCB board and/or the machine’s bed. If the bed is not flat, the PCB won’t be. Even if the bed is flat, the PCB may be warped or bent.

PCB fabrication enthusiast [daedelus] had this exact problem, and in true hacker fashion, decided to do something about it. He created a software program called AutoLeveller that takes a g-code file and adds a probing section to the beginning before the milling operation. When the modified g-code file is run on the CNC Machine, it first probes the surface of the PCB in a grid pattern and maps the flatness variation of the PCB’s surface. Then, when running the program, it adjusts the height of the tool bit on the fly so that the actual depth of cut is consistent over the entire board, regardless of how flat or not it is. The result is a clean and usable PCB on the first try.

There is one catch: the Machine Control Software has to be set up to accept a probe. This is easy to do if communicating to the CNC Machine via a computers parallel port. An input pin on the parallel port is pulled high with a resistor and connected electrically to the PCB board. The tool spindle is grounded with a clip lead. When the tool touches the board, the input pin is pulled low and the Machine Control Software records the tool height for that specific XY position.

Continue reading “Mill Warped PCB Blanks On An Uneven Bed”

The Tumblemill: Homemade CNC Milling

[Jens] aka [Tumblebeer] has compiled an impressive overview of the Tumblemill, his homemade CNC mill. It warms our hearts to learn that [Tumblebeer] was inspired to pursue electronics by projects featured here on Hackaday, even if it means he dropped out of med school to pursue electrical engineering. We’re glad he’s following his passion, though, and reading through his blog reveals just how far he’s come: from fiery disaster in his first projects to a gradual obsession with making a CNC device, [Tumblebeer] has made plenty of mistakes along the way, but that’s how it should be.

His first iteration was a CNC router that used rubber wheels as linear bearings. It worked…barely. His latest build grew out of meticulous Solidworks modelling, with a moving gantry design constructed largely from aluminum, and upgraded linear motion: this time a bit overkill, using HIWIN HGH20CA blocks. Rather than sourcing a traditional spindle mount, [Tumblebeer] opted for the housing from a LM50UU bearing, which provided both the perfect fit and a sturdier housing for his 2.2kw spindle.

Visit his project blog for the details behind the mill’s construction, including a lengthy installment of upgrades, and hang around for a demo video below, along with the obligatory (and always appreciated) inclusion of the Jolly Wrencher via defacing an Arduino.

Continue reading “The Tumblemill: Homemade CNC Milling”

DIY Plotter Strives For Cheapest CNC Machine Title

Arguably, taking the plunge into the CNC hobby does indeed have potential to end up costing more than expected. But that should be no reason to deter anyone from doing it! [msassa11] shows us how to do it in full effect with his definitely unique and extremely inexpensive homemade plotter.

The design goal was to keep this machine as low-cost as possible while at the same time using materials that can be found around any tinkerer’s shop or at least purchased locally. First of all, you’ll notice that there is only one linear rail, yes, one rail for two axes of movement. The single rail was removed from an inkjet printer along with the mating bushing that originally allowed the print head to move freely back and forth. A threaded rod lead screw does double duty here, keeping the X axis carriage from rotating around the linear rail and also transmitting the force to move the carriage back and forth. Both the lead nut and bushings are held in place with cast-epoxy mounts.

uniquecnc-closeupAs unique as the X axis is, the Y sure gives it a run for its money. No linear rails are used, two lead screws are the only things that maintain the gantry’s position. To prevent gravity from pulling the gantry down and bending the Y axis lead screws, there are a couple of bearings on either side that ride along the bed of the machine. The frame material also hits the cheap target, it’s made from blank PCB board. A PIC16F877 microcontroller and a handful of mosfets control the motors. [msassa11] built this control circuit but admits it’s performance is not that great, it’s noisy and loses torque at high speed.

[msassa11] certainly proves that he is extremely resourceful with the outcome of this project. He met his goal of building an extremely inexpensive CNC machine. Check out his project page to see a ton of photos and find out what other unconventional ideas he used to build his machine.

Turning the Raspberry into a CAD Workstation

Inventables has been working hard on a successor to the extremely popular Shapeoko CNC milling machine, and to bring digital fabrication to the masses, they’ve created Easel, possibly the easiest 3D design software you’ll ever use. [Sacha] was trying out the beta version of Easel and mentioned to the dev mailing list he was running his installation on a Raspberry Pi. One of the developers chimed in, and after a bit of back and forth we now have a workflow to use Easel with the Raspberry Pi.

Easel is a web app, but since the graphics, design, and g-code generation are handled locally, even the most rudimentary CAD suite would choke the decidedly low power Raspi. Instead, [Sacha] is using the Raspberry to grab 2D and 3D files, turn that into g-code for a machine, and send it off to a Shapeoko router.

Easel doesn’t yet have local sender support that works on Linux, so a separate piece of software is used to shoot the g-code over a serial port to the machine. That’s something that will probably be added in a later version of Easel, making a Raspberry Pi a great way to control router or milling machine.