Eleksmaker - Laseraxe CNCC Mini board issue

Hello,

New to the forum and to laser engraving overall. I got my hands on a 2 axis laser engraving setup that was getting tossed. I believe it’s an Eleksmaker A3 (or a clone). It was working fine and I have done quite a few things on it so far with no issues. Please excuse my terrible lingo as I am learning how all this stuff works as I go. The main controller board is a Laseraxe CNCC mini and it has an Arduino Nano microcontroller on it. I am using software called EleksCAM. I also have a trial of Lightburn but the issue persists with that as well.

The issue I am having now is with the stepper motor(s). When I manually adjust the location of the laser in EleksCAM, the X and Y axes are reversed from what they were before. In addition, if I try to move along the X axis it doesn’t move but I do hear some sounds like the stepper motor is trying. When I adjust the location along the Y axis, if I press the up arrow or down arrow it only goes in one direction. Basically, it’s only moving in one direction no matter what I do.

I swapped the stepper motor cables on the board to verify they were good. When I did that, the X axis motor worked fine, but the issue changes to where it only moves one direction on the X axis rather than Y.

I was able to successfully flash the Arduino Nano with GRBL [VER:1.1h.20190830:] using Arduino IDE. I can communicate with the Nano and attached a screenshot of the current settings and version. I’m not sure if or how I can upgrade the FW on the Laseraxe board or if that is even the cause.

I did some testing with my MM, swapped the stepper motor drivers, swapped the motor cables, no change to the issue. It seems like the X axis stepper motor is having power applied to both directions so it doesn’t move. I ordered a replacement board since they are cheap and we’ll see if that fixes in it a couple weeks. I’m familiar with soldering on boards but not sure what components to test. I’m going to keep tinkering with this board, though.

Thanks.

It was working, I doubt it suddenly had all these problems without something being changed. Software/settings?
Your speeds and acceleration are quite low.
$=32 should equal 1
Also have you got steeper more driver current set suficient to drive the motors?

Thanks for the reply. I agree. Something had to change but not sure what. I’ve always used the EleksCam software with no problems. The issue started after it completed an engraving job on some wood. There are no limit switches installed. I understand those are for stopping the motors from reaching their limit on the axes? I thought the motor went bad because it reached its limit and made some grinding noises, but both are testing fine and operational. The Eleksmaker software has a Reset ROM button that resets certain settings back to default. Tried that but no luck and not sure what its resetting exactly.

Is my understanding correct that I uploaded the GRBL firmware to the Arduinio and the Laseraxe board controlled by that?

I’m not sure what you mean by the steeper driver current. I looked at the driver pinout but not sure what they all do. There is a potentiometer screw but I have yet to mess with it. I’ll read up on those and see what I learn.

Thanks

Limit switches are for homing. So you have to manually home your laser. Where do you home your laser?
The arduino is the controller for your board.
Can you take a screenshot of Lightburn with laser window open and paste?

Ah, that makes sense now. I’m not sure but I don’t really home it. I just sort of center it in the work space when I’m ready to use it. The EleksCam software lets me preview where it’s going to engrave and I just move my material where I need it. As I read and learn more about these I see that is not ideal. I’m interested in adding those switches in the future and having the homing ability.

I attached a screenshot. I think that is what you requested? Lightburn is new to me and I haven’t used it for any projects. I only installed it to see if my laser/board would operate any differently. Let me know if this is not the right screenshot.

Thanks for your help on this.

You can just manually home the laser before you turn machine on, and it will use that as home position. Which is lower left corner on Lightburn screenshot.

Thanks. I’m still doing some reading and testing. It seems this Nano MAY have had GRBL v0.8c, but not sure. I wish I would have known about the IDE and saved the settings. I’m having a hard time finding that version to install on it, but maybe some changes to my current version will lead me in the right direction.

Thanks

Not sure if this helps with anything, but in the EleksCAM software, that Reset ROM button displays a CLI and produces the following:

avrdude.exe: Version 5.11-Patch#7610, compiled on Aug 31 2011 at 08:02:19
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\EleksMaker\EleksCAM\avrdude\avrdude.conf"

         Using Port                    : \\.\COM8
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.16
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: reading input file “EleksROM.hex”
avrdude.exe: writing flash (30518 bytes):

Writing | ################################################## | 100% 9.41s

avrdude.exe: 30518 bytes of flash written
avrdude.exe: verifying flash memory against EleksROM.hex:
avrdude.exe: load data flash data from input file EleksROM.hex:
avrdude.exe: input file EleksROM.hex contains 30518 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################ | 64% 4.65s

The Reset button looks to be reflashing the firmware from a file called “EleksROM.hex”. If so, this is likely reverting the firmware to the state you were in before updating GRBL.

With the laser off, move the head of the laser to the front left of the machine. Then turn on.

Connect with LightBurn and run these commands in Console:

$I
$$
$#
?

Return the full output here please.

Also, can you take a photo of your machine from the front?

If you are running a very old version of GRBL it may not be all that straightforward to update to a more current version due to pinout changes that were made. But let’s address one issue at a time.

1 Like

I feel that you’ve shown that both motors are fine and both cables are identical and working.

You may be fighting the GRBL Setup. The selected data pins used for motor control can differ from controller to controller. If the ‘Reverse’ pin on the Y-Axis driver is configured incorrectly, the controller may send that ‘Reverse’ instruction to an unused or incorrect output.

If you’re willing, I’d like to take a look at the global config file.
System wide configuration file is “C:\Program Files (x86)\EleksMaker\EleksCAM\avrdude\avrdude.conf”

If you also have a link to the GRBL version you downloaded I may be able to compare them.

I had to select different data pins for a BachinMaker controller that I reflashed.

Thanks for the replies. I agree, I am starting to think there is an issue with the version of GRBL I am running and the settings are not lining up with my hardware.

Here is the output from Lightburn:

Waiting for connection…

Grbl 0.9i [‘$’ for help]

Your Grbl may not support Variable Power mode (M4)

If your laser does not turn off between cuts,

switch to the GRBL-M3 device

ok

[0.9i.20150620:]

ok

$I

[0.9i.20150620:]

ok

$$

$0=10 (step pulse, usec)

$1=25 (step idle delay, msec)

$2=0 (step port invert mask:00000000)

$3=0 (dir port invert mask:00000000)

$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=80.000 (x, step/mm)

$101=80.000 (y, step/mm)

$102=400.000 (z, step/mm)

$110=5000.000 (x max rate, mm/min)

$111=5000.000 (y max rate, mm/min)

$112=5000.000 (z max rate, mm/min)

$120=200.000 (x accel, mm/sec^2)

$121=200.000 (y accel, mm/sec^2)

$122=200.000 (z accel, mm/sec^2)

$130=5000.000 (x max travel, mm)

$131=5000.000 (y max travel, mm)

$132=5000.000 (z max travel, mm)

ok

$#

[G54:0.000,0.000,0.000]

[G55:0.000,0.000,0.000]

[G56:0.000,0.000,0.000]

[G57:0.000,0.000,0.000]

[G58:0.000,0.000,0.000]

[G59:0.000,0.000,0.000]

[G28:0.000,0.000,0.000]

[G30:0.000,0.000,0.000]

[G92:0.000,0.000,0.000]

[TLO:0.000]

[PRB:0.000,0.000,0.000:0]

ok

?

<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>

ok

If I remember correctly, I got the current GRBL version from github:

Below are a couple pics of my premium setup. Forgive me, I am not sure which side is technically the front.


I attached a text version of the avrdude config file. I do recall using the avrdude utility via CLI but I was not entirely sure what I was doing.

avrdude config.txt (554.7 KB)

Start the machine with laser head at front-left.

Then test the jogging controls in Move window. Do they work as expected? Up moves up, down moves down, left moves left, and right moves right?

If I press up or down, it only moves in one direction along the X axis and will no go the other direction. If I press left or right, it does nothing but I can feel and hear the motors trying to do something, almost like it’s trying to go both directions along the Y axis at the same time for a brief moment I don’t have a Z axis, but when clicking those buttons I also feel and hear the motors trying to do something.

I also recall replacing the EleksROM.hex file with other GRBL hex files to see if that would fix it but it did not, so I reverted back to the original.

I’m reading up on GRBL 0.8 here:

Are you absolutely certain that your machine is wired correctly? The Y stepper is connected to the Y driver?

Also, are you absolutely certain that EleksROM.hex is actually the intended firmware file for your machine?

Yes, the X stepper (top one, shorter axis) is connected to the X driver and Y connected to Y driver. If I swap the wires, the issue is the same only on the other axis. Below is a pic of current wiring:

As for the hex file, I am pretty darn sure its the original. I did wipe the EleksCAM software from my computer and reinstalled in the beginning of my troubleshooting.

Did this problem appear immediately after first flashing the firmware? I’m speculating that the firmware may have been configured with different pin assignments than how yours is actually setup.

The issue started after I completed an engraving on some wood. I THINK I clicked the Reset ROM button on accident or something but I can’t recall 100%. When I got this setup I didn’t mess with any settings on the board, I just went straight to using it after figuring out what software I needed. I guess anything is possible at this point since I have no clue what the original settings contained, unfortunately.

I just reinstalled EleksCAM again to ensure the hex file is the original from before, but the issue remains.

If that’s the case then it’s entirely possible that the issue is purely firmware related.

Try compiling and installing the firmware located here. It’s intended for the Laseraxe CNCC Mini. Looks like there are indeed pin differences related to stepper function vs standard GRBL.

Release grbl1.1f_standard · darkez/grbl1.1h_laseraxe.cncc.mini · GitHub

Wow, I just uploaded that version firmware and the directional controls are working normally now! That makes sense about the firmware now that I understand this thing a little better. I’m going to do a test burn and see how it operates but so far so good. I sincerely appreciate your help with this! I’ll report back how it does.