Last night I put everything together. The tool chain is now clear. I learned what ‘tool chain’ means from Co-Squidly. It was a word I knew but had never really respected, and now I do. So, here’s the flow:
- Generate paths in Inkscape
- Inkscape -> Extensions -> GCodeTool -> Path to GCode
- Clean Gcode – inkscape uses
(comments like this) and gcode needs
;comments like this
- Import to bCNC (python GUI to send gCode)
- Send to Arduino
- Magic happens. Stuff moves!
The silver circle on the wood above was drawn in inkscape and sent to the machine where it was drawn with a Sharpie. I’ve built a machine. I declared tea and victory, and went home.
My friends have nicknamed it wobblebot. This is not unfair. It needs a lot of work, but it’s what I was after.
Minimal task list to have a working plotter machine that doesn’t tear itself apart
- Make all screw-driven axes have drive that’s at the same level as the drive screw. Looking at you, Y axis.
- Metal X axis termination for motor mount, including lower brace
- Extend and route wiring through cable track (motors and limit switches)
- Build platen for flat things to sit on while the head moves
- Y axis anti-backlash nut
- Take up slack on X axis belt
- Duct tape Sharpie to machine head
I can dodge some of these things. I don’t need to rebuild the motor mount unless it starts to fall apart. I could move the limits of the machine away from the Y axis motor. But, to make it be the version 1 that I want, it needs to have those things done.
All of Itchy’s parts work individually, and Co-squid found a tool chain that will drive the Arduino from output from Inkscape. Inkscape has gcode extensions. Of course it has. So now, I just have to put it together. The machine went from jerky, jumpy bouncing to having some smoothness of movement today.
Co-squid goes back to her house soon, and I’m going to have to work out where to put what I am calling Itchy and she is calling Murderbot. Given the fragment of scalpel I found in the second hand parts, I think it already was a cutter. I’m going to find some way of keeping that bit of scalpel in there.
All I seemed to have to do was add a config file and mess with .xinitrc to avoid launching the wrong window manager. So I’ll test that with a new install shortly, and write up my full steps if necessary. Co-Squid straightened me out. Which is impressive given the tentacles.
I am about to enter a pile of fail, and my co-squid is probably going to show me how to make the pi touchscreen work in ways that I cannot. i.e., at all.