Typically, someone’s first venture into coding doesn’t get a lot of attention. Then again, most people don’t program a CNC table saw right out of the gate. [Jeremy Fielding] wasn’t enticed with “Blink” or “Hello, world,” and took the path less traveled. He tackled I/O, UX, and motion in a single project, which we would equate to climbing K2 as a way to get into hiking. The Python code was over 500 lines, so we feel comfortable calling him an over-achiever.
The project started after he replaced the fence on his saw and wondered if he could automate it, and that was his jumping-on point, but he didn’t stop there. He automated the blade height and angle with stepper motors, so the only feedback is limit switches to keep it from running into itself. The brains are a Raspberry Pi that uses the GPIO for everything. There is a manual mode so he can use the hand cranks to make adjustments like an ordinary saw, but he loses tracking there. His engineering background shines through in his spartan touchscreen application and robust 3D model. The built-in calculator is a nice touch, and pulling the calculations directly to a motion axis field is clever.
We’ve covered [Jeremy]’s DIY dynamometer and look forward to whatever he builds next. Until then, check out a light-duty approach to CNC that cuts foam in two-and-a-half dimensions.
Thank you, [Gabe Eff], for the tip.
25 thoughts on “Measure 1024 Times, Cut Once”
“The Python code was over 500 lines, so we feel comfortable calling him an over-achiever.”
He could have copy pasted it to go over a thousand. That would have made him an ultra achiever. More code more better.
Even if its a copy paste combo job, to bring in 500 lines and understand how they work well enough to stitch the parts together isn’t a trivial first foray into programming.
I expect it could be done better, but you have to learn how first.
My first go was a musical alarm clock built off a .net Visual studio of some variety. Other than never figuring out why the prebuilt file browser would not pass the selected filepath to the rest of the program so a new hardcoded track was needed every time I felt like a change it worked really well (started with Visual Studio type stuff because that is what Dad had). I think it actually woke the machine at the right hour and started playing, but all the functionality that did work I can’t remember, that damn filepath issue bugged me enough I do.
For me you need a project that catches your interest enough to really remember and learn, the blinky LED or Hello World leaves me so disinterested that the grammar and function calls required for whatever language wouldn’t stick, but a more complex/interesting problem engages so you are paying attention and might just remember it. Same thing with bash scripts/commands I remember much better all the tools and tricks needed for the more complex problems I’ve run myself into, can never remember how to check the filesystems use %….
same thing, whenever i try to go through a programming book the examples are just so boring i cant bring myself to do the,
Gee… my first foray into coding was
10 PRINT HELLO ;
20 GOTO 10
And this was #2 right?
It was always the parents’ “favorite”.
10 FOR A% = 37 TO 32767
20 SOUND A%, 1
40 GOTO 10
Forgive me if my syntax is off at all. That was a long time ago!
I was young enough when I forayed into that I could hear into the 20khz range, and remember in school hearing the whine when tvs went on, even down the hall if both doors were open. I lost that at some point, can’t recall when, probably can’t even hear to 16khz anymore.
Is anyone cutting onions here?
Does anyone know what motor drivers he’s using? I see two that maybe look like TB6600 but I’m not sure. The other one looks a lot beefier too.
TB6600 is the cheapest / lowest quality / lowest safety you can get. It’s very popular because it’s only $10 though.
If you want more serious drivers, look at the LeadShine product lineup. Prices are reasonable and they are very good products.
Some things are just better fully manual. This one is a good case in point. It gets you very little and gives you a lot to go wrong. Just my 2 cents.
There I agree, with how lethal a tablesaw can be it wouldn’t be my choice. Keep all the controls firmly in your own hands.
But if its the project that gets the creative juices flowing and prompts you to learn by all means enjoy it – learning is never wrong, just try to make certain you will still be around to use what you learned! And the idea might just be genius when some other steps are applied.
I have invented this in my mind many years ago because I abhor standing over a machine that can cause me to bleed, cut off my fingers, or knock me in the head. I have had none of these things happen to me because I respect safety, and the danger of the machine.
Still, I hate making cuts.
Good job Jeremy, you beat me to this!
Edit: I spoke too soon. My idea is not yet implemented in this design! I can be still the first! Oh yeah!
I don’t think the feed is automated, just the set up.
I am assuming the set up is driven by steppers. I am assuming this because he states that if you manually set the saw up, the automation needs to be re-calibrated.
This also means the steppers can miss steps and you don’t know that has happened.
This means that the fence can bind up a bit on one side and not be perfectly square with the blade. This can cause binds. A human had a feel for things. This machine has no feedback.
If you are going to do this, use servoed gearhead motors and lvdt’s or dcdt’s for positional feedback. Ideally one on both the top and bottom of the fence, and one on the blade height and one on the angle.
But really, it just seems easier to do it by hand. There are places where automation would be much more welcome and useful. For example on an XY table under a drillpress.
The fence is only attached on the one side, it can’t bind. The other side is just sliding on a low-friction block of HDPE.
Great presentation and video. Very well equipped shop! Rack and pinion is nice, but such a dust/debris collector. May have been better to invert the rack so it’s “facing” downward or add a small “puffer”/blower as the fence moves to clean that part of the rack. Do 3-D printed gears stand up to this kind of use for any long period (months, years) of time?
Again kudos to the effort.
I like the “upside-down” rack idea. I’m gonna use that.
3DP gears are remarkably long-lived. I have a geared Wade’s extruder from the neolithic period (2011) that’s still running, although it’s seen less and less use over the last 5 years. Still works, and it’s subject to the force of pushing 3mm filament (neolithic, remember?) through an extruder nozzle.
And sometimes it’s really useful to have an easily replaceable part that will break first. Nobody likes finding their machine torqued into a pretzel.
True that. I learned this lesson in my youth with an old gas lawnmower. When the blade hits a big rock, you’re loving that thin slice of aluminum shear pin.
From the sounds, it has a very hard start/stop on the stepper motors. I would recommend ramping up and down the speeds. This would help with missed steps and jams.
Wait.. he’s fixing up an old rusty table saw (nothing wrong with that) but he owns a CNC plasma cutter?
AH, but you missed the fact that he BUILT that plasma cutter in an earlier video. And in the one about metal cutting chop saws he says “here’s my new miter saw, by new I mean an old broken piece of junk I’m going to fix.”
100% chance of me using the towel trick.
I would hope critical interlocks are still hardwired and not relying on software to operate.
Hackaday, many thanks for introducing me to the Jeremy Fielding channel, I’ve now watched 4 of his videos.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)