How to Upgrade the xTool D1 Firmware?

Article author

NOTE: Below is the firmware upgrade instructions for xTool D1, NOT for D1 Pro. Please make sure it is a D1 of yours and proceed.

(For D1 Pro, you may click: How to Upgrade xTool D1 Pro Firmware?)




Method 1: Upgrade D1 firmware with XCS (Recommended)

NOTE: DO NOT upgrade D1 firmware with Laserbox basic or LightBurn.1280X1280__19_.PNG

  • Make sure your network is in good condition.
  • Make sure your computer stays on, and do not enter Sleep mode during the process.
  • Do not power off D1 during the process.
  • Make sure the Upload Switch is on (as below).1280X1280__20_.PNG

1. Power on and connect D1 to your computer via the original USB cable.


2. Launch XCS, click on Connect Device, and select your device from the Device list.1280X1280__22_.PNG

3. Click on the gear icon and then click on Check for updates.image__9_.png

4. If a new firmware version is available, click on Update.


5. Firmware update starts. 1280X1280__24_.PNG

6. Firmware update in progress.1280X1280__25_.PNG

7. Firmware update completes.


Method 2: Upgrade D1 firmware in XCS Developer Mode


  • Your XCS version should be V1.0 or above, so that Developer Mode is available.
  • Make sure your computer does not enter Sleep Mode during the process.
  • Do not turn off your D1 during the process.
  • Make sure the Upload Switch on the motherboard is turned on.



1. Power on and connect the D1 to your computer via the original USB cable.
2. Launch XCS, normally the device will connect to XCS automatically. If not, click on Connect Device, and select your device from the Device list.
3. Click Settings> Developer mode> Start.


4. Select D1.
5. Select the Serial port.
5.1 Right-click on Start.


5.2 click Device Manager>Ports and find the port for USB-SERIAL CH340.


  5.3 Select the corresponding Serial Port.


Note: If you do not find the port for USB-SERIAL CH340, it's probably because the driver is missing and you may download it here: and complete installation.
6. Set Baud to 230400.


7. Click on Latest firmware> Update
or click on Firmware from local disk> Select the firmware or drag it here> Update.
8. Wait for the "Firmware update succeeded" notification.




Method 3: Upgrade firmware with xTool D1 Firmware Tool for Windows


  • Make sure your network is in good condition.
  • Make sure your computer stays on, and do not enter Sleep mode during the process.
  • Do not power off D1 during the process.
  • Make sure the Upload Switch is on (as below).


1. Download xTool D1 Firmware Tool and unzip the file.

Attention: If you are trying to use this way to upgrade the firmware, please download the the folder locally.


Otherwise you may get the eror message as follow due to the lack of Python DLL file:



2. Open the folder that you download locally, then double-click to launch the "xTool D1 Firmware Tool.exe". 


3. Connect D1 to your computer via the original USB cable and switch it on, select the correct Port.


4. Click and import the firmware file you would like to update to, "D1_firmware_V40.30.007.01B4_20220829.bin" for example as below.




5. Click on "Start Upgrade". 


6. When it finishes successfully, a PASS notification will show in the lower right corner.



Was this article helpful?

4 out of 14 found this helpful

Have more questions?


  • The download firmware tool link is not an .exe file but rather a .rar file. Is there anyway you guys can resolve this so we can update the firmware? Thank you

  • Mac directions need LOTS of updating. No way any normal user would figure that out with the latest OSX. Python is now Python3 so all your python commands fail. Most of the sideloaded scripts are depreciated and have warnings. If the path to your firmware file has a space in the path name it fails. Since you never added esptool to the path you must first change directory to where you extracted the rar too. You tell people to find the USB port in Laserbox basic, but fail to mention you have to quit laserbox or it will keep the USB tied up and the commands will fail. 

    The command shown in the screenshot at the end seems close to correct but the text above the screenshot is all wrong.


  • Keith,

    Anyway you can help me out with this. You seem to know what to do to fix this.

    D1 Pro tells me my firmware version is 0.0. Trying to do any of what is listed above doesn't work. I ended up installing Python3 from Python's site and was able to, I THINK get esptool installed but I'm not sure. Any help is appreciated.

  • I'm not sure,  the Pro is a different board from my original D1. But the firmware can't be 0.0
    I think you have some other issue going on there. 

    1. Download and extract D1_upgrade-mac.rar
    2. Open Terminal app on your Mac.
    3. Copy each of the commands below and paste in to terminal, one at a time, and press enter. If you are asked for a password, you need to enter the password of the Admin user of your machine. 
    • curl -o
    • sudo python3
    • pip install esptool
  • Change directory to where you extracted the firmware file. For me, I extracted it to the desktop so the following commands put you in that folder.
    • cd desktop
    • cd D1_upgrade-mac
  • Run the LaserBox Basic software or for Pro run xTool Creative Space.
  • Attach to laser via USB
  • When the software attaches you will see the name of your USB port, write that down, you need it. Changes every time you plug it in so you have to check every time.
  • Mine was  /dev/tty.usbserial-1440
  • Quit and exit LaserBox or Creative Space to release the USB port.
  • Edit the below command to reflect your setup.
    • Replace  “YOUR_PORT_HERE” to the one discovered above.
    • Replace “YOUR_FIRMWARE_FULL_PATH_HERE” with the path and filename of the firmware you are sending.
    sudo python3 --chip esp32 --port YOUR_PORT_HERE write_flash -z 0x10000 YOUR_FIRMWARE_FULL_PATH_HERE

    Use this as an example ONLY (do not use this on your system, it's for mine):
    sudo python3 --chip esp32 --port /dev/tty.usbserial-1460 write_flash -z 0x10000 /Users/shared/D1_firmware_V40.30.005.01B2_20220524.bin