28BYJ-48 stepper with WeAct Black Pill STM32F411CE

Wiring for the 28BYJ-48 stepper + ULN2003 driver on the WeAct Black Pill STM32F411CE (STM32F411CE, 3.3 V logic), chosen with the same pin rules BoardPilot uses: default buses first, and no pins that are used for flash, USB, the debugger or booting.

Wiring

28BYJ-48 stepper pinRoleWeAct Black Pill STM32F411CE pinNotes
IN1Input to the partB12 (PB12)
IN2Input to the partB13 (PB13)
IN3Input to the partB14 (PB14)
IN4Input to the partB15 (PB15)
-GroundG
+Power5VMotor supply 5 V: use 5V (about 240 mA)

Check before you power it on

Test code (Arduino)

// Library: Stepper (built in)
#include <Stepper.h>

// 2048 steps per turn; note the IN1, IN3, IN2, IN4 order for this motor
Stepper motor(2048, PB12, PB14, PB13, PB15);

void setup() {
  motor.setSpeed(10);  // rpm
}

void loop() {
  motor.step(2048);   // one turn
  delay(500);
  motor.step(-2048);  // and back
  delay(500);
}

Arduino board: STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE,usb=CDCgen,upload_method=dfuMethod. To upload over USB, hold BOOT0, press and release NRST, then release BOOT0 (DFU mode). An ST-LINK on the SWD pins also works.

Questions

Which WeAct Black Pill STM32F411CE pins do I use for the 28BYJ-48 stepper?

IN1 → B12 (PB12), IN2 → B13 (PB13), IN3 → B14 (PB14), IN4 → B15 (PB15), - → G, + → 5V.

Does the 28BYJ-48 stepper work with the WeAct Black Pill STM32F411CE at 3.3 V?

Yes: the 28BYJ-48 stepper runs at 5 V and the WeAct Black Pill STM32F411CE uses 3.3 V signals, so no level shifting is needed.

BoardPilot checks this wiring in 3D as you build it, and finds crossed or missing wires on the real board.

Download BoardPilot

Full WeAct Black Pill STM32F411CE pinout · 28BYJ-48 stepper + ULN2003 driver: all pins and data

The 28BYJ-48 stepper on other boards

Other parts on the WeAct Black Pill STM32F411CE