[VIDEO] STEP-series OSC and Programming Environments

Why OSC Protocol?

Many communication-capable stepper motor drivers use industrial Ethernet. Standards such as PROFINET®, EtherNet/IP®, EtherCAT®, Sercos III and POWERLINK®, for example, are used to control them with the corresponding software.

In contrast, STEP400/800 communicates using the Open Sound Control (OSC) protocol, implemented with standard Ethernet. What software can we use with this? Because OSC is a simple specification, it can be controlled by almost any programming environment that can handle networking. Node.js and Python, for example, have libraries that handle OSC.

Here I'd like to show you some of the languages we've used in the project, as well as some actual demo videos from beta testers.

Coding Environments


Max, (or Max/MSP/Jitter), is a visual programming environment for audio and multimedia. Max has a built-in function to send and receive OSC from the beginning. I myself usually use Max for testing STEP400 during development.


Max example patch is available from here.
Max is a commercial software, but there is an open source version called PureData that basically has the same system. 


openFrameworks, aka oF, is an open source toolkit written in C++. I'm a fan of Zachary Lieberman, one of the authors. oF runs on a variety of environments including Windows, Mac and Linux. Next to Max, oF has been the most popular toolkit used in STEP400 projects so far. Here's an example of how to run STEP400 with oF.

This very complicated demo video was created by one of our beta testers, Mitsuru Tokisato. Mitsuru does R&D at Yamaguchi Center for Arts and Media, a large new media art center, and at the same time is an artist who creates works that synchronize images and reality (he is also a curing tape fanatic). This video shows a real object moving in sync with pre-recorded video, using an oF patch running on a Raspberry Pi that is playing back the video and sending messages to STEP400 at the same time.


Unity, which is also a well-known game engine, is another environment that is often used in real projects. It supports a huge number of operating environments and is the most commonly seen environment in the field. In the campaign video, it is featured in a scene where it sends an OSC message. You can find the project file we used in it here


TouchDesigner seems to be opening up a new scene in visual programming, with its stability and video-focused performance. I have not used it myself in a project, but one of beta testers, Hitsuji, made a beautiful demo of it.

Hitsuji is an artist who works with stoic elements, while also working on hardcore hardware projects at backspacetokyo. This is a coincidence, but for unknown reasons he also uses curing tape. Mitsuru and Hitsuji were classmates in college, so it's possible that this may have affected them in some invisible ways.


These applications were tested by Mitsuru. Both of them seem to be commonly used in performances or installations that have a solid timeline.





Back to top