Problem Statement & Decomposition

The Problem:

Stepper motors, though common and cheap, come with a learning curve. This is especially true for the 28BYJ-48 unipolar stepper, which is widely available and very affordable, but not very beginner-friendly when it comes to wiring, sequencing, and control logic.

To add to the difficulty:

Decomposing the Need:

From a design perspective, the challenge can be broken down into a few key problems:

  1. Ease of Use: Users shouldn't have to understand H-bridges, pulse sequences, or lookup tables.

  2. Configurable Motion: The system should support both continuous and oscillating motion, ideally with live tuning.

  3. Standalone Control: Motion should be easily initiated and adjusted without a PC or development board.

  4. Scalability: Multiple motors should be able to run in sync, and optionally be triggered by external events or sensors.

  5. Compact and Drop-in Friendly: The hardware should be compact, self-contained, and easy to integrate into small spaces or enclosures.

This decomposition became the guiding framework for the final design — from microcontroller choice to UI and feature set.

Project Idea & Features

The Unipolar Stepper Motor Controller is a 43mm x 32mm PCB that houses a CH32V003 microcontroller, driver circuitry, a rotary encoder for real-time control, and an intuitive interface that supports both manual and automated motor control. While it is optimized for the 28BYJ-48 stepper motor, it works with any unipolar stepper.

Here’s what makes it special:

🔧 1. Built Around the CH32V003 MCU

At the heart of the controller is the CH32V003, a rising star in the ultra-low-cost microcontroller world. Despite its small price tag and footprint, it offers:

Using CH32V003 also makes this project replicable and modifiable by other hardware hackers without resorting to high-cost components.

🎛 2. Rotary Encoder as a Natural UI

The controller includes a rotary encoder, which acts as a human-friendly interface for all key operations:

It’s a small addition, but it turns the product into a plug-and-play device rather than a development kit.

🔁 3. Continuous and Arc Modes

There are two main modes for using the motor:

🧩 4. I2C Daisy Chain Support

Want multiple motors working in sync or responding to a central controller like a Raspberry Pi, ESP32, or another CH32 board?

The onboard I2C interface allows multiple controller boards to be daisy-chained. This supports master-slave configuration, enabling advanced behaviors like:

Each board has a unique I2C address (configurable in firmware), ensuring scalability.

⚙️ 5. Trigger Input for Sensor Activation

There’s also a Trigger Input, which can be connected to external buttons, sensors, or other digital systems. When activated, it can:

It’s a simple way to bring reactivity into mechanical design.

🧼 6. Erase and Reconfigure

An onboard erase button allows users to wipe configurations and start fresh. This is essential for iterative design, experimentation, and classroom settings where motors are repurposed across projects.

💡 Why This Project Exists

As mentioned earlier, this project was developed in response to the teaching and prototyping bottlenecks I encountered during a design school STEM program. Students loved integrating motion into their ideas — opening doors, rotating masks, animating props — but the technical overhead always got in the way.

This board removes those barriers. It enables:

Beyond education, the controller is a perfect fit for my other passion — mechanism design using linkage systems, inspired by tools like motiongen.io. These designs often need precise rotary input with predictable behavior. The ability to configure ARC boundaries or use synchronized motion makes this board ideal for bringing digital life to mechanical linkages.

Conclusion

This isn’t just a stepper controller. It’s a creative tool. One that speaks to artists, tinkerers, educators, and designers who want movement without the math, rotation without the headache, and interaction without programming.

Whether you’re prototyping an interactive art piece, animating a robotic puppet, or teaching students the fundamentals of motion, this board helps you get moving faster.

Stay tuned on Hackaday.io for schematics, firmware, usage videos, and STL files for mounting brackets and enclosures!