Get the materials

Arduino Zero or M0

Currently, STEP100/200 firmware is compatible with:

Arduino Zero/M0 are out of stock at the official site but you can find compatible products at online shops like Ali Express.

Arduino Zero or M0?

These two models have been separated into different models due to the time when Arduino was divided into two, but they are almost identical and can be used with either. However, there are some differences, so you need to select the corresponding model name when compiling and uploading the sketch.

In terms of hardware, the D2 and D4 pins are swapped between the two models. Confusingly, some compatible products may have the Arduino Zero bootloader written into the Arduino M0 equivalent hardware. Even if the board is recognized as an Arduino Zero, it is safer to actually upload a sketch to blink D2 to see if D2 or D4 flashes.

If you met these kind of boards, delete the comment out // in the following line near line 32 of boardsDef.h and compile it when you upload the firmware.


Another Arduino models

The SPI pins of the X-Nucleo series used in STEP100/200 don't communicate with SPI connectors, but D11, D12, and D13. In Arduino Zero/M0, SPI functions are assigned to these pins. These pins are also used as SPI pins in the Arduino UNO, so it can control X-Nucleos, but UNO cannot run the STEP series firmware because of its small RAM and Flash size.

In Leonardo and MEGA, SPI functions are not assigned to D11-D13, so they cannot be used.

Ethernet Shield

The firmware has been tested with Arduino Ethernet Shield2 based on Wiznet W5500. This one is also out of stock at the official store, but is available at major distributors (Mouser, Digikey, RS etc.). There are also many compatible products of older Ethernet shield based on W5100 in Ali Express, but they didn't work for STEP100(X-NUCLEO-IHM03A1). Worked for STEP200(X-NUCLEO-IHM02A1).


These types won't work because you cannot put more shields on top of them. Arduino and Ethernet shield are communicate via the 6 pins SPI connector, but it doesn't exist on X-Nucleos. Therefore, you should always put the Ethernet shield on top of the Arduino, and then put the X-Nucleo series on top of them.


These are evaluation boards released form STMicroelectronics. Available from major distributors as well.

Model X-Nucleo Driver Mouser Digikey RS Chip1stop
STEP100 X-NUCLEO-IHM03A1 PowerSTEP01 link link link link
STEP200 X-NUCLEO-IHM02A1 L6470 link link link link

Power Supply

According datasheets of the X-Nucleo, the voltages of motor power supply are;

  • IHM03A1(PowerSTEP01): 10.5V-50V
  • IHM02A1(L6470): 8V-45V

In the meantime, it would be a good idea to prepare a power supply of about 24V 4-5A for both and start experimenting. Please refer to the selection of power supply and motor.

The X-Nucleo has a screw terminal, so a DC jack cable is useful if you want to supply the power with an AC adapter. file

The motor power supply does not supply power to the Arduino, so you need a power supply for the Arduino as well, which can be supplied from a PC or USB charger via USB.

Back to top