HUB-ee BMD-S Electronics

  • Datasheet (PDF)
  • BMD-S (Basic motor driver with sensors) PCB Schematic - V1.3
  • BMD-S (Basic motor driver with sensors) PCB Schematic - V1.4 This version has an updated silkscreen and a different voltage regulator.
  • BMD-S PCB design files (Coming Soon)
  • Toshiba TB6593FNG Motor Driver (PDF)

And don't forget to look at:

Version Identification

With the Mk 1.4 PCB we updated the silkscreen to include a way of marking each one during assembly so that you can identify the gear ratio and thread type. If you look at the part of the PCB that is visible next to the connector you will see a strip of boxes labelled A, B, C, D, I and M - A black dot in either the I or M boxes indicates Imperial or Metric threads, and the other boxes identify the gear ratio:
A == 120:1
B == 180:1
C and D are reserved for future use.

Electrical Specifications

Operating voltage: 3.5-13.5V
Logic inputs: 3.3-5V
Sensor Outputs: 3.3V

The sensor outputs are protected by 1k resistors. All inputs are 5V tolerant.

The motor will work down to 2.5V but operating it below the specified 3.5V level will prevent the sensors from working properly.

The circuit is NOT protected against reverse polarity - if you connect the power supply the wrong way round you may damage the board.

Controlling your BMD-S wheel

The picture below illustrates what signals you need to send in order to turn the wheel – as a basic rule, send a PWM signal to the PWM pin (kinda obvious) then use the IN1 and IN2 pins to control direction – pull one high and the other low to move in one direction, reverse them for the other. The brake mode (when both IN1 and IN2 are high) will short circuit the motor coils, forcing the wheel to stop quickly and resist movement. The Stop – No Brake mode disconnects the motor and allows it to free-wheel a little.

BMDS wiring diagram

Wheel Performance (these are approximate)

Wheel Performance


  • Sensor resolution: 128 pulse /revolution (32 stripe reflective sensor)
  • Sensor outputs: Quadrature phase A and B (3.3v logic output via 1k resistors)

What the sensors do

The wheel has a pair of reflective optical sensors that shine on a code disk in the outer rim of the wheel. Called a Quadrature Encoder, these sensors pick up the black and white alternating pattern of the code disk as the wheel turns and convert it into electrical pulses. Because of the positions of the sensors relative to the black and white stripes the two electrical outputs will produce pulses in a particular pattern that depends on the direction of the wheel – To cut a long story short, you can use a microcontroller to read the direction and speed of the wheel, and with a bit of clever control theory (A PID control loop) you can exercise some fairly precise control how fast the wheel is moving along with keeping track of how far the wheel has moved.

For more information on Quadrature encoders and PID control, start with these Wikipedia pages:

Forum Submit