Skip to content

Stepmotor Module with MEGA328P (DRV8825)


STEPMOTOR is used for stepper motor control. It is perfect for any motion project as it can drive up to 3 Stepper motors with GRBL control.

It is built with MEGA328P has been flashed GRBL firmware. The module comunicates with M5Core via I2C(0x70)

Integrated 3 DRV8825, a simple but very powerful board that can control one bipolar stepper motor at the time and allows micro stepping up to 1/32 of a step.

Product Features

  • 9-24V Power Input
  • 3-way stepper motors (X, Y, Z)

Kit includes

  • 1x Step Motor Module
  • 12V Power (Optional)
  • 1x 5V FAN Module for heat dissipation (Optional)


  • DIY 3D Printer
  • Simple Robot Arm




1. Arduino IDE

The code below is incomplete. TO get complete code, please click here.

/*     If Button A was pressed,     stepmotor will rotate back and forth at a time */  #include <M5Stack.h> #include <Wire.h>  #define STEPMOTOR_I2C_ADDR 0x70  // initialization M5.begin(); Wire.begin();  // Controlling Protocol: //  G<n> X<distance>Y<distance>Z<distance> F<speed> SendCommand(STEPMOTOR_I2C_ADDR, "G1 X20Y20Z20 F500"); SendCommand(STEPMOTOR_I2C_ADDR, "G1 X0Y0Z0 F400");  // Get Data from Module. Wire.requestFrom(STEPMOTOR_I2C_ADDR, 1); if (Wire.available() > 0) {   int u =;   if (u != 0) Serial.write(u); }  // Send Data to Module. while (Serial.available() > 0) {   int inByte =;   SendByte(STEPMOTOR_I2C_ADDR, inByte); } 

2. UIFlow

Wanna explore the easiest way of Servo programming?? Check out the Blockly Platform at UIFlow.

To get complete code, please click here.


More information


The Stepmotor Module with MEGA328P (DRV8825) appears in the following collections:

SKU M5-M012