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


Ultra Sonic PIC Ranging System

The USPR-1 is the latest in the ARM range of products. It's design enables simple implementation with existing products from Al's Robotics. USPR-1 provides a reliable and independent ranging system that can give a calibrated output of distance for your robotics project. Using the USPR-1 enables you to have a highly intelligent looking robot that has the ability to avoid objects when used correctly with the USPR-1. It also offers the ability to be connected to a power supply between 9 and 15 Volts.

Serial setup

The USPR-1 is a standard serial device and can be communicated with from any other standard serial device like computers, Basic Stamps, OOPICs and so on. The following is a list of parameters that your serial device should be set to in order for communications with USPR-1:

Baud Rate = 9600, 8 Data Bits, No Parity, 1 Stop Bit

there are plans to have a user selectable baud rate in motion at the current time, but as of yet are not in production. Please contact Al's Robotics for further information and updates.



USPR-1 £40 each


USPR-1 £70 for two

plus P&P at £2.95



USPR-1 data sheet

Program code (decimal)
Controller numbers
Start Ultra Sonic ranging
Controller number verify
Controller number Reprogram
Not used for this device
No object found (time out)
Not used for this device
Not used for this device
Not used for this device
Variable distance reading (this is a serial output)


Controller Numbers:

Command numbers from 200 to 220 are used as identification numbers so each controller can have a unique number that it and only it will respond too.

Start Ultra Sonic ranging:

Sending the command 248 to a USPR-1 ranging system will set the USPR-1 in motion to find the first distance reading. The result of the reading will then be serially transmitted back. If there is no object sensed within roughly 1 Meter of the USPR-1 then it does a time out and instead of sending the variable distance read out it will serially send 252.

Controller number verify:

Sending the command 249 to a USPR-1 ranging system will enable you to find out what the controller number of the device is, which is handy if you ever forget what it is.

No object found (time out):

If you receive the command 252 it means that when you asked the USPR-1 to start range finding it found nothing and ended up doing a time out, so this command just lets you know that there is nothing in front of the USPR-1 for roughly 1 Meter.

Not used for this device:

These are commands that have been allocated for future use or are used on other ARM device, sending these commands to a USPR-1 ranging system will do nothing.

Command sequence and examples:

The order in which these commands are sent to the USPR-1 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. Commence range check
  3. Range reading output

Below is an example for a USPR-1 with a controller number of 200, command 248 tells the USPR-1 to start a range reading and the last value of 35 is the variable output of the range.

Serial send the decimal value "200"

Serial send the decimal value "248"

Serial send the decimal value "35"


Serial settings:

The USPR-1 speed controller comes set by default to the following settings:

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

The Baud Rate at which the USPR-1 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 USPR-1 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 USPR-1 is set into Baud reprogram mode that you only send one of the above numbers, otherwise you will not be able to communicate with USPR-1. If at boot time the USPR-1 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 USPR-1 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 USPR-1 that is decimal “255”

Restart the USPR-1 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 to:







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