Driving roomba using an Android phone

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

Re: Driving roomba using an Android phone

Postby mfortuna » March 7th, 2012, 8:49 am

Nice project. Although I don't identify which pins are which, pictures in this thread show how to get TX, RX, and GND off the SCI board connector.

viewtopic.php?f=4&t=10709&start=40

Once you open up roomba you will see a big 3 pin regulator(probably a 7805) where you can grab 5V. I didn't take a picture but that is how I got 5V for the BAM.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby rwb214 » March 10th, 2012, 11:21 pm

rwb214 wrote:I'm working on building one of these: http://hackingroomba.com/projects/build-a-roomba-bluetooth-adapter/


Well I've got this thing assembled according to the plans now and I'm able to pair it with the phone via bluetooth, connect to it in the Android app, Roomba Touch Drive, but the robot does not move. I don't know if it's noteworthy, but I'm using the Bluesmirf Silver (RN-42), a newer version than what was used in the original. Perhaps I need to connect to it with a PC first and set the baud rate? I don't really know where to begin other than checking and rechecking all the connections...
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby vic7767 » March 11th, 2012, 12:08 am

What model Roomba are you using? The 4XX, 4XXX, and Dirt Dog use 57,600, N, 8, 1 while the 5XX, 6XX, and 7XX use 115,200, N, 8, 1.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 10177
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Re: Driving roomba using an Android phone

Postby rwb214 » March 11th, 2012, 7:50 am

I have a dirt dog and another 400 series roomba, and I can't get it to work on either. How do I configure the bluesmirf?
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby mfortuna » March 11th, 2012, 8:04 am

If you have a computer with bluetooth you may need to use a terminal program to change the baudrate. Here is one thread on the subject:

viewtopic.php?f=4&t=15709&hilit=rootooth+baud
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby rwb214 » March 11th, 2012, 12:07 pm

That's what I figured, I have to pick up one of those Bluetooth USB dongles and connect it to my PC. Thanks for the response, I'll come back here after I give that a try.
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby mfortuna » March 11th, 2012, 2:28 pm

I just had a thought. Does Android market have a terminal emulator program for bluetooth? You could do it from your phone if that was the case.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby TechGuy » March 11th, 2012, 3:03 pm

SENA BTerm Bluetooth Terminal
https://play.google.com/store/apps/deta ... sena.bterm

BTW, Google Market has been renamed to Google Play a few days ago.
Cleaning Crew: Scheduler, Roomba Sage 4110 x3, Roomba Red x3, Disco x2, Roomba Original x6, Scooba 5900, Roomba 560, 581, 540, 530
Charging battery directly: 400 Series, 500 Series,. How to Desolder
For Sale: Black CHM 2 Ball Bearings set
User avatar
TechGuy
Robot Addict
 
Posts: 1057
Joined: February 17th, 2009, 11:52 pm

Re: Driving roomba using an Android phone

Postby rwb214 » March 11th, 2012, 3:45 pm

Funny, I just thought of that too and download SENA. I couldn't program myself out of a wet paper bag so could someone please explain to me, very slowly, what I need to do in SENA?

Thanks!
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby mfortuna » March 11th, 2012, 5:01 pm

This quote from vic7767 may be what you need to do:

The Firefly comes loaded with the default baud rate of 115K. The is a configuration time that will timeout after 60 seconds and no other changes will be allowed via input commands. Your first task is to change the Config timer from 60 seconds to forever (255). Power up the Firefly, establish a connection via your PC, type $$$ and receive the CMD prompt. Type in "ST, 255" without the quotes to change the Config timer to always on. Then type "SU, 115" to set the baud rate. Then type "---" to escape the command prompt. Now you should be able to monitor the charging data from your Roomba as I mentioned earlier.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby rwb214 » March 11th, 2012, 8:04 pm

All I get when I run SENA on the Android is something that looks like a command prompt, but it doesn't display anything (text) I enter (even though it is logging it). I was able to do a bluetooth pairing with the rootooth attached to the roomba in SENA and I entered some of the commands listed above, as well as some that I found here: http://www.sparkfun.com/datasheets/Wireless/Bluetooth/BlueSMiRF-v1_1_rev2.PDF . When I go back to the Roomba Touch Drive App it's the same as before.

BTW the RTD app tends to freeze a lot while trying to connect, and has about 10 failed connection attempts for every successful one...
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby rwb214 » March 12th, 2012, 11:23 am

Ok here's my current status tinkering with this thing... I'm figuring out some of the the commands in SENA and Blueterm; D displays the currents status, H displays all the commands. I entered a SU,57 command and that appeared to have changed the baudrate to 57.6 under the status. I then changed the baud rate to raw by entering ZU,57.6 and I started to get the charging data, refreshed every second, from the roomba. I exited SENA, reset the bluetooth connection, connected to it in Roomba Touch Drive, Still no motion from the robot! I thought I had changed the baudrate to 57600... how else can I debug this?
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby vic7767 » March 12th, 2012, 11:59 am

Does the Roomba Android app have any way to set the baud rate?
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 10177
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Re: Driving roomba using an Android phone

Postby rwb214 » March 12th, 2012, 12:27 pm

Also, now I can't replicate whatever I did to make it display the charging info...
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby mfortuna » March 12th, 2012, 1:12 pm

I don't think you need to reset the BT connection when you go from SENA to the driving app. Maybe resetting caused the rootooth to revert to it's original settings? If you look at tht thread I provided a link for you will find a way of saving the settings so they are permanent.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby mfortuna » March 12th, 2012, 1:15 pm

vic7767 wrote:Does the Roomba Android app have any way to set the baud rate?

Good point. Franky added 57,600 support when I mentioned my create didn't work with the original app. I never tested it but it should work fine with your roomba.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
User avatar
mfortuna
Robot Master
 
Posts: 4525
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Driving roomba using an Android phone

Postby rwb214 » March 12th, 2012, 1:27 pm

mfortuna wrote:I don't think you need to reset the BT connection when you go from SENA to the driving app. Maybe resetting caused the rootooth to revert to it's original settings? If you look at tht thread I provided a link for you will find a way of saving the settings so they are permanent.


The Bluetooth connection has been very finniky, I'm finding it necessary to unplug the rootooth, turn off Bluetooth on the android, turn on Bluetooth on android, start the app, plug in the rootooth, and initiate the Bluetooth connection from the android. Then and only then will the android connect to the bluesmirf ...
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby TechGuy » March 12th, 2012, 1:42 pm

rwb214 wrote:...The Bluetooth connection has been very finniky, I'm finding it necessary to unplug the rootooth, turn off Bluetooth on the android, turn on Bluetooth on android, start the app, plug in the rootooth, and initiate the Bluetooth connection from the android. Then and only then will the android connect to the bluesmirf ...


If any application exits without closing the port, that port will be locked until that port is reset.
Last edited by TechGuy on March 12th, 2012, 4:51 pm, edited 1 time in total.
Cleaning Crew: Scheduler, Roomba Sage 4110 x3, Roomba Red x3, Disco x2, Roomba Original x6, Scooba 5900, Roomba 560, 581, 540, 530
Charging battery directly: 400 Series, 500 Series,. How to Desolder
For Sale: Black CHM 2 Ball Bearings set
User avatar
TechGuy
Robot Addict
 
Posts: 1057
Joined: February 17th, 2009, 11:52 pm

Re: Driving roomba using an Android phone

Postby rwb214 » March 12th, 2012, 3:32 pm

TechGuy wrote:If any application exit without closing the port, that port will be locked until that port is reset.


So by "disconnecting", should that close the port? When I do that the LED's on the Bluesmirf indicate that it is visible, but whenever I try to connect to it from another app it doesn't do it. It either shows "connection failed" or the app will just freeze.
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

Re: Driving roomba using an Android phone

Postby rwb214 » March 12th, 2012, 9:07 pm

As my tinkering with this and gaining a greater understanding of it continues, here's where I am with it. When I connect in blueterm on my android, I get the charging info before I enter $$$ to get the command prompt, only if the roomba is plugged in and the battery is charging. That is, on the roomba 4130. The dirt dog does not give me the charging info under the same circumstances. I have changed the baud rate to 57.6 and it holds that setting when I disconnect it,confirm by entering D in the CMD prompt to get the current settings. So the baud rate should match the roomba now, but I still do not get any motion from the roomba from the RTD app. Are there any other settings I should change in Blueterm? Should I reinstall the app? Does the dirt dog have a different protocol than the 4130?
rwb214
 
Posts: 13
Joined: March 6th, 2012, 10:44 pm

PreviousNext

Return to Robotic Hacking

Who is online

Users browsing this forum: a4refillpad, TechGuy, vic7767 and 126 guests