STEP400 is a stepper motor driver board capable of controlling up to 4 axes. STEP400 elegantly combines all the necessary functions, from communication to motor control, into a simple and complete package. STEP400 uses Open Sound Control (OSC), which based on standard Ethernet rather than a specialized industrial protocols, to achieve ease of use while ensuring that it is reliable enough for use in art, design, or any other creative applications. STEP400 can be easily controlled by creative coding environments such as openFrameworks, Processing, Max, Unity, or Touch Designer. STEP400 is compatible with Arduino so you can drive motors with your own code, too.
STEP400 comes out of a number of projects we have done with stepper motors. We initially built the system using a combination of DIY modules, but as the system scaled up, the wiring became chaotic, causing all sorts of problems due to the unstable connections between modules and the length of the digital signal path.
After some struggles while working on projects, we realized that we should design a dedicated driver board that would put together everything we needed. Prototypes of STEP400 were created for our own purpose and have been used, tested and validated in a wide variety of real-world projects.
Here are some examples of projects created with prototype versions of this board:
The standard way of controlling stepper motors is with industrial Ethernet, which lacks compatibility with general network devices as well as open specification. This makes it more time-consuming than necessary to use it for any purpose other than factory automation.
Since STEP400 is a stepper motor driver designed specifically for creative applications, it uses the simple and easy-to-use OSC protocol to solve this issue. Open Sound Control (OSC) is an open-ended, dynamic, UDP-based protocol with a URL-style symbolic naming scheme . It is widely used in the field of electronic music and new media art.
Control of STEP400 involves Arduino Zero and Ethernet shield elements. You are free to decide how to control it. For instance, you could rewrite the Arduino sketch to be controlled by Artnet or WebSocket, or by basic USB serial data.
Refer this update for demo videos of OSC control from several programing environments.
An optional control board for stepper motors with an electromagnetic brake is available. It is easy to connect to the main board. An electromagnetic brake is only unlocked when the power is energized, so it can safely hold the load when the system shuts down or the power supply is unexpectedly cut off. To use this board, a motor with an electromagnetic brake is required and is not included.
The homing and limiting sensor connectors are JST XA. This style of connection is handy, readily available, and easy to attach, detach, and extend.
It is, however, necessary to crimp the terminals to the cable if you are making this connector at home. Crimping the terminals requires a bit of experience and some tools, which can be a hurdle for smaller projects. Because of this we are providing a cable with a connector crimped on one end as an add-on option. The other end of the cable is cut off and can be used to solder any sensor or switch.
|1||MCU, ATSAMD21G18A, Works as Arduino Zero.|
|2||USB type-C for the USB connection of the MCU and logic power supply.|
|3||Ethernet controller W5500. Compatible with the Arduino Ethernet Library.|
|4||RJ45 connector with magnetics for Ethernet connection.|
|5||microSD card slot. A JSON configuratin file can be loaded from here.|
|6||HOME sensor or switch input with 5V power output. JST XA (B03B-XASK-1)|
|7||LIMIT sensor or switch input with 5V power output. JST XA (B03B-XASK-1)|
|8||3.81mm pitch Euro style pluggable terminal block for bi-polar stepper motor.|
|9||Stepper driver chip, STMicroelectronics PowerSTEP01.|
|10||16MHz crystal oscillator to synchronize all driver’s clock.|
|11||5V to 3.3V LDO|
|12||Step down buck converter. Input range : 12V to 75V, output 5V. ROHM BD9G341AEFJ|
|13||P-MOSFET for reverse polarity protection.|
|14||Power input screw terminal, 3mm screw. Input voltage range : 12-72V|
|15||DC jack, 5.5mm/2.1mm, center positive. Connected in parallel with #14.|
|16||DIP switch to set ID.|
|17||SWD connector to program SAMD chip.|
|18||A box header for the add-on brake board, or for general I/O purposes.|
Each STEP400 board will come with four motor connectors.
|STEP400||SlushEngine Model D||WiFi Stepper|
|Number of axis||4||7||1|
|Motor Driver||PowerSTEP01||L6480 x3, L6470 x4||PowerSTEP01|
|Output Current||5A||20A for L6480||10A|
|Develop Environment||Arduino||Raspberry Pi||Arduino|
|Sensor Input||Home, Limit||Home||Home|
We originally developed a board to control eight small stepper motors. STEP400 was based on this design with a goal to control fewer, yet larger, motors. With this project, we aim to deliver a production version based on our current prototype. The original board that controls the eight motors will continue to be developed as a separate model called STEP800.