Asked — Edited

How To Connect Ezb To A Create 2

I have been looking on the forum for a wiring tutorial for the ezb and create 2. There are a lot of ideas and very complicated ideas that seem to work but no simple tutorial to connect ezb to a create 2.

Please let me know if there is a tutorial or can you provide me with one.

Thanks,


ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

#105  

@Nink, I had looked into the Virtual walls/lighthouse but for some reason I could never get my Roomba to pick up their codes through the IR sensors. I tried several. Not sure if this would also require a remote person to turn them on as I assume they turn off to save the battery

However, I could read the docking IRs through the Omni, right and left sensors.

I was thinking about writing some code to use a dock as a buoy and pass near it on my way to a final destination... e.g. see Green followed by Red as I pass by on the way out then Red followed by Green on the return

anyway, just kinda for fun awaiting SLAM

BTW, one problem your separate battery and charger solution solves is that Roomba battery will run down if the Roomba is docked with a bigger load than just the Roomba circuitry.

The trickle charger on the Roomba does NOT sense the drop in voltage due to the additional load. In fact, the Roomba OI reports current flowing out of the battery under trickle charge when the EZB is connected!

The only way to get the charger to go back into a sustained fast charge if the battery drops is to send a reset (7) command after the battery drops to about 15.5v

Frank

#106  

Frank,

Ran multi meter back to the contact point on board. Checked ok back to board.

And you are correct, a lot of work to get back there.

Jack.

#107  

If you ever wondered how to find out the firmware version of your Create 2 or Roomba 500/600, here is some info from the iRobot® Create® 2 Open Interface (OI) specification.

www.irobot.com/~/media/MainSite/PDFs/About/STEM/Create/create_2_Open_Interface_Spec.pdf

Quote:

NOTE: To determine the firmware version on your robot, send a 7 via the serial port to reset it. The robot will print a long welcome message which will include the firmware version, for example: r3_robot/tags/release-3.3.0.

If you have the iRobot Communication Cable for Create-2

store.irobot.com/default/parts-and-accessories/create-accessories/communication-cable-for-create-2/4466502.html#start=3

You can connect it from your Create 2 to your Windows laptop and load the free terminal tool called PuTTY

www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Configure PuTTY to use your Windows COM port and pick 115200 as the baud rate rest of settings are fine Reset your Create 2 by holding BOTH the Spot and Dock buttons for 10 seconds to reset it. When it reboots, PuTTY will display the welcome message

If you prefer to use EZB Controller to do the above, you could write a script to send the Reset (7) command and read the welcome message

I haven’t yet received an answer from the iRobot Create 2 group on what the correct version is nor how to get an update. They directed me to the non-iRobot site for answers on these types of questions

User-inserted image

Here are the versions I found on my Create 2 and my Roomba 650 \r\nr3-robot/tags/release-stm32-3.5.4:6058 \r\nr3-robot/tags/release-stm32-3.7.5:6216

I've not seen any operational difference between them

Frank

#108  

@rbonari, I'm looking into using your idea of a relay across the Clean button contacts because I've found the Clean button to be something that always works.

However, I found a strange case where the Clean button doesn't work. Can you confirm this on your robot?

  1. Back the robot out of the dock by pulsing the Clean button relay

  2. As the robot starts the cleaning cycle, stop it by using the Movement Panel Stop, not the Clean button relay

On my robot, the clean button no longer functions, but the OI to the EZB is still working.

Thats really not a problem, because I can still use the Movement Panel to move the robot around and even dock it

If you really want the Clean button relay to have control again, just send a Stop (173) command which turns off the OI and allows the Clean button to work again

Thanks, Frank

#109  

Per a great suggestion from @ptp, I’m testing using IR to wake the Create 2 from its slumber while trickle charging on a dock.

From my past posts, you are probably aware this is a major problem for any Roomba based telepresence robot, i.e. removing the need for someone on the remote end to push the Clean button to start the Roomba so that it can be remotely controlled

I purchased a standard Roomba IR Remote and added a relay that the EZB controller can activate. I can happily report that it DOES indeed wake a sleeping trickle charging Roomba on its dock. In fact, it does acts very similar to pushing the Clean button.

User-inserted image

By using this technique, you would NOT have to disassemble the Roomba to add a relay across the Clean button contacts. You could clean up this mod by replacing the IR remote with an Arduino board with a IR LED and software.

User-inserted image

However, I need to warn you about a couple of non-show stopping issues. The IR remote acts similar to the Clean button but not exactly the same. A short press on the Clean button turns on the green LED and a second short press starts the cleaning cycle. A long press has no effect. Short presses can be used to interrupt and restart the cleaning cycle

On the IR remote, a short pulse (500ms) will do nothing while docked, but a single long pulse (> 1500ms) will start the cleaning cycle. You can interrupt the cleaning cycle and restart the cleaning cycle with short pulses. Long pulses just seem to toggle the green LED.

One more thing If you choose to stop the cleaning cycle using the OI movement commands from the EZB controller, which is what we really want to do for a telepresence robot, the IR pulses will no longer be able to control the Roomba. If you wish to regain control via IR, you must send a Stop (173) command

It sounds confusing, but wit works well and finally provides a means to remotely awaken a sleeping trickle charging Roomba for a telepresence Use Case

Frank

PRO
Canada
#110  

Very cool, Glad you worked out a way to make it work without having to mod the Roomba. I ordered a broadlink adapter a while ago and it just arrived in mail today. I purchased it to control remote for pico projector and other IR RF devices. Hopefully I can program it with the Roomba remote and then use it also to turn Roomba on and off

Great idea @ptp. Thanks for testing it out @frank

User-inserted image

#111  

Well... I've got some good news and some bad news...

I've had some email discussions with the iRobot STEM Program Manager and the good news is that I now know what the pulsing BRC line didn't work... the bad news that is was never designed to work while the Roomba is docked! Even though the spec didn't point that out.

A means to remotely wake a sleeping Roomba is critical to a telpresence robot where no local power-on action manual intervention is desired.

Here are sections of the iRobot® Create® 2 Open Interface (OI) Specification based on the iRobot® Roomba® 600 www.irobot.com/~/media/MainSite/PDFs/About/STEM/Create/create_2_Open_Interface_Spec.pdf

User-inserted image

On closer reading of the above, I began to wonder why iRobot would be concerned about saving battery power on a docked charging Roomba? It turns out, they weren’t! This section was meant to only apply to an UNDOCKED Roomba according to discussions I had with their STEM Program manager!

It turns out that there is yet ANOTHER power saving mode on Roombas that iRobot says was mandated to pass environmental tests, namely Reduced Power Standby Mode. Other than my discussions with iRobot, the only reference I had ever seen to this mode was for Wi-Fi based models such as the 690 or 890 but it also applies to wired 600 series

homesupport.irobot.com/app/answers/detail/a_id/10221/~/what-is-reduced-power-standby-mode%3F

User-inserted image

Here is how I tested their solution: Dock the Roomba with charger Hold BOTH the Spot & Dock buttons for 10 seconds and listen for the reset song The OI should be responding until the Reduced Power Standby Mode kicks in o Wait for the OI to stop responding ( this could take some time depending on battery charge state) o If Roomba is in Fast charge mode, you will need to wait for trickle charge to occur Hold ONLY the Spot button for 15 seconds o The should be a descending tone song o Send a Start (128) command o The OI should be available for movement commands

But this didn't seem that have any advantage over a Clean button push

On top of all this, I have found that a sleeping docked Roomba will wake up every 4-5 minutes a post a message about battery status that looks like this

bat: min 530 sec 6 mV 16393 mA 758 tenths-deg-C 287 mAH 2696 state 19 mode 6

but I haven't foudn a way to use that post to send OI commands

My suggestion to anyone building a telepresence based Roomba to not try to remootely wake a docked Roomba using the OI but instead to rely on ONE of these techniques to activate the Clean button via the EZB controller:

  • add a servo to push the Clean button
  • add an IR sender mounted on the Roomba
  • add a relay across the contacts

I have searched various DIY Roomba sites and noone has an OI soluion and iRobote confirms this behavior is by design

Frank