HUB-ee BMD-S Electronics

  • strict warning: Non-static method view::load() should not be called statically in /home/bigge1973/webapps/cr1/sites/all/modules/views/views.module on line 906.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/bigge1973/webapps/cr1/sites/all/modules/views/handlers/ on line 607.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/bigge1973/webapps/cr1/sites/all/modules/views/handlers/ on line 607.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /home/bigge1973/webapps/cr1/sites/all/modules/views/handlers/ on line 159.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/bigge1973/webapps/cr1/sites/all/modules/views/plugins/ on line 134.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/bigge1973/webapps/cr1/sites/all/modules/views/plugins/ on line 134.
  • 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 - Absolute Maximum Ratings

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

Please note that the operating voltage limit is for the motor driver IC. The motors themselves have a nominal voltage of 7V and driving them at higher votages will significantly reduce their lifepan.

Gear Motor details:

We use motors nearly identical to this range from Pololu.
There are three options used in the wheels:

  • 20:1 standard – 950mA stall current
  • 20:1 High Power -1200mA stall current
  • 30:1 standard – 950mA stall current

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