Setup with a microSD card


If you insert the microSD card with a configuration file written into the device, you can initialize the controller with the settings written in the file. The configuration files can be exported using the Config Tool.

If you boot without a microSD card inserted, the default values written in the firmware will be used.

Preparing the microSD card

Only microSD or microSDHC cards can be used, and they must be formatted with FAT16 or FAT32. The file name is limited to 8 characters and the extension is limited to 3 characters.

Refer the Arduino SD Library reference for the detail of the limitation of file name length.

Configuration tool (Config Tool)

The configuration tool is written by HTML and JavaScript and available from here. It works both online and offline.

MOdel URL Source (Github)
STEP400 /configTool
STEP800 /configTool

At the top of the page, you can load previous configuration files. Click the "Export" button at the bottom of the page to download the configuration. The file name is config.txt. Although the file format is JSON, the file extension is changed to .txt instead of .json because it can only contain three characters for the extension.

Copy this file to the top level of the microSD card and insert it into the device. Then boot or reset the device. The settings are only loaded at startup.

Most of the items can be set from OSC message. The corresponding messages are listed below. This spreadsheet contains the list of corresponding JSON file items and parameters in the Arduino sketch.

Example config files

Some example config files are available from here:

Config Tool items


Parameter OSC command Default
Configuration name - "Default"
Configuration version - 1.0
Target product - "STEP400" or "STEP800"

Configuration name

Configuration file name. Can be set freely.

Configuration version

Version number of the Config Tool. Unable to modify.

Target product

Name of the target product for the config file. Unable to modify.


Parameter OSC command Default
My IP address -
ID adds to my IP - TRUE
Destination IP /setDestIp
Gateway -
Subnet mask -
Incoming port - 50000
Outgoing port - 50100
ID adds to Outgoing port - TRUE
MAC address - 0x60, 0x95, 0xCE, 0x10, 0x02, 0x00
ID adds to MAC address - TRUE
Booted message enable - TRUE
Allow OSC reply before /setDestIp - FALSE
Report errors /reportError TRUE

My IP address

Set the IP address. if ID adds to my IP is checked, ID value added to this address becomes the actual IP address. For example if the IP address is set to and ID switch is set to 1, will be the actual address. Be cautious not the added value to exceed 254.

Incoming port

The port number that the device receives OSC messages.

Outgoing port

The port number that the device send out OSC message. If ID adds to Outgoing port check box is checked, the ID value will be added to the port number.

MAC address

You can switch decimal and hexadecimal display by clicking the check box Hex.

ID adds to MAC address

When this check box is checked, the ID value will be added to the lowest byte of the MAC address.

Booted message enable

Enables or disables the auto message /booted on ethernet link establishment on start.

Allow OSC reply before /setDestIp

In initial state, the controller does not send OSC response until receiving /setDestIp. However if this check box is checked, the controller will sends out OSC message immediately after boot up.

Alarm and Report

Parameter OSC command Default
Report BUSY /enableBusyReport FALSE
Report HiZ /enableHizReport FALSE
Report HOME switch status /enableHomeSwReport FALSE
Report motor direction /enableDirReport FALSE
Report Motor Status /enableMotorStatusReport FALSE
Report HOME switch event /enableSwEventReport FALSE
Report undervoltage lockout /enableUvloReport TRUE
Report thermal status of driver chip /enableThermalStatusReport TRUE
Report motor stall detection /enableStallReport FALSE
Report LIMIT switch status *STEP400 ONLY /enableLimitSwReport FALSE
Overcurrent threshold /setOverCurrentThreshold 15

Driver Settings

Parameter OSC command Default
Homing when the system starts (/homing) FALSE
Homing Direction /setHomingDirection Reverse
Homing Speed /setHomingSpeed 50
Home switch won't cause HardStop /setHomeSwMode SW_USER
Prohibit motions on HomeSw /setProhibitMotionOnHomeSw FALSE
Limit switch won't cause HardStop *STEP400 ONLY /setLimitSwMode SW_USER
Prohibit motions on LimitSw *STEP400 ONLY /setProhibitMotionOnLimitSw FALSE
goUntil timeout duration /setGoUntilTimeout 10000
releaseSw timeout duration /setReleaseSwTimeout 10000
Microstepping mode /setMicrostepMode STEP_FS_128
Current mode *STEP400 ONLY /setVoltageMode, /setCurrentMode FALSE
Slew rate - SR_980V_us
Electromagnetic brake enable /enableElectromagnetBrake FALSE
Brake transition duration /setBrakeTransitionDuration 100

Homing when the system starts

Proceed to homing movement soon after boot when this check box is checked.

Slew rate

Set the slew rate (steepness of rising) of motor control current from a motor driver in 6 steps for STEP400, 3 steps for STEP800.

Slew rate number STEP400 STEP800
0 114V/us 180V/us
1 220V/us 290V/us
2 400V/us 530V/us
3 520V/us -
4 790V/us -
5 980V/us -

Speed Profile

Parameter OSC command Default
Acceleration /setSpeedProfile 2000
Decceleration /setSpeedProfile 2000
Max speed /setSpeedProfile 620
Transit to fullstep threshold speed /setFullstepSpeed 15625

Voltage Mode

Parameter OSC command Default
KVAL_HOLD /setKval 16
KVAL_RUN /setKval 16
KVAL_ACC /setKval 16
KVAL_DEC /setKval 16
INT_SPEED /setBemfParam 1032
ST_SLP /setBemfParam 25
FN_SLP_ACC /setBemfParam 41
FN_SLP_DEC /setBemfParam 41
STALL_TH /setStallThreshold 31
lowSpeedOptimize /setLowSpeedOptimizeThreshold 20

Current Mode *STEP400 ONLY

Parameter OSC command Default
TVAL_HOLD /setTval 16
TVAL_RUN /setTval 16
TVAL_ACC /setTval 16
TVAL_DEC /setTval 16
T_FAST /setDecayModeParam 25
TON_MIN /setDecayModeParam 41
TOFF_MIN /setDecayModeParam 41

Servo Mode

Parameter OSC command Default
kP /setServoParam 0.06
kI /setServoParam 0
kD /setServoParam 0
Back to top