Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. General Discussion
  3. CNC PCB milling

CNC PCB milling

Scheduled Pinned Locked Moved General Discussion
933 Posts 28 Posters 136.0k Views 27 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NeverDieN NeverDie

    @executivul said in CNC PCB milling:

    @neverdie I believe the boards with a removable Arduino Nano are better, if the uC fries you can replace it without replacing the whole board.

    I agree that seems like a far better design, for exactly that reason. I'm hoping this isn't something that happens regularly. If the replacement dies too, then I'll make the switch.

    E Offline
    E Offline
    executivul
    wrote on last edited by
    #419

    @neverdie or you could just mill your own board since now you have the tools :ok_hand:

    dbemowskD 1 Reply Last reply
    0
    • NeverDieN Offline
      NeverDieN Offline
      NeverDie
      Hero Member
      wrote on last edited by
      #420

      I've read from one of the sellers of the nano based grbl boards that they're typically hardwired against microstepping, but that the shields for the arduino uno don't typically have that problem. So, with that in mind, I'll probably order this as a backup in case of future failures: https://www.aliexpress.com/item/A4988-Driver-CNC-Qunqi-Shield-Expansion-Board-for-Arduino-V3-Engraver/32639790781.html?ws_ab_test=searchweb0_0,searchweb201602_4_10152_10151_10065_10344_10130_10068_10324_10342_10547_10325_10546_10343_10340_10548_10341_10545_10084_10083_10613_10615_10307_10614_10059_10314_10534_100031_10604_10103_10142,searchweb201603_2,ppcSwitch_4&algo_expid=14eaf328-95a3-442a-be93-ac1ee33f07f5-4&algo_pvid=14eaf328-95a3-442a-be93-ac1ee33f07f5&priceBeautifyAB=0

      1 Reply Last reply
      0
      • scalzS scalz

        @NeverDie
        too bad! perhaps it's just power supply regulator or a fet which died?? or maybe one of the drivers, just ideas.. I don't know this board.
        Saying this because that was the first things I checked on my 3d printer Ramps board

        • changed ldo (on arduino mega) because I didn't trust clones..
        • a few fets for better rdson (on the Ramps board). then there was no more heat..
        • and of course I calibrated the steppers drivers

        Edit: argh, i misread it's non responsive..then mcu maybe.

        NeverDieN Offline
        NeverDieN Offline
        NeverDie
        Hero Member
        wrote on last edited by NeverDie
        #421

        @scalz said in CNC PCB milling:

        @NeverDie
        too bad! perhaps it's just power supply regulator or a fet which died?? or maybe one of the drivers, just ideas.. I don't know this board.
        Saying this because that was the first things I checked on my 3d printer Ramps board

        • changed ldo (on arduino mega) because I didn't trust clones..
        • a few fets for better rdson (on the Ramps board). then there was no more heat..
        • and of course I calibrated the steppers drivers

        Edit: argh, i misread it's non responsive..then mcu maybe.

        It's receiving power, because the red LED lights up when I connect to it. The atmega328p also appears to be receiving the characters I send to it, because there's an LED that lights very briefly when I do that. However, I'm not seeing that it is sending any characters back, and I'm guessing there would be yet another LED which would indicate that if there were. So, I'm guessing most likely the mcu is dead. I wouldn't be surprised if it got some kind of electrostatic shock when probing, since the probing circuit appears to be wired directly to one of its pins. Also, I was attaching the probe immediately prior to its dying. That makes it a prime suspect in my mind. I don't want to over-react, but for the future I may try isolating that circuit with an opto-isolator or similar to hopefully prevent a recurrence. On the face of it, the present design seems like a heartache just waiting to happen.

        andrewA 1 Reply Last reply
        1
        • E executivul

          @neverdie or you could just mill your own board since now you have the tools :ok_hand:

          dbemowskD Offline
          dbemowskD Offline
          dbemowsk
          wrote on last edited by
          #422

          @executivul said in CNC PCB milling:

          @neverdie or you could just mill your own board since now you have the tools :ok_hand:

          Not if it's broke he doesn't.

          Vera Plus running UI7 with MySensors, Sonoffs and 1-Wire devices
          Visit my website for more Bits, Bytes and Ramblings from me: http://dan.bemowski.info/

          1 Reply Last reply
          1
          • ben999B Offline
            ben999B Offline
            ben999
            wrote on last edited by
            #423

            That's the original designer of that shield :

            https://blog.protoneer.co.nz/arduino-cnc-shield/

            1 Reply Last reply
            1
            • NeverDieN NeverDie

              @scalz said in CNC PCB milling:

              @NeverDie
              too bad! perhaps it's just power supply regulator or a fet which died?? or maybe one of the drivers, just ideas.. I don't know this board.
              Saying this because that was the first things I checked on my 3d printer Ramps board

              • changed ldo (on arduino mega) because I didn't trust clones..
              • a few fets for better rdson (on the Ramps board). then there was no more heat..
              • and of course I calibrated the steppers drivers

              Edit: argh, i misread it's non responsive..then mcu maybe.

              It's receiving power, because the red LED lights up when I connect to it. The atmega328p also appears to be receiving the characters I send to it, because there's an LED that lights very briefly when I do that. However, I'm not seeing that it is sending any characters back, and I'm guessing there would be yet another LED which would indicate that if there were. So, I'm guessing most likely the mcu is dead. I wouldn't be surprised if it got some kind of electrostatic shock when probing, since the probing circuit appears to be wired directly to one of its pins. Also, I was attaching the probe immediately prior to its dying. That makes it a prime suspect in my mind. I don't want to over-react, but for the future I may try isolating that circuit with an opto-isolator or similar to hopefully prevent a recurrence. On the face of it, the present design seems like a heartache just waiting to happen.

              andrewA Offline
              andrewA Offline
              andrew
              wrote on last edited by
              #424

              @neverdie interesting.
              the LEDs are driven by the communication line itself, so if you send a character on serial to the board, then basically your data will flash the MCU's RX LED, not the MCU.

              there should be no problem at all with the touch probe solution/circuit. it equals to a simple button sensing on a common arduino's pin, it cannot cause the MCU's death, if you are connecting everything properly.

              1 Reply Last reply
              0
              • NeverDieN Offline
                NeverDieN Offline
                NeverDie
                Hero Member
                wrote on last edited by NeverDie
                #425

                Once I find my dragon, I'll burn a new atmega328p with the grbl 1.1 and replace the suspect atmega328p. Hopefully it will work then. If not, then I'm guessing it's the the usb-to-serial chip gone bad. Anyhow, one way or another I'll get to the bottom of it. And if I don't, a replacement board is on its way.

                andrewA 1 Reply Last reply
                0
                • NeverDieN NeverDie

                  Once I find my dragon, I'll burn a new atmega328p with the grbl 1.1 and replace the suspect atmega328p. Hopefully it will work then. If not, then I'm guessing it's the the usb-to-serial chip gone bad. Anyhow, one way or another I'll get to the bottom of it. And if I don't, a replacement board is on its way.

                  andrewA Offline
                  andrewA Offline
                  andrew
                  wrote on last edited by andrew
                  #426

                  @neverdie don't stick to you missing dragon programmer. use an arduino as an isp programmer instead. also, if you burn the bootloader, next time you can use the usb connector for update.

                  NeverDieN 1 Reply Last reply
                  0
                  • andrewA andrew

                    @neverdie don't stick to you missing dragon programmer. use an arduino as an isp programmer instead. also, if you burn the bootloader, next time you can use the usb connector for update.

                    NeverDieN Offline
                    NeverDieN Offline
                    NeverDie
                    Hero Member
                    wrote on last edited by NeverDie
                    #427

                    @andrew I found my dragon. What fuse settings should I use? I'm tenatively planning to use Arduino pro mini settings.

                    1 Reply Last reply
                    0
                    • NeverDieN Offline
                      NeverDieN Offline
                      NeverDie
                      Hero Member
                      wrote on last edited by
                      #428

                      I extracted the atmega328p chip that was on the woodpecker and attempted to read it. Fail. Normal voltage is 5v on a fresh chip, but it was reading only 4.8v. Also, it got quite hot. So, I think it is defective.

                      1 Reply Last reply
                      0
                      • NeverDieN Offline
                        NeverDieN Offline
                        NeverDie
                        Hero Member
                        wrote on last edited by NeverDie
                        #429

                        I've established that the GRBL1.1f firmware assumes it's running at 16Mhz. So, I guess I'll try the following fuse settings, typically used on a 16Mhz Pro Mini:

                        pro5v328.bootloader.low_fuses=0xFF  <<< same as 8 MHz
                        pro5v328.bootloader.high_fuses=0xDA <<< same as 8 MHz
                        pro5v328.bootloader.extended_fuses=0x05 <<< same as 8 MHz
                        
                        BODLEVEL = 2V7
                        RSTDISBL = [ ]
                        DWEN = [ ]
                        SPIEN = [X]
                        WDTON = [ ]
                        EESAVE = [ ]
                        BOOTSZ = 1024W_3C00
                        BOOTRST = [X]
                        CKDIV8 = [ ]
                        CKOUT = [ ]
                        SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_14CK_65MS
                        
                        EXTENDED = 0x05 (valid)
                        HIGH = 0xDA (valid)
                        LOW = 0xFF (valid)
                        
                        
                        1 Reply Last reply
                        0
                        • NeverDieN Offline
                          NeverDieN Offline
                          NeverDie
                          Hero Member
                          wrote on last edited by NeverDie
                          #430

                          I soldered in the replacement atmega328p, after burning its firmware with GRBL 1.1f, and Bingo! That fixed it:

                          Grbl 1.1f ['$' for help]
                          

                          Because of the upgraded firmware, I'm actually better off now than I was before. :)

                          1 Reply Last reply
                          0
                          • andrewA andrew

                            @neverdie I still use my default settings (see below). I re-applied these settings after I flashed the board to grbl 1.1f.
                            to be honest, after I found the right parameters for the PCB milling jobs I did not went further to fine tune the CNC settings, due to the lack of time. maybe later of the year, but currently I'm more than happy with the results.

                            $0=10 (step pulse, usec)
                            $1=25 (step idle delay, msec)
                            $2=0 (step port invert mask:00000000)
                            $3=5 (dir port invert mask:00000101)
                            $4=0 (step enable invert, bool)
                            $5=0 (limit pins invert, bool)
                            $6=0 (probe pin invert, bool)
                            $10=3 (status report mask:00000011)
                            $11=0.010 (junction deviation, mm)
                            $12=0.002 (arc tolerance, mm)
                            $13=0 (report inches, bool)
                            $20=0 (soft limits, bool)
                            $21=0 (hard limits, bool)
                            $22=0 (homing cycle, bool)
                            $23=0 (homing dir invert mask:00000000)
                            $24=25.000 (homing feed, mm/min)
                            $25=500.000 (homing seek, mm/min)
                            $26=250 (homing debounce, msec)
                            $27=1.000 (homing pull-off, mm)
                            $100=800.000 (x, step/mm)
                            $101=800.000 (y, step/mm)
                            $102=800.000 (z, step/mm)
                            $110=800.000 (x max rate, mm/min)
                            $111=800.000 (y max rate, mm/min)
                            $112=500.000 (z max rate, mm/min)
                            $120=10.000 (x accel, mm/sec^2)
                            $121=10.000 (y accel, mm/sec^2)
                            $122=10.000 (z accel, mm/sec^2)
                            $130=200.000 (x max travel, mm)
                            $131=200.000 (y max travel, mm)
                            $132=200.000 (z max travel, mm)```
                            NeverDieN Offline
                            NeverDieN Offline
                            NeverDie
                            Hero Member
                            wrote on last edited by NeverDie
                            #431

                            @andrew said in CNC PCB milling:

                            @neverdie I still use my default settings (see below). I re-applied these settings after I flashed the board to grbl 1.1f.
                            to be honest, after I found the right parameters for the PCB milling jobs I did not went further to fine tune the CNC settings, due to the lack of time. maybe later of the year, but currently I'm more than happy with the results.

                            $0=10 (step pulse, usec)
                            $1=25 (step idle delay, msec)
                            $2=0 (step port invert mask:00000000)
                            $3=5 (dir port invert mask:00000101)
                            $4=0 (step enable invert, bool)
                            $5=0 (limit pins invert, bool)
                            $6=0 (probe pin invert, bool)
                            $10=3 (status report mask:00000011)
                            $11=0.010 (junction deviation, mm)
                            $12=0.002 (arc tolerance, mm)
                            $13=0 (report inches, bool)
                            $20=0 (soft limits, bool)
                            $21=0 (hard limits, bool)
                            $22=0 (homing cycle, bool)
                            $23=0 (homing dir invert mask:00000000)
                            $24=25.000 (homing feed, mm/min)
                            $25=500.000 (homing seek, mm/min)
                            $26=250 (homing debounce, msec)
                            $27=1.000 (homing pull-off, mm)
                            $100=800.000 (x, step/mm)
                            $101=800.000 (y, step/mm)
                            $102=800.000 (z, step/mm)
                            $110=800.000 (x max rate, mm/min)
                            $111=800.000 (y max rate, mm/min)
                            $112=500.000 (z max rate, mm/min)
                            $120=10.000 (x accel, mm/sec^2)
                            $121=10.000 (y accel, mm/sec^2)
                            $122=10.000 (z accel, mm/sec^2)
                            $130=200.000 (x max travel, mm)
                            $131=200.000 (y max travel, mm)
                            $132=200.000 (z max travel, mm)```
                            

                            Looks as though GRBL1.1f has exposed some additional registers than GRBL0.9 did:

                            $0=10
                            $1=25
                            $2=0
                            $3=5
                            $4=0
                            $5=0
                            $6=0
                            $10=3
                            $11=0.010
                            $12=0.002
                            $13=0
                            $20=0
                            $21=0
                            $22=0
                            $23=0
                            $24=25.000
                            $25=500.000
                            $26=250
                            $27=1.000
                            $30=1000
                            $31=0
                            $32=0
                            $100=800.000
                            $101=800.000
                            $102=800.000
                            $110=800.000
                            $111=800.000
                            $112=500.000
                            $120=10.000
                            $121=10.000
                            $122=10.000
                            $130=200.000
                            $131=200.000
                            $132=200.000
                            

                            namely, registers 30, 31, and 32. Not sure what their values should be, or if it even matters.

                            Interestingly, the stepper motors have a distinctly different sound to them when running Chilipeppr with GRBL1.1f (as contrasted with GRBL0.9).

                            NeverDieN 1 Reply Last reply
                            0
                            • NeverDieN Offline
                              NeverDieN Offline
                              NeverDie
                              Hero Member
                              wrote on last edited by
                              #432

                              I am having a serious problem, though, which is that no matter whether I use Chilipeppr to jog the x-axis to the left or to the right, it always veers to the left. It never goes to the right. Y and Z seem to be working OK however.

                              rmtuckerR 1 Reply Last reply
                              0
                              • NeverDieN NeverDie

                                I am having a serious problem, though, which is that no matter whether I use Chilipeppr to jog the x-axis to the left or to the right, it always veers to the left. It never goes to the right. Y and Z seem to be working OK however.

                                rmtuckerR Offline
                                rmtuckerR Offline
                                rmtucker
                                wrote on last edited by rmtucker
                                #433

                                @neverdie
                                Is it working correctly if you just issue a G0 x10 then x-10?
                                did you switch to the jpadie workspace for v1.1?
                                sounds like you have a short on pin 5

                                NeverDieN 1 Reply Last reply
                                0
                                • NeverDieN NeverDie

                                  @andrew said in CNC PCB milling:

                                  @neverdie I still use my default settings (see below). I re-applied these settings after I flashed the board to grbl 1.1f.
                                  to be honest, after I found the right parameters for the PCB milling jobs I did not went further to fine tune the CNC settings, due to the lack of time. maybe later of the year, but currently I'm more than happy with the results.

                                  $0=10 (step pulse, usec)
                                  $1=25 (step idle delay, msec)
                                  $2=0 (step port invert mask:00000000)
                                  $3=5 (dir port invert mask:00000101)
                                  $4=0 (step enable invert, bool)
                                  $5=0 (limit pins invert, bool)
                                  $6=0 (probe pin invert, bool)
                                  $10=3 (status report mask:00000011)
                                  $11=0.010 (junction deviation, mm)
                                  $12=0.002 (arc tolerance, mm)
                                  $13=0 (report inches, bool)
                                  $20=0 (soft limits, bool)
                                  $21=0 (hard limits, bool)
                                  $22=0 (homing cycle, bool)
                                  $23=0 (homing dir invert mask:00000000)
                                  $24=25.000 (homing feed, mm/min)
                                  $25=500.000 (homing seek, mm/min)
                                  $26=250 (homing debounce, msec)
                                  $27=1.000 (homing pull-off, mm)
                                  $100=800.000 (x, step/mm)
                                  $101=800.000 (y, step/mm)
                                  $102=800.000 (z, step/mm)
                                  $110=800.000 (x max rate, mm/min)
                                  $111=800.000 (y max rate, mm/min)
                                  $112=500.000 (z max rate, mm/min)
                                  $120=10.000 (x accel, mm/sec^2)
                                  $121=10.000 (y accel, mm/sec^2)
                                  $122=10.000 (z accel, mm/sec^2)
                                  $130=200.000 (x max travel, mm)
                                  $131=200.000 (y max travel, mm)
                                  $132=200.000 (z max travel, mm)```
                                  

                                  Looks as though GRBL1.1f has exposed some additional registers than GRBL0.9 did:

                                  $0=10
                                  $1=25
                                  $2=0
                                  $3=5
                                  $4=0
                                  $5=0
                                  $6=0
                                  $10=3
                                  $11=0.010
                                  $12=0.002
                                  $13=0
                                  $20=0
                                  $21=0
                                  $22=0
                                  $23=0
                                  $24=25.000
                                  $25=500.000
                                  $26=250
                                  $27=1.000
                                  $30=1000
                                  $31=0
                                  $32=0
                                  $100=800.000
                                  $101=800.000
                                  $102=800.000
                                  $110=800.000
                                  $111=800.000
                                  $112=500.000
                                  $120=10.000
                                  $121=10.000
                                  $122=10.000
                                  $130=200.000
                                  $131=200.000
                                  $132=200.000
                                  

                                  namely, registers 30, 31, and 32. Not sure what their values should be, or if it even matters.

                                  Interestingly, the stepper motors have a distinctly different sound to them when running Chilipeppr with GRBL1.1f (as contrasted with GRBL0.9).

                                  NeverDieN Offline
                                  NeverDieN Offline
                                  NeverDie
                                  Hero Member
                                  wrote on last edited by
                                  #434

                                  @neverdie said in CNC PCB milling:

                                  namely, registers 30, 31, and 32. Not sure what their values should be, or if it even matters.

                                  I found out what they mean:

                                  $30=1000.	Max spindle speed, RPM
                                  $31=0.	Min spindle speed, RPM
                                  $32=0	Laser mode, boolean
                                  
                                  1 Reply Last reply
                                  0
                                  • rmtuckerR rmtucker

                                    @neverdie
                                    Is it working correctly if you just issue a G0 x10 then x-10?
                                    did you switch to the jpadie workspace for v1.1?
                                    sounds like you have a short on pin 5

                                    NeverDieN Offline
                                    NeverDieN Offline
                                    NeverDie
                                    Hero Member
                                    wrote on last edited by
                                    #435

                                    @rmtucker said in CNC PCB milling:

                                    Is it working correctly if you just issue a G0 x10 then x-10?

                                    No, it goes left in both instances.

                                    @rmtucker said in CNC PCB milling:

                                    did you switch to the jpadie workspace for v1.1?

                                    yes

                                    andrewA 1 Reply Last reply
                                    0
                                    • NeverDieN NeverDie

                                      @rmtucker said in CNC PCB milling:

                                      Is it working correctly if you just issue a G0 x10 then x-10?

                                      No, it goes left in both instances.

                                      @rmtucker said in CNC PCB milling:

                                      did you switch to the jpadie workspace for v1.1?

                                      yes

                                      andrewA Offline
                                      andrewA Offline
                                      andrew
                                      wrote on last edited by
                                      #436

                                      @neverdie sorry, I'm abroad, with very limited availability, so cannot answer too quickly.

                                      based on the mentioned facts it seems to me, that the X axis direction pin is sticked to one position, maybe it has a solder bridge to another pin, or vcc / gnd directly.

                                      alt text

                                      NeverDieN 1 Reply Last reply
                                      1
                                      • andrewA andrew

                                        @neverdie sorry, I'm abroad, with very limited availability, so cannot answer too quickly.

                                        based on the mentioned facts it seems to me, that the X axis direction pin is sticked to one position, maybe it has a solder bridge to another pin, or vcc / gnd directly.

                                        alt text

                                        NeverDieN Offline
                                        NeverDieN Offline
                                        NeverDie
                                        Hero Member
                                        wrote on last edited by
                                        #437

                                        @andrew said in CNC PCB milling:

                                        @neverdie sorry, I'm abroad, with very limited availability, so cannot answer too quickly.

                                        based on the mentioned facts it seems to me, that the X axis direction pin is sticked to one position, maybe it has a solder bridge to another pin, or vcc / gnd directly.

                                        alt text

                                        Thanks! You nailed it. It turns out the solder connection on the atmega328p pin corresponding to D5 just wasn't good enough. I resoldered it, and now the X-axis works in both directions. :)

                                        1 Reply Last reply
                                        0
                                        • NeverDieN Offline
                                          NeverDieN Offline
                                          NeverDie
                                          Hero Member
                                          wrote on last edited by
                                          #438

                                          I'm receiving this error message now:
                                          0_1516478064369_crowded.png
                                          However, it's not obvious how to delete the files it's referring to. Anyone know how?

                                          mfalkviddM 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          22

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular