3pi Android controlled

Is anyone working on the LightRobot program? (See YouTube video).

I was able to barely get it going, but only the RANDOM movement function works. Lots of entertainment for the cats, but I would love to get help getting it working better. Its 2 massive/complex programs and I was amazed when I got it working a bit.


Hi, Bo.

I am not familiar with the LightRobot. Could you please post a link to the YouTube video?


try google or youtube search

Hello, Bo.

You should really be trying to make it easier for others to help you. In this case, it should be trivial for you to link to the video you are asking about; asking others to do an unnecessary internet search (even a simple one) just to understand your question is extremely off-putting.

- Ben

Well, I was out of town, using my phone instead of computer, also I thought this had been discussed here before by DavidGrayson, but it was his response to my question on the mbed blog. He gave me lots of links/info.

I don’t know how to reference the link on youtube. I searched for Lightrobot. It was done by oier mees, and his code is on github. I contacted him and he doesn’t have any further info to offer now.

I’ll be glad to share what I can remember that I did. :slight_smile: It’s way too deep for me I’m afraid. For now I have to settle for the working random run function, entertaining my cats.

But what exactly do you want to achieve?
You want to control your m3pi with your voice via a smartphone?

Just want to control the critter with my phone. Menu/slides/etc on the phone, and then using the tilt functions on the phone. Voice control will always be WAY beyond anything I can learn at my age. :slight_smile:

Now, I’m Googling for a simple bluetooth terminal app (with source code) that I can P&M (plagurize & modify) to spit out the hex commands to work with the Pololu serial slave program. I think thats about my limit, with my knowledge.

Getting sidetracked with a quadcopter (APM 2.5 Arduflyer) though.

Alright, and do you want to use mbed as well or only ATmega for now?
There are a few examples of BT connection in the internet so you should be able to find it, unfortunately many of them need improvements :stuck_out_tongue:
There is an example app for Android, called BluetoothChat, it’s intended to work with other mobiles, but can be modified to connect with BT modules as well.

When my Android racer is finished I might post it here as well, but it’ll take some time as I have to focus on other app atm :(.

Thanks a bunch for the hint about the BT chat example, I should be able to P&M it.
I’m just using the 3pi & a BT module now, after striking out with the mbed. I couldn’t even get the simple display battery voltage routine to pass the numbers in the correct format with it. I’ll get back to the mbed soon, its kinda nice.


Ah I see, well, you can always ask here so someone could help you :wink:

I prefer to use mbed because of it’s usart interface, you don’t even have to modify any code to controll your m3pi with understandable commands (not singe chars etc:P )

take a look at cookbook for mbed with m3pi:

and you should be able to display the battery voltage in that way:

#include "mbed.h"
#include "m3pi.h"

m3pi m3pi;

int main()
char buffer[8] = {};
  sprintf(buffer, "%.2fV", m3pi.battery());


All you need to do is to program ATmega with the serial slave program:

good luck :slight_smile:

I’ve got an Android program for steering a 3pi over Bluetooth, here: