Firmware for JL1 board

Thanks, that explains it.

Now I used JL1a.bin instant of original firmware. I move the XY to left bottom before power up to solve it.
JL1 board’s boot loader is gone, so I cannot change back to original firmware. I use “STM32 ST-LINK Utility” to program firmware.

Kung,

Instead of JL1a.bin try latest JL1V2.bin. Any older firmware has zero chance of properly working home. My latest firmware may or may not work for JL4.

I would help you more if I have any info about JL4 frame. Unfortunately quick search did not return much, other that a few listing images. I have no idea about home switches placement on JL4. If you provide detailed info then I might be able to help you more. If you care about homing at all.

Most software does have machine specific gcode header and footer. I cannot guide you with LightBurn as I do not have it. If somebody would like to sponsor me a license - I will be more informed. I’m aware of 30 day trial. Not an option for me.

I do not have Google Drive. I have plans to setup GIT with fork from original source. I will do that when I have time. This is not my priority right now.

Jack, if you like to compile by yourself - get Blue Pill board and start with any source that you are able to compile with your enviroment. Once you got it somehow working on Blue Pill - start tweaking it for JL1. As long as I’m hanging on this forum - I will help you and guide you with what have to be done exactly. Actually I’ve already described most of my edits. I did my on Windows that you hate. Setup your Linux environment, get verification platform going (Blue Pill + scope, maybe also LSA). Then I will consult you about changes necessary for our board.

My KKMoon (likes LJ4) the X/Y switch put in right top side(X = 150, Y = 240, G130/ G131 Max travel). The JL1V2.bin home function is work(I mean it can goto home switch). When press “Home” the Y axis goto top side Y = -10 and X axis goto right side then goto left side X = 30. The terminal show G0X150Y0. I want “Home” function goto right top side (X/Y switch) then goto left bottom side become X0 Y0

JL4a.bin.txt (44.3 KB) This is special version for JL4, identical to above JL1V2 firmware with exception of applying upper right coordinated at reset (G130/ G131). Please apply your specific JL4 GRBL settings, defaults in attached JL4 firmware are still for JL1.
While it stops at home - your coordinate space should be correct with 0:0 at bottom left and positive space. It will not go there automatically but it should not affect normal operation. Try to open any job file and frame it.

Thanks your help.
My friend using the laser. After return I will try it.

I checked JL4a.bin firmware. Work fine except X keep in X=150.

Please explain?
As you have home at upper right - for positive space after homing you will have coordinates 150:240, and the beginning of the space 0:0 at bottom left. This is the intent.

It does not work for you?

When press the “Home” the X / Y goto home position. X in right side(X=150), the Y in top side(Y=240). Then Y goto bottom side(Y=0), X still kept in right side (X=150)

Kung,
You need to adjust $23 - homing direction mask.
I guess your Y need to go in opposite direction, therefore instead of 2 it should be 0.
Or maybe $3 should be zero and $23 stay 2? Maybe both zero?

When done - please share your set of GRBL settings.

Sorry, My explain and English poor.

Press “Home” button:

  1. X and Y goto home position (Top Right side)
  2. Y from home side (Y = 240) goto Bottom side (Y = 0 )
  3. X nothing move it keep in home side (X = 150)

Press “Home”
X goto Right side
Y goto Top side
So Home direction is correct.

After “Home”
press X+ goto to right side
press X- goto to left side
press Y+ goto to top side
press Y- goto to bottom side
So the direction is correct.

Did anybody picked up JL2 from Amazon? I believe Kung has the same machine. That JL2 does not get as much love as JL1.

Let’s try to figuer it out:

Something in you r explanation does not make sense or your story has missing details. I can imagine what you see only if your Y home switch is different (inverted) and homing direction mask for Y also is inverted:

  1. There is nothing in my firmware to move Y after homing is complete. If Y is homed - it should stay there until commanded to move. What software are you running? LightBurn? Something else? Are there some specific machine settings? Please make sure that machine getting single command “$H” and nothing else.

  2. I can imagine such scenario if Y home switch is different and Normally_Open rather than Normally_Closed like most JL1 hardware. Please take a pictures of your home switches in two positions each, at home and away from home?

  3. If Homing Cycle is enabled but not complete - GRBL should stay in Alarm state and you should not be able to move. Are you disabling Homing to move or exiting Alarm state manually?

Initially, it was a risk worth taking simply because I felt the parts alone were worth it… and fewer parts on JL2.

:thinking:

I used LightBurn trial version. Wen I press the “Home” button I saw the terminal it show G0X150Y0 command. May be send this G0X150Y0 in some where. I will carefully check again.
Anyway thank your help.

Fig 1. Home switch position. Left side is Y and Right side is X.

Fig. 2 After press &H command

Fig. 3. Terminal (Note: The G0X150Y0 command is not send by me. It is auto send this command after &H.)

On the Ortur LaserMaster 1 the front of the machine and 0,0 are the bottom left as in your Fig 2.
It looks like you have the back of the machine setup as your 0,0 but your home buttons are on the other side of the machine.

It’s just a guess but maybe your device configuration is not setup so that the Home position is the same as there the X and Y endstop switches would trigger.

I have possibly good news:
Contrary to my previous assertion that boot loader got blown by upgrading with JL3 firmware - it is not. It is happily surviving flashing through UPGRADE.EXE

As I’m playing with virgin JL1:
Tried to load my BIN with UPGRADE app: upgrade completed but app does not run.
Tried to retrograde, update again with JL3 BIN - it works.
Got it couple times back and forth - confirmed that boot loader is surviving flashing with app.

Apparently UPGRADE app does not care what BIN it is pushing in.

I think that because my BIN has different offset - it does not run.

I’ve learned that flash can only be loaded in 1K chunks. With GRBL firmware ~40K - that leaves only ~24 starting points to try. Probably doable manually.

I should be able to recompile my firmware with matching starting offset, then it can be loaded with UPGRADE app. I think. I hope.

Flashed this way - flash still read protected. I hope there is no special processing needed for ROM before flashing into read protected space.

More fun work ahead…

1 Like

“Hard Homing” is not " G0X150Y0" but “$H”. You probably pressing “soft home” that is origin of work set by “$92”. Without completing Hard Homing Cycle this will be dependent on position at the moment of power up.

I’ve made special version for you for home switches located at upper right, where hard homing complete will set X=$130:Y=$131.

It is also possible that you did not flash your special version.

I’m getting more confused looking at your images. I was very certain that for T(X)frames - X-beam is on the back , so user can have free access to the work area.
On your images the best of my understanding home would be 0:240.

Or is it like on the following image?

Then I would understand that that home is on the upper right. But orientation is odd IMHO.

Do you know there are two different homes? "HARD"and “SOFT”? Soft usually used after setting “$92” as origin of work.

Please send through terminal command “$H”, then “$#” and post what you got back.
Also would be nice to get whole set of your GRBL settings.

It got to be trivial. It just a matter to get proper settings.

A few years ago a bunch of use got Ortur LaserMaster 1 engravers and they were setup physcially just like the picture but the GRBL firmware homed to the end stops. Indeed it is easier when the arm is out of the way but really is not a big deal since you just click in LightBurn to position the laser, get it out of the way, then work from there. Once it has been homed on the switches, you don’t have to home it again. So in the device setup we all set our home position to left front where the end stops are.

And all the labels on the machine gave us the clue that the cables and power connections were at the back of the machine, not the front.

Dough,
There is no problem to make button to move of the way to any location. G-code has “parking” (M56) for that (I did not try it yet on JL1). I do not have JL2/4 frame but I would imagine, if I have one, I would set it up with bulk on the back and floating arm on the front. This is just common sense to me. With that logic I’m surprised to see switches where they are after Kung says they are on the upper right. To me they are on the upper left. This is depends on orientation of course.

Do you mean Hard Stops? Or far end of X an Y?

While some CNC/Laser/3D Printers controllers support hard stop homing without home switches - original GRBL does not. Especially not JL1. Hard stop of JL1 is semi-violent. Probably will not blow anything but defenitly not pleasant. So I’m trying to properly support homing with existing hardware.

My machine now nice is smooth and never hit hard stop. While I was limping with Homing disabled - I had convinced myself that it is not essential. It is still true, many folks working exclusively in relative space and have no issues. However, once I had homing properly working - to me it just feels functionally complete. I can imagine it also can be handy for multi-session registration of the part.

Original GRBL, 1.1f, does not natively allows to home at axis far end in positive space. It was originally written for CNC that is natively negative space. My understanding that it has changed in 1.1h (not sure though) , but my code is based on F. Any application can work in relative space/offset. That can be Tool Offset or Work Offset. But for laser, positive workspace is native and more compatible. I also no longer have to remember to manually move to bottom left before power up.

I set objective to myself to have positive space, 0:0 at bottom left, and no need for relocation of home switches. So I’ve edited homing routine. For JL1 frame it sets coordinates after hard homing at 0:$131.
That keeps 0:0 at bottom left. If after hard homing and before setting work offset you click soft home - it goes to bottom left. Perfect.

So for Kung (JL4? Maybe JL2?), as he stated that his home is at upper right, I made version where hard homing ends with coordinates $130:$131. I guess we are confused about some details as technically I have no problem to make homing for any corner and any coordinate.

I’m trying to do the same. This is not just a coincidence, I think, but apparently convention for the Laser and other additive machines. Well, if all home switches are at 0:0 then there would be no need to configure/tweak homing. Unfortunately JL1, and every other model in their lineup, and many other machines as well, has switches at different corners. So we have to chase it a bit.

1 Like