Al's Robotics....



Site Index
Site Index

Robotics Shop

Rambo Auto Tools

Robux Project





Robotics Events


My Robots

Linux Computing
Reading Books

PIC Micro


Latest News

new information added to the Robux Project Pages click here for more info

QDL_SR1 Speed controller


The QDL_SR1 is a highly capable speed controller boasting both control via a standard serial port, Radio control PWM and optional 12C.
The QDL_SR1 achieves a current handling of 10 Amps continuously, this is from the use of a 10 Amp relay and a 24 Amp MOSFET. Combined with the power output stage of this speed controller is the use of a MCU (mini computer) that controls the speed of your motor through the use of high frequency PWM, this provides a very smooth and fine motor control. Using the speed controller in serial mode, it's possible to control the QDL_SR1 from a multitude of devices such as your PC, Basic Stamp 1 and 2, PIC and loads more. The QDL_SR1 could even be combined with a serial Modem so you can link your robot to your PC wirelessly. There is also a Windows PC program that is freely available to control the QDL_SR1 speed controller that enables easy setup of the configuration data, this can be downloaded from this web site(see further down the page for details). The QDL_SR1 speed controller can operate on voltages from 10 to 14 volts. It's best combined with a 12 Volt lead acid battery for optimum performance.

It should also be noted that we can provide customised versions of this speed controller. We have been asked in the past to modify the speed controller for:

Jumbo servo, using a wiper motor for the motor
Motor control with speed feedback
Invalid mobility carriage controller
Up rated current capacity


  • Serial control
  • RC PWM control
  • 10 Amp continuous drive
  • High frequency PWM motor drive
  • Easy to use
  • Stackable, more then one can be put on a serial port
  • Compact size
  • Designed for connection straight to a 12 Volt power source


The QDL_SR1 PC control software

This software has been designed to allow easy control of your QDL_SR1 speed controller from a Windows PC. This software is provided free and as such comes with no warranties what so ever. It is also possible to program new controller numbers from this software.

QDL_SR1 data sheet

Program code (decimal)
Sets 2400 Baud
Sets 4800 Baud
Set 9600 Baud
Baud Rate Reprogram
Controller Number Program
Not used as yet
Motor Forward Select
Motor Backward Select
Not used as yet
Variable speed set

Controller Number Program:

To reprogram the speed controller number simply send the decimal number 250 to the QDL_SR1 speed controller from any PC serial port using a terminal program. After sending this number you will be asked to assign a new controller number to the QDL_SR1 speed controller, you should then send a decimal number from 200 to 220. This number is what determines which speed controller the instructions are meant for i.e. 200, 201 or 202 and so on. A maximum of 20 (controller numbers from 200 to 220) QDL_SR1 speed controllers can be connected to one RS232 serial port.


Sending the decimal number 251 will stop ALL speed controllers that are connected to the serial port the instruction was directed too to stop all power output to your motors. Thus acting as an emergency stop button to stop your motors.

Not used as yet:

These are commands that have been allocated for future use, but as yet are not in use and sending these commands to a QDL_SR1 speed controller will do nothing.

Motor forward select:

decimal command 253 sets the QDL_SR1 speed controller for Forward motion (i.e. Your motor will go forwards)

Motor backward select:

Decimal command 254 sets the QDL_SR1 speed controller for Backward motion (i.e. Your motor will go backwards)

Variable speed set:

This decimal number from 0 to 90 sets that speed at which your motor will turn. If you send 0 your motor will not turn but if you send 90 your motor will turn as fast as it can in your chosen direction. And all numbers between these values will give you either a higher or lower speed.

Command sequence and examples:

The order in which these commands are sent to the QDL_SR1 speed controller is vital for proper operation. Below is the order in which you must send the codes from your RS232 serial source:

  1. Controller number
  2. Direction select
  3. Variable speed set

Below is an example for a motor going forwards at half speed (45) and a speed controller with the Controller Number of 200

Serial send the decimal value "200"

Serial send the decimal value "253"

Serial send the decimal value "45"

Wire connections

Wire Colour
Connect to.
Positive supply, +12 Volts
Negative supply. -. ground, 0 Volts
Motor connection 1
Motor connection 2

Above is a diagram of the controller board. It is possible to take the RS232 data to and from the board direct instead of using the provided serial connector. To do this first locate the serial header connection block as shown in the above diagram, it will be just behind the serial connector and consists of 3 pins.

Pin 1
This is the TX pin that should be connected to your RX pin on your computer.
Pin 2
This is the Ground (GND) pin and should be connected to the same pin on your computer.
Pin 3
This is the RX pin and should be connected to the TX pin on your computer.

Speed controller serial settings:

The QDL_SR1 speed controller comes set by default to the following settings:

  • 9600 Baud Rate (can be reprogrammed)
  • 8 Data Bits
  • Parity None
  • 1 Stop Bit
  • No Flow Control

The Baud Rate at which the
QDL_SR1 speed controller communicates may be changed to one of three settings, 2400 Baud, 4800 Baud and 9600 Baud.
Setting the Baud is a very simple task and is very fail safe. Simply send the decimal number 240, this sets the
QDL_SR1 speed controller into reprogram mode, you can then send the following decimal number to set the Baud Rate: 24 for 2400 Baud, 48 for 4800 Baud and 96 for 9600 Baud.
It is important that once the
QDL_SR1 is set into Baud reprogram mode that you only send one of the above numbers, otherwise you will not be able to communicate with QDL_SR1. If at boot time the QDL_SR1 detects that an invalid Baud rate setting has been programmed into it, it will default back to 9600.

After you have finished reprogramming Baud Rate setting you must restart the QDL_SR1 speed controller by removing all power to the board. At the next boot time your new Baud Rate will be implemented.

Example of reprogramming the Baud to 4800:

Serial send the decimal number “240” this sets Baud reprogram mode
Serial send the decimal number “48” this sets the new Baud speed
You will then receive a confirmation from the
QDL_SR1 that is decimal “255”

Restart the QDL_SR1 by removing all power, reconnect power after a few seconds and your new Baud Rate settings will be implemented.

For further information and how to order please send an e-mail.








Web pages built and by A R Martin E-mail at:


Home-page Robots Tutorials Links E-mail Circuits Events BEAM PIC Microchip Robotics Shop Computers FMM-RobotWars Sponsors Suggested reading Ebay Listings Serial Speed Controllers MicroMouse Walkers Driller-Killer Laptops Excaliber Robot Retox Drill Robot Robot motors Robot Builder Google Robux Project gorobotics Robot Cafe Robotics Solar Navigator PIC Axe Tech Supplies MUTR GSM Control Home Automation RC tracker Qtronics Design - Electronics & Firmware Design Artist R C Martin

HP 7210 Right Cartridge Error