Firmware for JL1 board

The Laser machine band name is KKMooon and the board is JL1, looking likes WAINLUX JL4. Working size X = 150, Y = 240.
After press the “Home” and press the “Get Position”. It show X = 30, Y = -10. When input G0X0Y0 then become X = -118 Y = 0, the machine is out of range.

Try setting an offset and see if that resolves it:

G10 L2 P1 X30 Y-10
$10=0

Then rehome and retest.

First I would ask for report of “$#” and “$I”.

Keep in mind that this firmware is specific for JL1 frame. On JL4 frame it is very possible that Kung have to limp with no homing cycles, to disable hard homing, like the rest of us earlier.

I suspect that Kung still on JL3 firmware. I did ask but no coherent answer given. If JL3 firmware - then all bets are off, it has hard coded offset after homing and will run Y axis into wall. No G10 will help. His or her only option is to disable homing cycle and home manually before power up. I also have no reason to believe that Kung able to flash my firmware. This is why I’m asking for “$I”.

Is it the program start load offset the reason you cannot use their simple installation program? Has anyone tried it?

My firmware has standard offset, the beginning of the flash space.
There is no “simple installation program”. You probably referring to original JL3 updater exe and ROM, these are custom and married to each other. Now that original JL1 boot loader it is gone - need to use standard tools.

I think ST command line utility is very simple. It is my preference.

I think that’s one of the questions that came up… where does the original .bin file load.

I assume he’s still loading at 0x8000000 with st-link…

I’ll try loading his new firmware and see how it works.

When I stop a job, mine won’t talk to me anymore unless I power cycle it and change the com port it’s on… But it’s better than a paperweight.

I was hoping @LsrSal would post a link (or re-link) to the source…

:smile_cat:

I’m curious about it too. But it is not enough to know the offset. Flash always booted at standard offset. Then need to jump to application. As JL3 firmware is locked - there is no way to know. Even if we can find exact offset - we need a way to execute from that address, that is another custom boot loader. So as academic exercise - would be nice. Practical yield, ROI is pretty much zero.

I use source form GIT. There are tonnes of sources for STM32. Reposting mine - is polluting GIT with another fork that is not really worth it. I did not organize or comment my code, it is easy to get lost in it.

That probably related to the tail end of Gcode, probably sending laser to “G90 G0 X0 Y0”, that is unreachable with previous firmware negative work space. Removing these closing lines from your Gcode should resolve your present problem.
With my latest firmware X0 Y0 is in active space and should not cause any problems.

Waiting for your confirmation.

I didn’t know there was closing lines in the gcode, let alone how to remove them… :face_with_spiral_eyes:

Do you have your code on something like a google drive so I could grab it…?

Understand the effort to figure out how to load it… I’m not going to look either add to that I hate windows…

Thanks

:smile_cat:

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.