Stepper driver with PIC12F629/675


0. Note

In this page you will find the files related to my article, from my blog (see the old_files.tar.gz archive at the end of

the page, at Attachments)

1. Forewords

Finally, I restarted the work at my stepper driver. I wanted to have some protection for microcontroller and mosfets, and the possibility to mount a cooling radiator for mostfets just in case they get hot. I removed the 5V regulator and the board will be powered with 5V and the power source for motors.

Board features:

- Power LED;

- Polarity reversion protection;

- Filter capacitor on microcontroller;

- Back emf mosfet protection;

- Pull Up/Down resistors on signal traces, selectable with a jumper;

- All connections with screw driver pcb connectors;

- Mounting holes.

2. Board schematic and pcb

For the schematic, download unipolarStepper.pdf from Attachments.

For pcb design, download unipolarStepper-toner.pdf (for toner transfer) and unipolarStepper-photo.pdf (photo method) files from Attachments. For printing the pcb, A4 paper format is used.

You set the resistors as Pull-UP if your step is active on falling edge and set resistors as Pull-Down if your step is active on rising edge.

3. Firmware

For the firmware, you can use the old files but, we have new tools to play with. Specially, Pic Micro Pascal of Philippe Paternotte, Oshonsoft Basic of Vladimir Soso and cpik of Alain Gibaud. Of course, the compilers used to create the first firmware are at a new version...


At the initialization (power up), microcontroller will read the signal pins and will decide on which edge is the active step (up and down) - it depends on pull-up/down resistors. Anyway, the firmware can't be set at runtime to work with half or full steps due to limited number of pins. It must be decided at burning stage.