Arduino to Pololu High-Power Motor Driver 18v15 Control

Good day

I have successfully connected my Arduino to my Pololu High-Power Motor Driver 18v15, and I tested it with Firmata VB, and it works lik a charm, only problem is that i would like to have some level of automation on my robot, and at the moment I can only drive my two motors manualy with the Firmata VB Software ( I do not know where to start to get my sensors working with my arduino, I know how to connect my sensors to the arduino, the only problem is I do not know if It is possible to edit the Old Standard Firmata scetch to interface with arduino, or do I change the Firmata VB Source code.
My goal is to click a single button on my edited Firmata VB Control panel to disengage the manual controls, and put my arduino into an automated state like any other simple obstacle avoidane robot, with 4X Ping Sensors (2 in front & 2 at the back for obstacle avoidance) 1X LDR or Light Sensor (to go to the brightest light source when battery levels fall below 7V) & 1X Voltage sensor (to sense when my battery level falls from 12v to 7V and then drive to the brightest light source to charge via a solar panel).
Any input on this topic will be appreciated.

Riaan Deyzel

Good day

Is there anybody out there with good hardware programming skills (Arduino Deumilanove), because i need an app exactly like this, but in english, and with tilt support, current version only pans left to right, and i need up & down as well.
and pins 9 for pan & 10 for tilt and not the current pin 8.

Please see what you guys can do for me.


Here is the current scetch which I modified to change the pan servo to pin 9


// Importa a biblioteca Servo.h do arduino
#include <Servo.h>

// Cria uma variavel do tipo Servo que será
// o nosso servo.
Servo servo1;

// Array de char que receberá o comando
// via serial
char buffer[4];

// Variavel que identifica quantos
// caracteres foram recebidos, pois só é
// possível receber um caracter por vez
int received;

void setup(){

  // Define o baud rate (taxa de trasmissão) como 9600

  // Atribui o servo ao pino 9 do Arduino

  // Atribui o valor 0 para a variavel received
  received = 0;

  // Na posição 0 do array, atribui o valor '\0'
  // que identifica onde começa o array
  buffer[received] = '\0';

void loop(){

  // Verifica se existe alguma entrada de dados
  // disponivel na entrada serial

    // Salva os caracteres no array a cada iteração
    buffer[received++] =;

    if(received >= (sizeof(buffer)-1)){

	// Imprime na saída serial o valor
	// Apenas para mostrar o valor

	// Converte o valor de "char" para "int"
	int numero = atoi(buffer);

	// Envia o comando para o Servo Motor

	// Zera novamente a variavel
	received = 0;

    // Limpa o buffer da entrada serial



That was the easy part, now I need to add support for an second servo “tilt servo” on pin 10, I can copy the code & buttons from the pan buttons and use them for the tilt buttons, but not sure how to link it to the scetch from the C# app, as the same servo on Pin 9 would probabbly move when I press the Tilt (up/Down Buttons). (See link in above post for source code & original Scetch)
Can anyone please help with this?
Thanks :frowning:

On the VB side, you can use the .NET SerialPort class to open a connection and send bytes. On the Arduino side, use the Serial library (as you have already been doing) to receive the bytes, interpret them, and perform the appropriate actions. --David