# Overview
The Simple Binary Communication Protocol (SBCP) is the main communication bus on the robot. For further information type this command in a linux terminal connected through ssh to the robot:
```lang=bash
$ man sbcp-config
```
Try to list all available bus on the robot:
```lang=bash
$ sudo sbcp-config -l
```
If there is no bus available, you maybe have to adjust the master ID in the config file:
```lang=bash
$ sudo sbcp-config --global --edit
```
# Checking for existing motorboards
Note: There are 3 device classes (as of now):
* ##0xea## for motor control boards
* ##0xeb## for power board
* ##0x00## for master communication board
```lang=bash
$ sudo sbcp-scanner -h
```
# Flashing the motor control boards
# Download MPLAB X IDE and MPLAB XC16 Compiler (install MPLAB X IDE first)
# Get the sbcp-uc sources from [[https://c4science.ch/source/sbcp-uc | here]], and use MPLAB IDE to build this project
# Get the motordriver firmware from [[https://c4science.ch/source/oncilla-motordriver-fw | here]], use MPLAB IDE to build this project
# Use a microcontroller programmer, and connect to a motorboard's programmer socket
# Program the motor board. You will get a default motorboard ID (as of now it is 0x42).
# Use ##oncilla-motor-reader## program to check the id of the motordriver board and ##sbcp-id-modifier## program to change the motorboard ID.
Note: It is a good idea to connect the motorboards to the master communication board one-by-one and modify the ids so a left-fore, right-fore, left-hind, right-hind order is kept.