PC control of Roomba 4100

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!

PC control of Roomba 4100

Postby Joefly » December 6th, 2012, 12:57 pm

Hi Guys, I recently ran across a Roomba 4100 at a goodwill shop. I have made up the Din7 cable to connect to my computer using a FT232RL UART serial to USB board. When I turn on the Roomba, I see status text coming from Roomba to my PC. However, that is it! Not further txt, even if I activate the Roomba into clean or engage any sensors.

So my questions is, 1) Am I in full communication mode capable? it seems it if I can able to correctly receive info from the Roomba, unless I have the TX from PC and RX of the Roomba somehow screwed up. But basically does the fact the PC getting the initial status info from Roomba mean that they are correctly connected?

2) There are some mention the need of OSMO on the 4100, How do I confirm if I need it? It seems to me if I am getting status info that the protocol must be at least working.

Basically i am asking if 1) Do I need OSMO 2) hopefully, not, is my wiring to FT232RL correct for wiring the serial communication? 3) How do I get this working!!!


PS. I only have the RX and TX connected, Do I need to connect the DD also. and how since the serial port does not have such as pin.
Thanks guys
Joefly
 
Posts: 1
Joined: December 5th, 2012, 11:23 am

Re: PC control of Roomba 4100

Postby vic7767 » December 6th, 2012, 1:45 pm

If your Roomba has a manufacture date before Oct, 2005 then your robot does not have the open interface firmware and will not respond to the ROI commands published in the pdf SCI document.

You have verified that your PC Rx side is working since you receive info from the Roomba. You can test the Tx by sending the command " 7 " and observe if your Roomba resets and sends the same startup info you have seen.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby mfortuna » December 6th, 2012, 2:54 pm

You don't need the DD pin connected.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5177
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: PC control of Roomba 4100

Postby JamesRonald » April 6th, 2013, 11:52 pm

@ vic7767

You have verified that your PC Rx side is working since you receive info from the Roomba. You can test the Tx by sending the command " 7 " and observe if your Roomba resets and sends the same startup info you have seen.


So does sending the command " 7 " work for Roombas that are Pre Oct. 2005 to verify that serial commumications are working. Also when you say command "7" do you mean ACSII 7, 0x07 or something different. BTW, I just purchased a Roomba scheduler to update the firmware on a Roomba Red 4100 and Discovery to get SCI ROI capibiliies which didn't work. :( I saw you post regarding such not working eariler tonight. I will probably be renting a OSMO from you soon (I contacted you eariler this week). With the OSMO being so rare, I would think that someone would create a PC application that could do the same.

- Jim
JamesRonald
 
Posts: 3
Joined: April 6th, 2013, 11:07 pm

Re: PC control of Roomba 4100

Postby vic7767 » April 7th, 2013, 12:59 am

It would be the number 7. You can send it to the Roomba using RealTerm or TeraTerm. Also the reset command is not a documented command, is not one of the Open Interface commands commands provided with 2.1 fimware or via the OSMO Hacker device.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby mfortuna » April 7th, 2013, 1:34 am

The OSMO is proprietary. Irobot is the only source for a PC app and I doubt they are ever going to do one.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5177
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: PC control of Roomba 4100

Postby JamesRonald » April 7th, 2013, 11:11 am

@vic7767

Thanks! That seemed to work great :D . The Roomba seems to reset or such upon receiving the command and emits the follow message:

Roomba by iRobot!
MC9S12DP256
2005-04-21-1834-L

I guess this confirms that both the TX and RX paths on the Roomba are working and were not toasted by a prior robot club member.

Our plan is for the club to have a number of Roombas with Raspberry Pi computers installed and doing interesting things for The Detroit Maker Faire.

I will contact you via email regarding renting an OSMO device once we can identify which Roombas will require the firmware update.

Thanks again.
James Ronald
www.MiRobotClub.com
JamesRonald
 
Posts: 3
Joined: April 6th, 2013, 11:07 pm

Re: PC control of Roomba 4100

Postby vic7767 » April 7th, 2013, 1:40 pm

No problem, right now both OSMOs are back home in the shop awaiting their next assignment.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby Z0rb » November 29th, 2013, 10:40 pm

Hello All,

I am new to the forum but have come across it a few times while researching how to interface with my Roomba 4110 Sage.

I have spliced together a cable for the Roomba using an old PS2 keyboard cable and am able to receive data coming from the Roomba but am apparently unable to transmit any data to it. I am currently in the process of getting the firmware upgraded once the OSMO comes in the mail. I tried Vic's trick of sending a "7" to the Roomba to reset it and do no see any results.

I am sure that the data is getting to the end of the cable, however the PS2 cable does not have any grounds other than the shielding. Does the RX line on the Roomba explicitly need one of the ground pins to be hooked up?

Please advise
And thanks
Mike T.
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Re: PC control of Roomba 4100

Postby vic7767 » November 29th, 2013, 11:07 pm

The PS2 connector needs the gnd pin from the Roomba 7-pin mini din connector wired so that the PC shares the Roomba gnd.

You can also test the Xmit lead is sending by shorting the T & R leads together and watch the output using a terminal program. What you type will be displayed on the screen.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby mfortuna » November 30th, 2013, 8:35 am

How did you make this cable? If you connected the PC serial port directly to the roomba it will not work. You need to shift the RS232 levels to TTL levels. I could almost see were you might get RX data since you will see a 0 to 5 volt level.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5177
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: PC control of Roomba 4100

Postby Z0rb » December 4th, 2013, 9:09 pm

Well I just received my Osmo smoke in the mail and I hooked it up to the Roomba. It appears to have upgraded as best as I can tell. Status light flashed for approx 90 seconds and then went solid. However I am still having difficulty interfacing the Roomba.

My set up is as follows.

My PC is running realterm. I have a USB FTDI interface that appears as COM10 and the connections are TTL level serial voltages. I believe I have all the pins hooked up correctly Pin 7 going to ground, Pin 4 going to FTDI Rx, and pin 3 going to FTDI Tx.

When I power the Roomba on I see serial data coming in. It looks like a build date and some numbers. If I pop the battery out and back in it shows an iRobot greeting. The problem I have is when I try to send data. Nothing seems to work. I can see the Tx light flash on the FTDI but anything I send just seems to be ignored by the Roomba. A Hex 07 seems to lock it up.

Does anyone have any suggestions? Could the voltages on the FTDI need to be inverted perhaps? I am under the impression that the connection to the FTDI might be a problem since it appears that the OSMO Hacker worked fine.

Please help
Thank You
Mike T.
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Re: PC control of Roomba 4100

Postby vic7767 » December 4th, 2013, 9:45 pm

I use a USB/TTL cable with gnd, Rx, and TX into a 7 pin mini din connector. It uses a PL2303 driver and works with the Roomba, all models with the Open Interface.

You should be able to send the single character 7 which will shut down the Roomba and then reset the MCU. Then you should receive the startup data.

When you try sending commands to the Roomba it should be powered on.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby mfortuna » December 5th, 2013, 8:02 am

Do what vic7767 suggested earlier. Connect RX to TX on the FTDI and make sure you get data back when using realterm. If that works then it is an issue with the robot.

When you get the power up message make sure the firmware date is oct 2005 or greater. If so, it should support SCI.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5177
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: PC control of Roomba 4100

Postby Z0rb » December 5th, 2013, 7:08 pm

Hello All,

Ok this is how far I have gotten. The Roomba is in a state where I popped the battery out and then reinserted it.

I have Roomba pins 6 & 7 going to ground on the FTDI, I have Roomba pin 4(Tx) going to FTDI(Rx), I have Roomba pin 3(Rx) going to FTDI(Tx), finally I have FTDI CTS going to GND even though I am not using flowcontrol.

When I pop the battery in I get the following text from Roomba

bl-start
2004-06-15-1450-L
Roomba by iRobot!
MC9S12DP256
2005-10-04-1308-L
battery-current-quiescent-raw 523 battery-current-zero 509

2005-10-04-1308-L

processor-sleep


I hit the power on button and then power off and get this

key-wakeup
slept for 0 minutes 523 ticks

2005-10-04-1308-L
battery-current-quiescent-raw 524 battery-current-zero 510


When I send an ASCII character 07 I get

processor-sleep


Now if I analyze this I am pretty sure that "bl-start" means boot loader start.

Does "2004-06-15-1450-L" reflect the assembly date of my Roomba?

And after the message "Roomba by iRobot!" what does "MC9S12DP256" mean?

Does this more recent date of "2005-10-04-1308-L" reflect the firmware date, meaning that the OSMO HACKER flash installed correctly on my Roomba?

I then tried to send an ASCII 128 and a few others and could not get the Roomba to produce anything.

Can anyone advise and answer these questions, it would be much appreciated
Thanks Everyone
Mike T.
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Re: PC control of Roomba 4100

Postby vic7767 » December 5th, 2013, 8:30 pm

The ASCII 07 may be messing up the interface. Just send a 7 after powering on the Roomba. The Roomba should reset and send the complete bootloader ASCII string of characters that you have already seen in your last post.

Also disconnect all leads other than Gnd, Rx, and TX.

And go here: http://www.pololu.com/docs/0J23
and download the free serial transmitter application that you will be able to use for further testing.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby Z0rb » December 5th, 2013, 8:40 pm

I'll give that a try. Any thoughts on the firmware upgrade being successful? Those number looked like dates to me
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Re: PC control of Roomba 4100

Postby vic7767 » December 5th, 2013, 8:47 pm

Yes it is the date that the OSMO was loaded with the firmware. The other long number is the Micro-controller id and the chip has 256 kbytes of memory. Roomba CPUs back then came with either 128k or 258k of memory thus the need for two different hacker OSMO devices.

I performed an edit on my earlier post and added a URL that points to a terminal program that you can use to send commands to your Roomba.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

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

Re: PC control of Roomba 4100

Postby Z0rb » December 5th, 2013, 8:54 pm

Perfect, I was looking for a simpler program to send bytes. Thanks!
I'll give everything a try. Thanks again
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Re: PC control of Roomba 4100

Postby Z0rb » December 5th, 2013, 9:14 pm

Wow that program made things A LOT easier. Thanks Again. I realized that the issue I was having was that I was not sending the correct set of commands. I was sending a 128 132 when I needed to send 128 130 132. Once I did that everything fell right into line.
Time to break out the 7805 and Bluetooth mate and give this guy some autonomy

Thanks again
Mike T.
Z0rb
 
Posts: 6
Joined: November 29th, 2013, 10:34 pm
Location: Joisey

Next

Return to Robotic Hacking

Who is online

Users browsing this forum: gapone, neato, peswe, susantx3 and 138 guests