Nokia n810 (maemo os2008) + micro maestro 6

I am new to this forum,
i had this crazy idea of making a robot from my old nokia n810 pda.
It has maemo os2008 linux loaded.
I activated host mode on USB, loaded cdc-acm.ko module,
then i am able to succesfully connect to maestro 6,
yellow light on maestro turns on, and orange keeps blinking,
/dev/ttyACM0 and /dev/ttyACM1 appear.
But im having problems with servo movement.
In my desktop environment (windows 7) with your control application i can do it just fine.
I tried to code my own control samples in C/C++, for example this simple test:
(servo is attached on target id 1, i am communicating on ttyACM0 but i also tried ttyACM1, im using mini ssc protocol)

#include <iostream>
#include <fstream>
using namespace std;
int main(void)
    fstream micro6;"/dev/ttyACM0",ios::out);
        cout << "Cant open port." << endl;
        return 1;

    cout << "Port succesfully opened." << endl;
    unsigned char set_target[3]= {255,1,255};
    for(unsigned int i=0;i<3;i++) 
        cout << " " << (int)set_target[i];
    cout << endl;
    return 0;

But it does nothing, and i cant find a reason why. I would really appreciate any help.

Hello. The third byte of that command should not be 255. Also, what serial mode is your Maestro configured to be in?


Thanks for your reply, default configuration i would guess.
How can i change the configuration ? I cant use libusb i think there is only version 0.1 available for that device.

To configure the Maestro, you should find a Linux or Windows computer and run the Maestro Control Center on it. There are instructions on how to do this in the Maestro user’s guide. The default serial mode is UART so it won’t listen for commands from USB. You only need to configure it once.


That was it!
Thanks a lot, servos are moving, bright future ahead for my old pda :wink:
( i needed to set dual usb mode and other servo target than 255, \ 200 worked well )
See ya