Control of Air Assist with Atomstack X20

I ordered a spare board from Atomstack to analyze pin usage and play with the MKS firmware.

1 Like

Ho ! I got an Atomstack too (x30) and I am working on exacly that :), I would be very interrested on your progresses, for now I just noticed that the FAN is directly plug into 12v, I was thinking of using the laser TTL as an input to switch on/off this fan, but I did not tried/tested yet.

EDIT: By TTL input I mean using a timer/hysteresis, I am not gonna turn on and off the FAN directly with TTL as an input, that obvious but better to precise

2 Likes

Hi Michael.

I have been trying to automate the air assist via the I2C output but as you have noticed, the SCL does not output anything other than 0v. I have also tested all I2C pin combinations and the outputs of all pin pairs remain the same whatever value is output by Lightburn.

With all the testing that you have done so far, Iā€™m wondering if you are testing this only on the Atomstack? Could it be that Atomstack have disabled this feature for some reason?

Have you tried adding a 4k7 Ohm pull up resistor on SCL as mentioned in I2C documentation?

Iā€™d be interested to know if you do come across a work around for this.

@DzzD, the X20 is operating with 24V. Be careful everything labeled at the board with 12V is likely 24V. do you talking about the fan of the laser module? On X20 this fan is working all the time and is not silent. Have this only enabled when the laser is active (and some time after use to cool down) would be valuable.

@Stephen Iley, the resistor makes sense for an I2C port. From MKS source code the pin will be configured as a normal output and should not require the resistor. The LaserBox ESP32 V1.0 with Atomstack firmware does not use this pin. Im very sure the Atomstack firmware is based on the MKS firmware. Unfortunately the is also no feedback from Atomstack Tyler Guo regarding this issue. For them it should be very easy to enable this function. Im now waiting for my spare board to experimenting with the MKS firmware. Need to analyze pin usage (likely very similar to MKS). The most interesting part will be the pin usage for the display. As someone allready mentioned, the HDMI connector is may be not a real HDMI connection.

Be careful everything labeled at the board with 12V is likely

Thanks good to know :), but I would have checked I think butā€¦ no sure :slight_smile:

Yes, that exaclty what I want to do : make the fan start as soon as it detect a TTL signal and stop it maybe 5 seconds after the last TTL signal it detect, I think a simple ESP32, should make it easy to do ( I bought a batch of them so I have to use them even if it probalby over-enginered;) )

For now this FAN is directly plug to +12v (so probably +24v as you said)

This screen is really useless :confused: , I use the laser either directly connected or remotly connected (Is there a way of controlling the laser remotely with Lightburn? Yes) but never never never use an sdcard or the screen. Why the hell they have been added this screen, it is nearly equals to a buttonā€¦ lot of other things would have been more usefull and money better spent (cable managment, chaine cable, good WebUI, ā€¦)

I got some response from Atomstack to an e-mail i send. Looks to be they are not willing to do anything and may not even understand my intention. They replied the air assist can only controlled manually and they cant make this work in the firmware since hardware does not support it. Iā€™m already be able to compile the MKS firmware and now waiting to my spare board for experimenting.

In the meantime i was also taking a lock at the Atomstack display. The board inside is labeled Laser TF35 v1.0. From the components and electronics it looks to be compatible with the MKS TF35. There is a good chance it will work with MKS firmware.

All exchanges I had with Atomstack have always been extremlely complicated.

I often contact manufacturers (chinese, american, otherā€¦) for differents reasons and it is always a good experience except with Atomstack.

Atomstack is the only one with whom it is nearly impossible to cummunicate, they always answer they dont understand what I said. Even when I send to them video extracts made by native english spoken, they just answer ā€œsorry we dont understand etcā€¦ā€

So, having ā€œadvancedā€ informations on their products is pretty hard.

But about their Laser Board V1 it is basically an ESP32 running GRBL + two motors drivers, so it should be easy to flash it once pins have been identified. The fun fact is that the cost of one ESP32 is about 5$ when bought in low quantity, probably 1$ in high quantity (I usually buy them in batch of 3, 5, 10, chip alone or already mounted on a plug&play board).

EDIT :

or new version :

Before flashing you can use ā€œesptoolā€ (esptool -b 115200 --port COM7 read_flash etc...) to make a backup/restore of the actual firmware of your board, or you can re-download it from Software & User Guide Download - Atomstack.com ā€“ AtomStack

Just testing with the MKS firmware again. The display is working and i get the MKS screens. It was not connected during my last tests. I still have unplugged the Laser. Motor are moving shortly and start homing. Than i get the following errors:

ALARM:9
Referenzfahrt fehlgeschlagen. Endschalter in Suchentfernung konnte nicht gefunden werden. Definiert als 1,5 * max_travel bei der Suche und 5 * Pulloff bei Suchphasen.
[MSG:Flame err!Please restart the machine]

I also uploaded the configuration i saved from Atomstack and tried already 2 version of the MKS firmware with similar results.

It looks to be working with the firmware for the MKS DLC V1.0 board. Just make some ā€œdryā€ testing without the laser connected and it locks good so far. Also my switch box is working now. M7 is switching air assist on and M9 off. The display is also working. I still have some quirks to connect the WIFI.

Unfortunately it looks like the firmware source code released on Git is may be not the very latest? There is a 2.3 (2.2 for v1.0 boards) as binary but the source code looks to have only 2.1.

Got the WIFI problem fixed and all locked well but finally the laser does not fire? It has power as the fan is working but it looks to be it does not get the PWM signal or is kind of disabled. The x20 Iaser is also connect via 4 pins. Not sure wat the extra pin is used for? The laser (spindle) pin and the probe (flame detection) pin are the ones wich are different between MKS 1.0 and 2.0 boards.

There is an additional cable connected to the probe connector at the board. This is may be the additional pin at the laser? I tried the V2.0 firmware again with laser connected now but there is no change in behaviour and i get the [MSG:Flame err!Please restart the machine] error again. The board is only responding for a few seconds after start and then is not responding to anything. It is looking up completely. May be Atomstack has done some modification here. The commands to disable the flame error is not working for the MKS firmware. I may need to read the source code to understand better.

The source code published by MKS is not recent and does not even contain the function which makes the problem. The error string can be found in the binary laser firmware starting with version 2.1. It can not be found in the published source code which is likely an more early V2.1 version. The source code is referencing the date 20220421 and the firmware binaryā€™s containing the error message are all from 2022 and later. This means the source code from MKS is quite old and not very useful to build an new firmware.

May be unplugging the wire at the probe connector can make it work. Have not found the pinout for the Atomstack M100 laser head and the function of the additional pin. Also Iā€™m not sure if this is really connected to the probe pin. Anyhow inverting the probe pin ($6=0, $6=1) also does not make any change.

I tried more MKS firmware versions. Basically all versions till 2.0.8 for V2.0 MKS DLC32 boards are working except the laser will not fire for all of them. The control of the air assist start working with version 2.0.7. Later versions after 2.1.0 will trigger the flame error and will lookup after a few seconds.

I always loaded the default settings from Atomstack. Not sure if I missed something to enable the laser?

For now im able to build an firmware from MKS source code which is running at an ESP32 development board. It is responding as it should and also WIFI is working. Next step could be to try at the laser but first i need to trace the laser(spindle) and probe pins on the LaserBox ESP32 board. Not sure if we find something special here. The Atomstack board definitely does not have the part with the Powermosfet for switching a spindle.

Some more news. My spare board has been arrived and i started with the analysis. The LaserBox ESP32 V1.0 is definitely based on the MKS DLC32 V1 pinout (probe and TTL out pins). The probe pin is at the very left connector of the group. Not where the label is. Connectors from left to right are probe, Z, Y, X stop. The additional connector of the X20 cable is connected to the Z stop pin and not to the probe pin for whatever reason (even the cable is labeled probe). The probe pin has no pull up resistor or the filter cap installed at the board. The LED near the TTL connector is connected to the TTL signal. For the TTL (LC) signal the mosfet part (Q1) of the MKS board is completely missing. The Z axis driver part is also not present. Atomstack is using an HDMI connector for the display but its basically using signals and schematics compatible with the MKS board and display. The board came with the latest released X20 firmware.

Started testing again with the latest V1.1 firmware (V2.20_H35_2022_1101_N_ZX_002.bin). Looks to be everything is working as it should but not the laser. If i run a project in LB it is moving as expected but the laser stays always off. My switchbox is working on the M7 command. All laser related setting looking to be correct. I just build an firmware based on my findings from source and finally it looks to be working. The laser is firing and my swichbox is working on the M8 command. Need to do some projects now to see if the firmware is working stable.

Here is the link to the source code updates i did to make it work: MJ666/MKS-DLC32-FIRMWARE at LaserBoxESP32 (github.com)
I used VSCode and PlatformIO to flash the board (laserbox_esp32 upload).

1 Like

Did some (paper) cutting with the new firmware and for now it looks to be running as it should. There is one issue i have seen in the display and the labels are only correct after setting the language. This always need to be done after switching on. I hope MKS is releasing the very latest firmware source which has such problems fixed.

I also can provide a firmware binary to update the Atomstack is someone donā€™t want to mess with VSCode. This firmware should also work for the other Atomstack lasers which are using the LaserBox ESP32 v1.0 controller. Only the default setting should be backed up and restored. There is no much risk since you can go back to stock Atomstack firmware anytime.

hello Michael

I would like to test the software.
please for the binary file

greetings from austria

1 Like