In case of trouble, call strace

A project log for Shark Robot Vacuum Reverse Engineering

Reverse engineering the Shark RV1001AED series Robot Vacuum

Jon SteelJon Steel 06/14/2022 at 05:580 Comments

Using Ghidra to look over the files of the OEM partition, it seems the **REDACTED** application is central to the Visual and Odometry navigation. Data from the RVC_Base is piped in to **REDACTED** through /dev/ttyS0. Trying to use a USB to serial adapter connected to the traces on the RVC_Base that I anticipate are the same as ttyS0, I was met with unformatted junk that seemed to have string contained within that also would escape the terminal. Oddly enough, there was occasionally legible ascii string.

Trying to figure out how I can make sense out of that mess, I stumbled across strace, and how to use it to parse serial data within an application.

The information that I collected was inspiring! The problem I have is that I have only the mainboard for this robot vacuum, and the robot vacuum I do have has fewer sensors than what the new board uses. 

This seems to be causing the board to enter an error state soon after boot that just ends up being a loop.

So I have on the way an appropriate fully functional robot of the correct model to experiment further.

Here is a sample of the output from the ....

Sorry, this content has been removed due to the lawyers at SharkNinja...