Programming the Arduino Logic for A Custom CNC Pendant!
HTML-код
- Опубликовано: 11 сен 2024
- Episode 065: In this episode were assembling and programming a custom controller for your desktop cnc. it's sexy, functional and easy to build! stick around for all the details!
Simple CNC Design files can be downloaded here:
www.diy.engine...
Download a free copy of Altium Designer here:
www.altium.com...
Products Used in this video:
Harvey Tools:
Diamond Coated Spiral Downcut Bit:
www.harveytool...
Diamond Coated Spiral Upcut Bit:
www.harveytool...
Makerdreams Evo-One CNC:
makerdreams.it
Lychee Slicer Pro:
mango3d.io/lyc...
3DConnexion SpaceMouse:
3dconnexion.co...
Makerdreams Evo-One CNC:
makerdreams.it
Foam Sanding Blocks:
amzn.to/3aix5mq
E-Stop Switch:
amzn.to/3t3v3h7
6-Position Rotary Switch:
amzn.to/3uIdjsi
Ring Light Switch:
amzn.to/3ptRFVY
Rotary Encoder:
amzn.to/3puTmCi
Small Arcade Buttons:
amzn.to/3uIk3q8
OLED Display:
www.amazon.com...
Starbond Glue:
amzn.to/3t3mKBT
Micro Sanding Pads:
amzn.to/3acDKPk
*You make the difference, please Like/Comment/Subscribe to support the channel.
If you would like to support DIY Engineering, head over to: www.diy.enginee...
Lets Be Social:
social.diy.engi...
Music:
Joakim Karud - intro
Just found your channel today, I have to say your designs and works are excellent and professional.
My CNC started out as an original Arduino based X-Carve; it’s been upgraded structurally to a TBD-CNC direct drive. The Arduino didn’t have the grunt to handle the direct screw drive so I’ve changed it out for a 3DTek GRBL AIO controller and Universal G-Code Sender. Hopefully a pendant like this works with the Frankenstein CNC I’ve been running! Great video and and as always your design and finished product is immaculate! Well done!
What are some signs that show the Arduino is struggling?
Hi and thank you. for the most compatibility, the primary integration of the pendant is via keyboard shortcuts, this differs from software to software and can be adapted to linuxcnc. direct api integration is also a possibility but would require some code work. ;)
Another very professional functioning and looking project. Would be great to use this on my Shapeoko 3. I know these projects take considerable time (including the video editing) and you make them look rather easy. Thanks for sharing the info.
Using an Adafruit ESP32 Feather and a rechargeable Li Ion Batt, I made the electronics wireless with a bluetooth keyboard HID library... Look Ma, no wires!!! So now I will need to make a new PCB (I use Altium professionally so no big deal) and order 5 to 10 boards. I will add a small on/off rocker switch and USB charge port to one side of the bottom when I print it so I can charge the battery and it should easily last several days without needing to be charged. Also, the software now asks which program to emulate (macros to use) when powered on (selectable via the hand wheel) and I have a selection list that determines the macro keys to send.
Nice work! Way to level up the project!
Love your work and the looks of the pendant,
will it work with LinuxCNC and if so do you have any config code to share?
This would be much welcome to the linuxCNC community for sure :D
Great project!! I game controller is a cool hack, and can be kinda retro, but this is a way smoother and slicker solution.
Looking forward to seeing how it works on a Nomad, and eventually when I have more space a full 4x8 cnc table someday (I hope!).
Keep up the amazing projects!
Just awesome. Pro. It looks like the 2 rotary knobs are a bit close together but other than that, amazing job. Thanks for sharing!
This is an amazing project! Thank you for this!
Love your designs. Some day...
man i love your videos.... this channel is sooooooooooooo underrated.. why are there only 20k subscriber....
Frequency and engagement probably, not sure… thanks for subscribing!
@@DIYEngineering i would really want to try and make one of these... where can we download the arduino sketch for it?
@@DIYEngineering found it.. bought worth every penny.... now to buy parts and make one... hopefully the touch probe will be done next... thanks a lot man!!! more power to your channel..
This is so great! I would love to make one of these for my Shapeoko XXL. Love the overall feel compared to my existing "controller" setup. Keep up the great content!
I have a CNEST 6040 and this would be a very cool addition.
Been waiting for this one! Great job @DIYEngineering as always! Can't wait to see the probe setup ;P
Thanks, it’s next!
@@DIYEngineering Figured and excited to also see that! ;) I am literally in the process of building a "PrintNC" and the pendant/probe/tool setter are the 3 components I have been stalling on. I am going to be using LinuxCNC with a Mesa7i96 board. I sent an email the other day when you posted about the giveaway. Not sure if you got it or not.
Love this pendant design, cant wait to install it on my avid cnc
I would love to use this pendant on a Frogmill!
So sleek - one of these would look great hooked up to my Shapeoko XXL!
Lovely
Nice Pendant! A great solution!
Looks like a better solution to using my keyboard when jogging on my Shapeoko 3 xxl. Takes forever to get to other side.
Great project and video!
I love the design of this thing, and I never imagined it would be so simple and elegant to make a really high quality pendant for a CNC. Did you end up using the USB interface on the Arduino to connect to the PC, so that you can reflash the EEPROM without having to connect to the internal port on the inside of the pendant? I can see why it would be a good design choice if you didn't to avoid having people potentially overwrite or break the software embedded in the unit, but it seems like having the one plug going to the PC and using it for everything could be simpler. What do you think?
This way I suppose you could also use a driver application that runs on the PC to pick up the serial writes from the pendant and then translate them to whatever application you're using -- the driver app could even detect what's running so it adjusts the key bindings automatically. Beats having to increase the size of the codebase in Arduino IDE to support other gcode senders. Also potentially this approach could let you have bidirectional communication with the pendant so that it could be stateful and aware of what's happening with the machine. This would be especially useful if you were in a homing cycle and controls needed to be disabled temporarily, or if for some reason the e-stop didn't disable (and the button has been popped out on the pendant, mismatching with the state of the machine).
Hi Daniel,
These are the things that keep us up at night, but also fall into the "over-engineering" category... someday that will be a topic in my ocd.engineering channel... but not today! Today, this thing went the easy route, allowing people to flash to their hearts content and have full control to make it do whatever they want... but yes there are lots of great custom and production grade direct integrations that could be accomplished with the right partnerships/development apis. I have a pet project working on a candle branch which will have the most robust implementation, but I know everyone has their own favorite... I sense you have some development experience... interested in collaborating on this work?
@@DIYEngineering potentially yes, what did you have in mind?
Il definitely will use it for mach3 on my pm25 mill I'm so excited
Time to make one for the Shapeoko!
Love the design, i would like to make one of this for my Shapeoko 3
Great job! May I ask how did you make top glossy black panel? It looks great.
im pretty sure I mentioned it in the video... :)
it's laser cut cast acrylic
Love the work
Great design .... A partlist would be helpful. Do you have one?
Very professional looking pendant. I like it very much. Do you have any issues with timing and sluggishness or delayed responses from the controls? If so that could be handled by using interrupts in the code. Takes a bit more work to implement but it will allow much better responsiveness
Awesome pendant! Would love to see in use with bCNC and my RS-CNC 32.
Are you willing to make a batch of these? I'd love one.
@ diy ebgineering Awsome video series. Is it possible to buy somewhere as a kit? (chips allready programmed) so i just need to build enclosure and do the wireing?
Hey David, I sent you an email about it but also want to post here as well in hopes to save some people from an unneeded purchase. Your amazon link for the OLED points to a SSD1306 display which is smaller then the needed SH1106. Currently soldering everything together today, wish me luck lol.
I updated the link in the description. thanks for the heads up!
Hey I just bought your kit. Now I am about to find all the additional parts. Have you used JST connectors? What is the pin pitch then ? Best regards Stephan
Hi your link to Simple CNC Design files can be downloaded here: is not working. Could you send me the new link . Thanks
link updated.
www.diy.engineering/shop/p/simple-cnc-pendant-design-files
hi which is the microcotroller used, i bougth yor Simple CNC Design files. thanks in advice
hi david i bought your pendant files do you have a sketch of your Simple CNC Pendant for mach3? I was able to program the keys but the encoder can't connect it, can you help me? thank you very much
Hi, very interested with your second video ( after the first ), but maybe is easy for you to create the arduino program but not for me :-)) so, where could i find it ??
I love the famous " space invaders "guy..very funny
Thank's a lot
Philip
Too cool David. I love the little display and the sweep of the scan line. Did you add that or is it the normal function of the display?
The scan line is only noticeable in video. It’s a rolling shutter issue... not intentional. ;)
@@DIYEngineering I figured that right after I send the reply. Just haven't seen it in a long time. As always, the project looks great. Take care my man.
Can it be used in UGS universal Gcode sender?
Would be a nice addition to my MPCNC control, now kinda clunky with the single dial and screen
How would you change the firmware so that the screen only reads the axis and much bigger? No speed or button dots.
How difficult would it be to program the pendant to work with the Shapeoko pro?
Would love to have one of these for my shapeokoXXL with carbide
you also could make the thing send raw gcode via uart to the machine right?
Amazing project! I was looking for something exactly like that. I was looking in your code and couldn't find what's the purpose of stepvalue that you read from the second rotary switch. You don't seem to use it as a multiplier anywhere. Is it something that's not possible with cncjs and you add to use it with a different software?
Already found a solution. Asked myself the same question ?
I want to use this on my modified Shapeoko 2.
Would this work With the Duet 2
hi david I bought Simple CNC Pendant Design Files but I can't find the wiring of the buttons could you send me the wiring diagram with the various buttons and rotary?
congratulations and the most beautiful I've found around. thank you very much
What a great project! Respect for all the hard work on designing, coding and video editing! After watching this video I went over few more of your videos and your style is impresive and unique. I'm quite noob in Arduino and since I have few boards lying around I build a quick mock on this project. But after uploading the sketch I observe something not present in your video - the OLED flickers soo bad! Like 120 time per minute. Am I doing something wrong? What can i do to fix that. Regards!
Too many variables to guess, You can always look at my code over at github.diy.engineering
@@DIYEngineering I fixed the problem that I created. Already mentioned that I'm noob in these Arduino things. As it happens I have a different display - SSD1306, NOT SH1106. That means I needed to change a line in the sketch with the relevant display type e.g.:
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
Thank you for your work done on this project!👍
Hi David, amazing project! I already received your PCB and have most components but missing the headers for wires connections to the board. do you have the link or names of used on the video?
Facing the same Problem. Do you already got further
Would love to find the program files somewhere on a dropbox share or somewhere else. Maybe you can add this ;) Thx
They are in my GitHub
Http://Git.diy.engineering
Great video! Interesting. However the keyboard h does not work with the nano or mega. Just in case anyone has the same idea as me. Not sure there is a work around. Any help?
Great work on this! If I understand correctly, in most cases GRBL has only one serial interface - if it is running on an Arduino Nano or UNO. How you can use the pendant and then send the gcode data to the CNC at the same time?
nevermind, got it! You are connecting the pendant to the computer and not the grbl board directly
Yep that’s correct
Great job! What buttons 1,2,3,4 do?
Anything you want, i used them for macros
What’s resistors value?
is their a wiring diagram for this somewhere? or the ide sketch
Download from shop.diy.engineering
Thanks for all the info great design
Anyone adapt this for LinuxCNC keystrokes?
Anyone figure out how to add macros to say, button 3, or 4? like a tool change maco for example.
Depending on your level of comfort you could try one of the following with cncjs:
1) use autohotkey.com to execute a macro defined in the macro widget, then call that hotkey from the pendant
www.autohotkey.com/
2) develop a custom pendant widget to relay commands to the controller.
github.com/cncjs/cncjs-pendant-keyboard/blob/master/bin/cncjs-pendant-keyboard#L108-L211
3) send commands directly into cncjs port.
github.com/cncjs/cncjs/issues/503
or
you could use UGS and assign hotkeys to your macros (easy)
or
you could use Candle and develop just about anything you want
Nice video, sadly there is a high pitched wine present throughout.
I thought that was fixed in the last video... hmmm
Не смотрите его видосы он все продает