
msmd4 © JDP’2004 MIDI Gadgets Boutique 1
msmd4 MIDI-to-Stepper Motor decoder
* user’s guide *
1. Purpose
msmd4 MIDI–to-Stepper Motor decoder unit is intended for
controlling small unipolar 4-phase stepper-motors via MIDI
messages. The unit responds to MIDI Controller (a.k.a. CC –
Control Change) message, selected by user between 16 possible
CC messages. The list of supported CC messages is defined by
user on ordering. Otherwise, the Controllers 0-15 will be used.
The unit responds only to selected CC message received on user-
selected MIDI channel, ignoring the other MIDI messages on the
same MIDI channel as well as all channel messages for other
MIDI channels, also Realtime and SysEx messages. The MIDI-thru
output allows multiple units to be cascadded on the same MIDI
line, without using additional MIDI split units.
2. Brief schematic description.
The unit is based on pre-programmed single-chip micro
controller PIC16F628 by Microchip. The outputs are buffered
using output Darlington driver array ULN2803, capable to drive
loads at max.50V and max.500 mA. This way, wide range of
stepper motors can be attached and driven by unit. The MIDI
input is opto-insulated, according requirements of MIDI
standard. There is diode bridge and voltage regulator on board,
which allow the unit to be supplied with either AC or DC
voltage in range 7-12 Volts (12V recommended). There is 8-bit
jumperset for selecting MIDI channel and CC message to respond
to. In other words, the unit can be set to one of 16 user-pre-
defined CC messages received on any of 16 MIDI channels. The
rightmost (by picture) 4 jumpers are used for selecting MIDI
channel on which the unit should receive MIDI messages,
according Table 1. As well, the leftmost 4 jumpers are intended
for selecting the CC message to respond to.
There is 2-pin header on board, intended for wiring the
so-called end switch. The end switch may be normally open or
normally closed (depending on request). It signals the
controller that the motor has reached its Min (initial
position). The end switch may be electromechanical or
electronic (opto-coupler).
There are 4 buttons on board: Reset, Fwd, Bwd and Mem
button. Reset button is used to reset the unit, thus forcing
the motor to rewind back to the start position. The Fwd and Bwd
buttons are used for moving the motor’s rotor forth and back.