Now I would include a photo of the inside of mine, except it is a horrible mess from where I had to rip half it back out again when I bricked the arduino with a bad sketch change. I locked the button nuts, wiring, arduino and NES button assembly in place with hotmelt glue. For the Arduino, I surface soldered the wires to the header pin pads. Place all the hardware inside then solder up the connections. I CNC'd mine and once I was happy with the fit, gave it a couple of coats of satin clearcoat. Once the body is made, do a dry-fit test and make sure everything sits nicely in the right place. Just make sure the holes are the right size for your buttons.
I've attached a DXF of the design for mine, and feel free to use it or anything else you like. The LED is a nice way to know if your contacts are working before you slam the bit into the top of the probe. It's topped off with a steel fender washer as the contact point, similar to what is shown in the shameless snip of someones image. Mine is one of the slugs cut out of the 15mm acrylic for a stepper motor, hollowed out and houses an LED, cable going back to the CNC shield and a short lead for the aligator clip. This is the height of my probe block, so adjust to suit yours. This requires a macro to be created named and saved, then assign a hotkey to the macro name in the keymapping config. Note that UGS does not have a hotkey option to trigger the probe cycle. The default debounce options in the library config make it pretty reliable and not sending incorrect values. On the NES buttons, I use the same up/down to move the Y and Z axis except Z needs a double press. Conn: Connect/disconnect, Unlock, Soft reset.Move: Move Z up 10 (single), Home X/Y (double), STOP! (press+hold).Probe: Initiate probe (single), stop probe (double).The bottom 3 are probe, move and connection 'zones' (for want of a better word) In my case, I used the top 3 buttons as X/Y/Z axis select (single), cycle jog step size values (double) and zero (press+hold) Single press, double-press, triple-press, single-press+hold, double-press+hold and triple-press+hold can all be given different responses. This allows up to 6 functions per button depending on how you press the button. The sketch uses the 'ClickButton' library. Now you might think only having 6 buttons is a bit limiting, however, the trick is in the sketch used. The only real current load in the Arduino is the LCD screen, and it can handle that with ease.
The LCD backpack uses a dedicated ground connector to avoid any issues with button bounce. The button ground loops (main buttons and jog buttons) allow the buttons to pull the connected pins low when pressed. But I wanted an LCD display, so a custom enclosure and loads of complication is called for.Īs seen in the fritzig image, the wiring is really straight forward. The Leonardo/Micro is a HID capable chip, so it can pretend to be a mouse and/or keyboard. This uses the same chip as the Leonardo, but much smaller package.
Now I could have shortcut the whole project by using just that and swapping the existing chip with the Pro Micro.
One part I used in this project was the left side controls of a NES gamepad (good old 'dogbone' controller). And finally, UGS for running the machine. I really like Estlcam for a low cost and very easy to use CAM package. Seemingly a million cap screws and t-slot nuts, etc and all up I'm probably in the region of $2k, but don't regret any of it.įor software, I'm using sketchup for the CAD, and f-engrave or Estlcam for CAM.
My CNC is a home build, own design, and made using not the cheapest parts.Ĥ0x40mm profile extrusion, 15mm acrylic sheet.hence the name "TransparentCNC", 1605 ballscrews, HGR20 rails and guides, Nema17 4 axis stepper kit with TB6600 drivers driven by an Arduino Uno with the Protoneer CNC shield on top.
There are a gazillion projects on the internet on how to build these, and here's my contribution. Then there's all that jogging, zeroing, homing, panic stopping, unlocking and resetting. It can be like a game of Twister in your workshop. Right up until you are holding the probe base in place and then reaching over to the mouse/keyboard to trigger the probe routine. This makes setting zero height on your work-piece so much easier than using the "paper feeler gauge" method. One of the things about building your own CNC is the joy of discovering everything that you can add to it to make your workflow better.