# Introduction The 640 board is used to drive up to 6 DC motors and 2 Servo motors. ## Getting started ## Board layout ## Setup ### Attaching the power ### Attaching a Servo ### Attaching a motor ### Attaching an RC receiver # Programming the 640 ## Python ### Introduction The Python libraries for the 640 board and some example scripts are available via our GitHub repository. To install them open a terminal window on your Raspberry Pi (unless you are running with only the command line) and enter the following: ``` bash $ git clone https://github.com/darkwaterfoundation/darkwater_python_640.git ``` ### Example scripts Now that you have downloaded the 640 libraries you should have a new directory called *darkwater_python_640, so let's move into that directory ``` bash $ cd ./darkwater_python_640 ``` If you list the files in this directory, you should see a few test scripts ``` bash $ ls -al ``` #### 640motortest.py This script will start each motor port, in the forwards direction, in turn from left to right and then do the same backwards. To run the script enter the following: ``` bash $ python 640motortest.py ``` **640servotest.py** This script will move any servos connected to the servo headers left, then center, then right. To run the script enter the following: ``` bash $ python 640servotest.py ``` **640steppertest.py** This script divides the 6 motor ports into 3 stepper motor ports. Motor 1 and 2 will be stepper 1, motor 3 and 4 will be stepper 2 and motor 5 and 6 will be stepper 3. Each stepper will be moved forwards and backwards through 200 steps when the test script is run: ``` bash $ python 640steppertest.py ``` ### Import libraries Now you know everything works, it's time to write your own scripts. So create a new python script in your editor, within the *darkwater_python_640* directory with a memorable name and add the following lines to import our libraries: ``` python import time from darkwater_640.darkwater_640 import dw_Controller, dw_Motor ``` ### Drive a motor ### Motor speed ### Servo control ## Node.JS ### Introduction ### Import libraries ### Drive a motor ### Motor speed ### Servo control ## C++ ### Introduction ### Install prerequisites ### Drive a motor ### Motor speed ### Servo control ### PPM integration ## Expanding the board ### Adding an expansion board