RockBot System

Advanced USB Interface

Getting Started

This board is basically the getting started of the whole project. It allows the computer to control 28 input/output pins through the USB port. When connected to a decent computer it can do up to 1000 operations per second meaning each command takes 1 ms to execute.

The board is able to update itself via the computer so if the on-chip code ever changes the board will not become obsolete.

This board will not be available as a kit and there will be no guide to make it from scratch as the wiring is tedious and the on-chip code will no be released as it has been a very expensive board to devlop due to needing PIC development tools and etching equipment.

At a later date an SDK/DLL will be available for writing custom software for the board.

Where to get it

The shop. Fully assembled USB boards are available for £17.50.

How does it work

The board utilises a Microchip PIC Chip which supports USB 2.0 communications. It excanges reports with the computer which determin which pins are inputs or outputs, and the data to be send or being received from them.

Connectivity and Usage Overview


Pin Function
PORTA.1 I/O Pin
PORTA.2 I/O Pin
PORTA.3 I/O Pin
PORTA.4 I/O Pin
PORTA.5 I/O Pin
PORTA.6 I/O Pin
PORTA.7 I/O Pin
PORTA.8 I/O Pin
PORTA.9 I/O Pin
PORTA.10 I/O Pin
PORTA.11 I/O Pin
PORTA.12 I/O Pin
PORTA.13 I/O Pin
PORTA.14 I/O Pin
PORTA.15 I/O Pin
PORTA.16 I/O Pin
PORTA.17 N/C
PORTA.18 N/C
PORTA.19 +5 Volts
PORTA.20 Ground
PORTB.1 I/O Pin
PORTB.2 I/O Pin
PORTB.3 I/O Pin
PORTB.4 I/O Pin
PORTB.5 I/O Pin
PORTB.6 I/O Pin
PORTB.7 I/O Pin
PORTB.8 I/O Pin
PORTB.9 I/O Pin
PORTB.10 I/O Pin
PORTB.11 I/O Pin
PORTB.12 I/O Pin
PORTB.13 N/C
PORTB.14 N/C
PORTB.15 N/C
PORTB.16 N/C
PORTB.17 N/C
PORTB.18 N/C
PORTB.19 +5 Volts
PORTB.20 Ground


The pins all have a number 1-28 when being controlled by the software, however to etch the board they are connected for wiring convenience in a less logical order. A bit map is specified telling the controlling software which pin should be referenced when activating pin 1, 2 etc. If you make you own distribution board you may have to set a bit map, but they are easy to do using the rockbot software.

Why its a bit complicated

Imagine wiring this by hand on a proto board:


It ends up taking ages and looking like this:


Copyright © Paul Ridgway 2009 | Pictures by Amanda Taylor | HTML Layout & Base code by James Ridgway