Firmware 4.7 + extruder driver


I was using Fireware 3.X with my Uarm Swift Pro and I was able to use an internal driver for external stepper motor connection by applying G-code G1 E100 for example.

Now I did an update to Fireware 4.7 and I cannot access such commands to communicate with the “extruder” driver. Error E20 occurred.

I would like to mention that I don’t want to 3D print, just want to use an internal driver to operate with 4th stepper motor.
How do I can fix this issue?

Thnx in advance.

Hello Andrew,
Can you tell us where you found the example(G-code G1 E100) ? Thanks.

Hello Jane,
Thank you for a quick response.

That example I made by my own. Let me explain:
With Fireware 3.X I used Python SDK and Marlin g-code commands for operating robotic arm.
So, for moving in X Y Z directions I used command like:
swift.send_cmd_sync(‘G0 X200 Y100 Z100 F5000’)
but also, as fare as I know uArm Swift pro has internal driver for operating extruder motor, so I did tried to use command like:
swift.send_cmd_sync(“M302 S0”) # Marlin command for cold extrusion
swift.send_cmd_sync(“G92 E0”) # nullify E-motor
swift.send_cmd_sync(‘G1 F5000 E10’) # move with motor E to pos 10
And everything worked fine until I did an upgrade for Fireware 4.7. Movements become super smooth but I cannot find a way how to activate and use internal driver with this firmware.

If you have any suggestions let me know please.


Hello Andrew,
Firmware 3.x of the uarm support Marlin g-code, but the Firmware 4.x of the uarm don’t support Marlin g-code.
If you want to use Marlin g-code that you have to use the firmware 3.x.

Hello Jane,

I did understand that from the beginning.
My question is if I can use build in driver for operating stepper motor in different way (not by G-code). Maybe you can advise me to use any special method in Python or access the driver directly from build in arduino board. I very impressed about that work you did on improving movement of the arm but cannot understand why part of hardware was just leave out …

Thank you.

Hello Andrew,
You can use our uarm controller expansion board, and then you have to write the program that drives the motor in C++, and then put the written C++ program in the uarm controller, and then trigger it offline.
You can refer to the link about the uarm controller: