CNC Milling Photos with a Halftone Generator

Looking for an awesome way to mill out a photo or graphic? Check out [Matt Venn]’s halftone gcode generator which creates halftone CNC toolpaths from any image file. We’ve run across some halftone generators before, but [Matt]’s generator has some interesting features and makes for some pretty unique output.

[Matt] initially wrote a simple command line program in Python, but just rewrote his script with a more user-friendly UI that renders a preview of the output as you change options.  The UI lets you change parameters like drill depth, number of lines, and the step size to tweak the output. It even has an option to map the halftone points along a sine wave which makes an interesting effect as shown in the image above.

[Matt]’s program generates standard gcode that you can use to run your CNC machine. [Matt] recommends milling a material with layers of different colors, but you can always mill a solid material and fill the routed areas with paint or dye instead. Want to grab the script or check out the source code? Head over to [Matt]’s GitHub repository.

Thanks for the tip, [Keith O].

CoreXY For a Dry Erase Plotter

After years of playing DnD, it’s finally [Mike]’s turn to be a DM. Of course he can’t draw maps with his hands, so that means building a tabletop plotter.

[Mike] is basing his tabletop game plotter on the Makelangelo, a polar plotter that draws images on a vertical platform with the help of two motors in the corner. This is a tabletop plotter, so the usual vertical arrangement wouldn’t work, but there are some projects out there that use the CoreXY system for a similar horizontal build.

The tabletop CoreXY system is built from rigid aluminum yard sticks, 3D printed parts, two very cheap stepper motors, an Arduino, and a whole lot of string. It’s a very inexpensive build and because [Mike] is using metal rulers for the frame, it’s also very low profile – a nice advantage for table top sessions.

So far, [Mike] has the axes of the plotter moving, with a servo and pen mechanism next on the build plan. He has a few neat ideas for how to plot these dungeon maps by vectoring bitmap images and sending them to the Arduino, something we’ll probably see in a an upcoming build log.

You can check out a video of [Mike]’s build below.

Continue reading “CoreXY For a Dry Erase Plotter”

Hacklet 31 – Software Tools

For every computer error, there are two human errors, and one of them is blaming the computer. Whenever a human blames a computer for something, there are two tools, and one of them is the computer.

Not all of your nifty tools need to be fancy robots, CNC machines, or nifty Robertson screwdrivers; a computer is equally capable of being a fantastic tool, provided it has the right software. For this week’s Hacklet, we’re going through some of the best software tools on hackaday.io.

6653681421957570397[Alan] was inspired to build a software tool for making sewing patterns. Sewing patterns are usually designed for the ‘average’ person, but if you’re making custom wearables, you should end up with a piece of clothing that fits perfectly.

The first project [Alan] is using this tool for is a fleece cap that fits the contour of his head. He captured a 3D mesh of his head, imported the mesh into Blender, and unwrapped the resulting mesh. The two halves of the hat were then plotted with a Silhouette Cameo, cut out of fleece, and sewn together. The result is a beanie that fits perfectly around [Alan]’s head. It’s an extremely cool and novel application of 3D modeling, and if you ever need to wrap a 3D object with a 2D material, this is the project you want to check out.

5869061407871295021 And you thought the autorouter in Eagle was bad.

[Anderson] built a tool called Pyrite that will take a schematic and build a layout in three-dimensional space. He calls them Volumetric Circuits, and it’s basically the point-to-point wiring found in old radios and amplifiers taken to the next level. We featured this project before, and there haven’t been many updates since then. Maybe giving [Anderson]’s project a few skulls will help motivate him to get back to the project.

133031421839442989 Not satisfied with the existing free and open source CAM programs, [Snegovick] started work on his own.

[Snegovick] calls his project BCAM, and it’s exactly what you need to mill holes in PCBs, cut gears with a CNC router, engrave plastic, and anything else a 2.5 axis CNC machine can do. The project is written in Python, and yes, the source is available. Supported operations include drilling, path following, offset path following, and pocketing.

Write enough microcontroller projects, and you’ll eventually come up with your own library of common code that does one thing and one thing well. If you’re smart, you’ll reuse that code in future projects. [ericwazhung] is cutting through the hard part of developing all this code and released some things that are useful in a whole lot of projects.

Included in the commonCode library are the usual ‘heartbeat LED’, non-blocking input, a standard interface for AVR timers, bitmaps of text characters, DC motor control, and a whole bunch more. Extremely useful in any event.

That’s it for this round of the Hacklet, bringing you the best hackaday.io has to offer.

Home Made CNC Router Boasts Welded Steel Frame and Super Tidy Wire Management

[Cooperman] had been poking around the ‘net checking out DIY CNC machines for a while. He wanted to build one. During his search, he noticed that there was a common thread amongst homemade machines; they were usually made from parts that were on hand or easily obtainable. He had some parts kicking around and decided to hop on the band wagon and build a CNC Router. What sets [Cooperman]’s project apart from the rest is that he apparently had some really nice components available in his parts bin. The machine is nicknamed ‘Tweakie‘ because it will never really be finished, there’s always something to tweak to make it better.

The foundation for Tweakie is a welded frame made from 25mm steel square tubing. A keen observer may point out that welding a frame may cause some distortion and warping. [Cooperman] thought of that too so he attached aluminum spacers to the steel frame and lapped them flat. After that, fully supported THK linear bearings were attached to the now-straight spacer surface. Both the X and Y axes have ball-screws to minimize backlash and are powered by NEMA23 stepper motors. The Z axis uses 16mm un-supported rods with pillow block linear bearings. Unlike the X and Y, the Z axis uses a trapezoidal lead screw and bronze nut. [Cooperman] plans on replacing this with a ball-screw in the future but didn’t have one on hand at the time of assembly.

Mach3 is the software being used to control the CNC Router. It communicates via parallel port with a 3-axis StepMaster motor driver board that can handle providing 24vdc to the stepper motors. All of the electronics are mounted neatly in an electrical cabinet mounted on the back of the machine. Overall, this is a super sturdy and accurate machine build. [Cooperman] has successfully cut wood, plastic and even aluminum!

Simple DIY Pen Plotter, Great First CNC Project

[Morten] has been busy recently making a pen plotter. It is a simple and elegant build that he completely designed from the ground up. There are no extra frivolous parts here. The frame is made from laser-cut plexiglass which makes fabrication easy if you have access to a laser cutter. Two NEMA17 motors are responsible for the machine’s movement. One moves the pen carriage back and forth by way of a belt. The other is connected by laser-cut gears to a roller bar, scavenged from an ink jet printer, that moves the paper media forward and aft underneath the pen.

The software chain used here is sort of uncommon compared to other inexpensive DIY CNC machines we see here on Hackaday. [Morten] creates his geometry with Rhino, then uses a plugin called Grasshopper to generate the g-code that controls the machine. That g-code is sent using gRemote to an Arduino flashed with the contraptor.org g-code interpreter. A RAMPS board takes the step and direction signals generated by the Arduino and moves the two stepper motors appropriately.

In typical open-supporting fashion, [Morten] has made his design files freely available for anyone to download. His plotter moves the pen side to side and the paper front to back in order to draw shapes but that’s not the only way a plotter can work. Check out this polar plotter and this one that hangs.

Check out the video after the break…

Continue reading “Simple DIY Pen Plotter, Great First CNC Project”

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”

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”