
PJ_Dtechy
Hello everyone,
I need some assistance in deciding on a drivetrain for my robot project.
I currently have two Roomba 600 series vacuums, which are integrated with an onboard computer via USB and COM port. However, I'm encountering an issue with waking the Roomba from sleep mode. Despite extensive research on various forums, the solutions I've found seem inconsistent. Occasionally, when the Roomba enters sleep mode, it becomes unresponsive to commands, and I have to either remove the battery or let it sit in the dark for a few minutes before it becomes operational again. Initially, I wanted the Roomba to return to its docking station for self-charging, but that’s no longer a priorityI’d prefer for it to always be available for commands.
Additionally, I have a gutted Samsung vacuum, but I'm struggling to identify which pins to use for the onboard encoders. I'm considering replacing its two 12V motors with different motors that have built-in encoders. This change could enhance navigation when paired with a LiDAR C1 and 4-6 ultrasonic sensors.
Alternatively, since I have two Roombas, I could dismantle one and use only the motors and encoders. My goal is to refine self-navigation as much as possible before incorporating additional ultrasonic sensors and other components.
I thought I’d reach out to the forums for feedback and opinions before making a decision. The project is for a TurtleBot-style robot using a circular trash can as the body. I'm not too concerned about retaining the Roomba’s original vacuuming features.
Any advice or suggestions would be greatly appreciated!
Are you sure pulling pin 5 (brc pin) low for 500ms doesn’t power the roomba on?
*edited for correct pin
@DJ By any chance, did you mean pin 5 instead of pin 1, since pin 1 is unregulated +Voltage?
@athena, could you provide me with an EZ script to turn the Roomba on? I'm unsure whether I should be using:
*Note: we edited your post to properly put code in the code tags so it is formatted correctly and readable by others.
DJ was incorrect. The pin to use is pin #5. I will edit DJ's post accordingly to avoid future confusion with search engines.
Your question will confuse Athena because she will attempt to fulfill the request to use PWM. However, you cannot use PWM because that's pulse width and is used for varying voltages. It's best to ask the question using the correct approach to avoid confusing her. In this case, using JavaScript, you will use the Digital.set(port, value) command.
The instructions from the Roomba manual state that you put the pin LOW for 500ms and then return HIGH.
*Note: We provided JavaScript because ezscript is deprecated, contains bugs, and has slow performance. If you have trouble learning JavaScript, we suggest using Blockly, which will generate the JavaScript for you.
This is copied and pasted from the sci manual.
Here is the manual: https://cdn.hackaday.io/files/1747287475562752/Roomba_SCI_manual.pdf
To wake up your Roomba using ARC, you can use JavaScript to control the digital port. Here's a step-by-step guide on how to implement this:
Connect the Roomba to your EZB: Ensure that the Roomba is connected to your EZB via the correct digital port. In this example, we'll use digital port D0.
Use JavaScript in ARC: Open your ARC project and add a script control where you can input JavaScript code.
Implement the Wake-Up Script: Use the following JavaScript code to wake up the Roomba by setting the digital port low for 500ms and then high again.
Note: Ensure that the digital port you are using (D0 in this example) is correctly connected to the Roomba's Device Detect pin (pin #5 on the Mini-DIN connector). This script will simulate the wake-up process as described in the Roomba SCI manual.
If you have any further questions or need additional assistance, feel free to ask!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
I did a factory reset on Roomba ( 600 series) and tried the above. It Work perfectly, thank you.
Woot! that's great
I knew i was on to something. just didn't know if it was correct lol