New exciting stuff, and beta testing!Want to join in on the fun? |
|
 |
It’s been a while since our last update, and a lot has been in the works! New physical designs, new PCBs, new code, and new projects. Let’s break that down.
Also beta testing..!? (more on that below) |
|
|
|
I’l start this rambling update with a fun project I’ve been working on. The handle of my favorite knife broke off recently, so I decided to make a new one with Compass. This was the perfect motivation to push through and get arbitrary gCode integration working, as well as approaching a new hole workflow that I have been thinking about for a bit. |
|
 |
A few things needed to happen before I could cut out the design I made in Fusion 360:
Arbitrary design integration has been a tricky problem for me for the past few months (if you want to read more about the woes of this task, check out this thread). I think having a concrete project to apply it to made the task a lot more approachable. Instead of trying to automate and optimize to oblivion, I took a step back and just thought about what I needed to do for this specific project. I selected the paths I wanted in CAM, manually splitting them up in a way that would make a sensible workflow. I ended up with an individual operation for each path (as you can see in the above photo, with a drill operation and 6 contour operations). Then I just needed to parse the XYZ coordinates from the G0 and G1 commands. |
|
A “path” as I define it in my firmware is simply a collection of the points that makes up a CNC operation, as well as the defining characteristics of the operation. The points come from the G0 and G1 gGode commands, but the defining characteristics that I want aren’t automatically sent in gCode. I decided to send this info using a `M800` line with `D` and `F` designating direction and feature type respectively. I’m manually placing these lines right now, but it shouldn’t be too hard to do this automatically in a custom post processor. |
|
| |
|
|
|
|
|
|
|
|
|
In terms of the UI, it just needed to be changed to be able to select files from the SD card and give a better representation of the design while cutting.
I did a few tests with marker to work out the bugs, then finally I was able to cut it with MDF! Super excited about the result. It’s not perfect by any means, but it’s a huge step to be able to go from a 3D design on computer to cuts in real, tangible material. |
|
|
Going to get some prettier hardwood to cut for the final product. Will update with a full video once that’s done. |
|
Now for more project updates… |
|
|
 |
First off, the physical parts have gone through some significant redesigns. The most obvious is compatibility with a new type of router. Instead of just a Dremel mount, you can easily swap in any 65mm trim router, which is the standard for most hobbyist CNC machines. This all mounts to the z assembly with 4 M5 screws, easily swapped for other custom tool mounts. |
|
 |
Next up in design world, I’ve wrapped up 3D printifying all the parts I can, minimizing the amount of custom aluminum sheet metal parts. Trying make manufacturing as easy as possible for a DIYer. The z assembly is now fully 3D printed, as well as the crossPanel and UIPanel. The only surviving aluminum part is the basePlate. This one will take a bit more brainstorming to replace. For the time being, I’ve replaced the tapped holes with countersunk holes so that it’s a little easier to manufacturer if you wanted to CNC it yourself. |
|
|
The main PCB now rests on the back of the UI panel instead of sitting on the basePlate. This makes it so that the encoder can be mounted directly to the PCB and cleans up the wiring a good bit. |
|
|
Got a bunch of invaluable advice and design review from the forums for the new PCB designs (thank you Jono, you are a legend 🙏). To summarize the main points: clean ground plane, vias are free, and a RC circuit here and there doesn’t hurt. Above all, I’ve learned how much I had previously been shooting in the dark. Seriously, though, I’m so thankful to be connected with such talented and enthusiastic people through the forums. I have been learning a ton and getting motivated every day through everyone’s enthusiasm for cool CNC tech. |
|
|
I switched the cables to JST GH connectors for locking, robust connections. These are the standard for many hobbyist drone flight controllers, so they’re super reliable for high vibration and generally non-optimal conditions. I was having trouble with sensor connectivity before, but it’s all going without a hitch now. That’s also due to added series resistors for crosstalk reduction and the other general good PCB practices I’ve learned to implement. |
|
|  | Also, you may have noticed a new addition to the Compass family… they’re multiplying |
|
|
|
|
|
|
|
|
|
|
|
|
 |
Lotttsss has been going on in this regard. It’s generally kind of boring, so I’ll break it down into the main points: Any arbitrary design can now be uploaded in the form of gCode. This opens up the possibilities immensely! The world is your oyster in terms of what you can cut Fixed a bug where the motors were glitching out sometimes Added UI functionality Refactored the main.cpp code into a bunch of categorized .cpp and .h files, making everything a lot easier to parse through Added surface recognition for the sensors so that non-valid readings won’t screw up the positioning Added a re-zeroing workflow to make bigger designs more feasible with sensor drift More refined calibration procedure to calibrate all four sensors at once (working on refining this even more to account for minute sensor misalignment)
|
|
|
|
now for the exciting stuff |
|
Do you want to try out a handheld CNC router of your own? Wanna help shape the future of handheld CNC technology? Join our beta testing group! |
|
| Test Compass before anyone else. Share your feedback to refine the design. Be part of a growing community of creators.
|
|
|
|
|
|
|
|
|
|
|
|
I’ve ordered enough of the hardest-to source-parts to make 10 units - including custom PCBs, optical sensors, base plates, and specialized electronics. This will make the build much easier and more affordable than sourcing all the parts from scratch. If this is something that interests you - awesome! Fill out the form :P
Super stoked for this next chapter of the handheld CNC router project! Your feedback will be invaluable in getting this technology to it’s full potential and making CNC technology more accessible to all. |
|  |
|
|
|
|
|
|
|
|
|
|
|
|